관계 대수: 확장된 관계 연산자

조창훈·2023년 9월 21일

데이터베이스-SQL,DB

목록 보기
7/10

외부 조인(Outer Join, ⟗)

정의

  • 조인할 양쪽 릴레이션에서, 조인 결과에 포함되지 않는 투플도, 대응하는 투플의 속성값을 모두 NULL 값으로 만들어 결과에 포함함

종류

  • left(outer) join : 왼쪽 릴레이션의 모든 투플들이 결과에 포함
  • right(outer) join : 오른쪽 릴레이션의 모든 투플들이 결과에 포함
  • full(outer) join : 두 릴레이션의 모든 투플들이 결과에 포함

내부조인과의 차이점

내부조인

  • 양쪽 테이블에서 서로 교집합인 부분만 이어붙여서 조인 결과에 포함됨

외부조인

leftJoin
  • 왼쪽 테이블에 있는 값들은 모두 포함시킴. 오른쪽 테이블의 속성에 해당하는 값은 널로 처리함.
rightJoin
  • 오른쪽 테이블에 있는 값들은 모두 포함시킴. 왼쪽 테이블의 속성에 해당하는 값은 널로 처리함.
fullOuterJoin
  • 양쪽 테이블에 있는 값들을 모두 포함시킴

그룹 연산과 집계 연산

그룹 연산(group operator)

  • 기준 속성 값이 같은 투플끼리 그룹핑함
  • 생성되는 그룹의 개수는 연산 전에 알 수 없음
  • 예 : GROUP학년(학생) - 학년으로 학생을 그룹핑
  • 통계 처리를 위한 전처리 작업인 그룹핑을 unary operator로 표현함

집계연산(aggregate operator)

  • 기준 속성 값에 대해 통계치를 계산함
    • COUNT, SUM, AVG, MIN, MAX, STDDEV, VARIAN
  • 예 : AVG성적(등록)
    • 등록 테이블에 있는 성적의 평균 값 계산
  • 주의
    • 기준 속성에 NULL 값이 들어있는 투플은 계산에서 제외
    • 기준 속성에 중복값이 있는 투플도 계산에 포함
  • 통계 처리 기능을 unary operator로 표현함

일반 형식

  • (AGG)B(GROUPa(exp))
    • exp : 관계 대수식(결과는 릴레이션)
    • GROUP : 그룹연산
    • AGG : 집계연산
    • A : 그룹 연산의 기준 속성
    • B : 집계 연산의 기준 속성

결과

  • 먼저 그룹 연산을 적용한 후, 각 그룹에 대한 집계 연산을 적용
  • 그룹의 개수만큼 투플이 생성됨

  • AVG나이(GROUP학년(학생)) : 학년별 학생의 평균나이
  • AVG기말성적(GROUP학수번호(학생)) : 과목별 기말 평균성적

작명 연산(RENAME,𝛒 : rho)

  • 복잡한 관계 대수식을 표현하기 위해서,
    중간 결과 릴레이션에 이름을 붙이고, 그것의 속성 명칭을 변경

일반 형식

  • 𝛒R(exp) : 관계 대수식 exp의 결과 릴레이션의 이름을 R로 정함
  • 𝛒R(A1,A2,...,An)(exp) : 관계 대수식 exp의 결과 릴레이션의 이름을 R로 하고, 속성명을 수정하여 저장함
profile
초전도-개발자의 길

0개의 댓글