Relational Algebra

Sumin Kim·2022년 10월 19일
1

✔ Database

목록 보기
4/4
post-custom-banner

질의 결과도 릴레이션임

단항 관계 연산

SELECT, PROJECT

  1. SELECT ( σ )
    • 릴레이션에서 어떤 선택조건 c를 만족하는 투플들을 선택
    • σc(R)
    • 결과 릴레이션은 r(R)의 투플 중 attribute 값들이 조건 c를 만족하는 투플들로 구성
  2. PROJECT ( π )
    • 릴레이션에서 attribute 리스트 L 에 명시된 attribute 만 선택
    • πL(R)
    • 결과 릴레이션은 L에 명시된 R의 attribute 들만 가짐
    • 중복된 투플들은 제거
    • L 이 R의 super key 일때
      • |πL(R)| = |R|

집합이론과 관계 대수 연산

  1. 합집합, 교집합, 차집합
    • 피연산자 릴레이션은 attribute 갯수가 동일하고 대응되는 attribute 들의 domain이 호환성을 가져야함
    • dom(Ai) = dom(Bi)
    • 결과 릴레이션은 피연산자 릴레이션 R1 과 동일한 attribute 이름들을 가짐
  2. 카티션 곱 연산
    • 두개의 테이블에서 각각의 튜플들을 서로 결합하여 하나의 튜플을 구성하면서 가능한 모든 조합의 튜플들을 생성
    • R1이 n1개의 투플을, R2가 n2개의 투플을 갖는다면, R은 n1xn2 개의 투플을 가짐
    • select 연산과 함께 사용되면 두 릴레이션에서 서로 관련이 있는 투플들을 생성하는데 사용

이항 관계 연산

조인연산, 동등 조인과 자연 조인

  • 조인연산
    • 관련있는 투플을 결합하여 하나의 투플을 생성
    • 카티션 곱은 모든 가능한 조합에 의해 튜플을 생성하지만, 조인은 특정조건을 만족하는 튜플만 선택
    • <테이블이름1>⋈{조건식}<테이블이름2> == σ{조건식}(<테이블1>x<테이블2>)
    1. Theta Join
      • 일반적인 조인조건을 가진 조인연산
      • 동등연산
        • 조인조건에서 동등비교만을 사용하는 조인
    2. 자연 조인 ( * )
      • 두 테이블에서 같은 이름을 갖는 필드들에 대한 동등조인
      • 조인 결과에서 중복필드 중 하나를 제거하는 연산
      • 동등조인의 결과에는 두 조인 속성의 값이 중복되어 나타나는데 이런 중복값을 하나로 합친 것이 자연조인
      • 조인 attribute들이 양쪽의 릴레이션에서 동일한 이름을 가져야하고 그렇지 않으면 이름부터 동일하게 변경해야함
  • 최소한의 연산자 집합
    : SELECT, PROJECT, UNION, SET DIFFERENCE, CARTESIAN PRODUCT

추가적인 관계 연산

  1. 디비전 연산
    • 모든 ~~ 이라는 조건이 주어지면 일단 의심해봄
    • R(Z) ⊆ S(X)이면, X ⊆ Z이고, Y = Z–X 임
       T1 = πY (R)
       T2 = πY ((S × T1)–R)
       T = T1– T2
  2. 집계함수와 그룹화연산
    • 집계함수
      • sum, count, average, min, max
      • 표준관계대수로 표현할 수 없음
    • 그룹화 연산
      • < grouping attributes >J< aggregate function list>(R)
  3. 순환적 폐포 연산
    • 동일한 테이블에서 투플간의 순환적 관계를 질의하는데 사용
    • 관계대수로서 표현할 수 없음
    • Looping 을 사용
  4. 외부 조인 연산
    • 조인에 참여하는 릴레이션의 모든 투플들이 조건만족의 여부와 관계없이 결과 릴레이션에 나타내고 싶은 경우 외부조인을 사용
    • 대응되는 투플이 없으면 빈 attribute들에 NULL 값을 채워 포함
  5. 외부합집합
    • 호환성이 없는 두 릴레이션을 합집합하는데 사용
post-custom-banner

0개의 댓글