대학 전공 공부/데이터베이스1

2. 관계형 데이터 모델<하>

Xerath(제라스) 2022. 4. 24. 22:39
728x90
반응형

- 관계 대수(Relational Algebra) : 관계형 데이터 모델의 일부. 관계, 제약 사항에 대한 연산을 제공함.

→RDBMS는 관계 대수를 직접적으로 사용자에게 지원하지 않는 대신, SQL언어를 지원함.

 

 

1. 선택 연산(Select Operation) →  σ(시그마)

: 주어진 조건을 만족하는 tuple들을 선택하는 연산.

 

2. 투영 연산(Project Operation) → π(파이)

: 주어진 속성들을 선택하는 연산으로 '중복된 tuple들은 제거됨'.

 

3. 합집합 연산(Union Operation) →

: 주어진 속성들의 개수와 그 종류가 동일(도메인이 상호 호환적인)한 table끼리만 가능한 연산으로 일반적인 합집합 연산.

 

4. 차집합 연산(Set Difference Operation) → -

: 주어진 속성들의 개수와 그 종류가 동일(도메인이 상호 호환적인)한 table끼리만 가능한 연산으로 일반적인 차집합 연산.

 

5. 카티시안곱 연산(Cartesian Product Operation) → X

: 두 table 간의 곱 연산. 다음과 같은 결과가 나옴.

이때, 속성의 개수와 tuple의 개수는 다음과 같다.

 

6. 재명명 연산(Rename Operation) → ρ(rho)

: 단순히 테이블 이름, 속성 이름을 변경하는 연산.

 

⌞관계명만 변경 시엔 X만 작성 ok. 속성명만 변경 시엔 X(A1, A2,...)처럼 관계명, 모든 속성명 작성해야 함.

 

----------------------------------------------이후는 확장 관계 대수-----------------------------------------------------

[확장 관계 대수는 기본연산을 통해 표현이 가능하다. 기본 연산의 경우엔 다른 연산으로 표현이 불가능하다.]

 

 

7. 할당 연산(Assignment Operation) →  ←

: 복잡한 질의문을 작성할 때 중간 결과 표현을 임시로 저장하게 해주는 연산.

 

8. 교집합 연산(Set Operation) 

: 속성의 개수, 속성의 종류, 그 값들이 동일한 tuple을 뽑아내는 연산. 다음과 같은 결과가 나옴.

9. 자연 조인(Natural Join Operation)→

: 카티시안곱 -> 선택 연산 -> 투영연산을 차례로 진행하는 연산. 결합법칙, 교환법칙이 모두 성립됨.

조인은 크게 내부 조인 / 외부 조인으로 나뉨.

- 내부 조인

1) 세타 조인 : 가장 일반적인 조인으로 조인 조건이 무엇이든 가능.

2) 동등 조인 : 세타 조인 중에서 조인 조건은 동등 조건만으로 구성되어야 함.

3) 자연 조인 : 동등 조인 중에서 조인 조건이 조인 결과에 한번만 나타나야 함.(ex) r.pID, s.pID 둘 다 나타나는 게 아니라 pID 하나만 나타나는 조인임.)

- 외부 조인

1) 자연 왼쪽 외부 조인 : 왼쪽에 오는 입력 관계의 모든 tuple들이 결과에 나와야 하고, 해당 tuple들에 없는 오른쪽 관계의 속성은 모두 null값으로 사용함.

2) 자연 오른쪽 외부 조인 : 오른쪽에 오는 입력 관계의 모든 tuple들이 결과에 나와야 하고, 해당 tuple들에 없는 왼쪽 관계의 속성은 모두 null값으로 사용함.

3) 자연 완전 외부 조인 : 왼쪽, 오른쪽 외부 조인을 합쳐놓은 연산.

 

10. 나눔 연산(Division Operation) → ÷

: 설명은 다음 그림으로 함.

이때, R(A,B,C,D,E) ÷ S(D,E,F)와 같이

relation의 속성 값들이 어느 한 쪽이 다른 한 쪽에 포함되는 관계가 아닌 경우엔 연산이 불가능!

 

- 질의문에 'for all'이 포함된다면 나눔 연산으로 풀는게 좋음.

ex) r(studentID, courseID) ÷ s(courseID) 

→ s table에 포함된 모든 courseID를 수강한 studentID를 찾음.

 

728x90
반응형