프로그래밍/Database

[Database] 순수관계 연산자란? (3)

미냐님 2020. 4. 6. 20:43
728x90

 

확장 조인 연산

 

외부조인 (Outer Join)

  • 자연조인의 확장된 형태
  • 자연조인시 조인에 실패한 투플을 모두 보여주되, 값이 없는 대응 속성에는 NULL값을 채워서 반환
  • 모든 속성을 보여주는 기준 릴레이션의 위치에 따른 분류
  • 왼쪽 외부조인
    • 질의 1 : 주문내역을 고객 기준으로 작성하되 주문내역이 없는 고객도 표시하시오

    • 질의 2 : 주문내역을 기준으로 현황을 파악하되 고객릴레이션에 고객아이디가 없는 주문도 모두 표시하시오.

    • 질의 3 : 주문내역이 없는 고객과 주문의 고객아이디가 고객 릴레이션에 없는 경우도 모두 표시하시오

세미조인 (Semi Join)

  • 자연조인을 한 후 두 릴레이션 중 한쪽 릴레이션의 결과만 반환
    • 기호에서 닫힌 쪽 릴레이션의 투플만 반환
  • 세미조인 종류
    • 질의 1 : 고객중에서 주문 내역이 있는 고객의 정보를 찾으시오.

관계대수의 복합사용 예

  • 관계대수식은 여러 연산자들을 복합하여 사용하는 경우가 많다
    • 카디션 프로덕트 단독으로 사용하면 의미 없는 결과를 반환 => 프로젝트과 셀렉트 연산과 조합
  • 연산의 우선 순위
    • 왼쪽에서 오른쪽으로 순차적으로 처리
    • 우선 처리하여야 하는 연산은 ( )를 사용

셀렉트 + 프로젝트 + 집합 연산

  • 질의 : 서점의 도서 중 가격이 10,000원 이하인 도서이름과 출판사를 찾으시오
  • 질의 : 두 서점의 도서 중 가격이 10,000원 이하인 도서이름과 출판사를 찾으시오

카디션 프로덕트와 조인을 사용한 연산 비교

  • 질의 : 홍길동 고객의 거래 내역중, 주문번호와 제품코드, 가격을 추출하시오
    (2)조인을 사용한 연산
  • (1) 카디션 프로덕트를 사용한 연산
728x90