[DB] 관계 데이터 모델 기초
- [ CS기초 ]/데이터베이스
- 2022. 9. 17.
키
- 키: 특정 튜플을 식별할 때 사용하는 속성(의 집합)
- 슈퍼키: 유일성을 가진 속성(의 집합)
- 후보키: 유일성&최소성을 가진 속성(의 집합)
- 기본키(pk): 후보키 중 대표로 삼는 하나의 키
- 대리키(pk): DBMS가 임의로 생성하여 사용하는 기본키
- 외래키(fk): 다른 릴레이션의 기본키를 참조하는 속성
관계대수
1. 셀렉션: 릴레이션에서 조건에 맞는 튜플을 추출하는 연산
2. 프로젝션: 릴레이션의 속성을 추출하기 위한 연산
3. 합집합: 속성이 동일한 두 릴레이션을 합침. 동일튜플 존재시 하나만 표시한다.
4. 교집합: 합병가능한 두 릴레이션이 공통으로 가지고 있는 튜플을 반환
5. 차집합: 첫번째 릴레이션에는 속하고 두번째 릴레이션에는 속하지 않는 튜플을 반환
6. 카티전 프로덕트: 두 릴레이션의 모든 카디널리티를 곱해서 새로운 릴레이션을 만들어 반환.
7. 조인
- 내부조인
+ 세타조인: 두 릴레이션의 속성값을 비교(==, !=, <, ...)하여 조건을 만족하는 튜플만 반환.
+ 동등조인: ==조건을 사용한 세타조인
+ 자연조인: 동등조인에서 속성의 중복을 제거 (=내부조인)
+ 세미조인: 자연조인을 한 후 두 릴레이션 중 한쪽의 결과만 반환. 기호의 닫힌 쪽 튜플만 반환한다. (⋉:왼쪽 릴레이션의
튜플만 반환)
- 외부조인: 자연조인시 조인에 실패한 튜플을 모두 보여주는데 값이 없는 대응 속성에는 null값을 채워서 반환. 이때 모두
보여주는 쪽이 어디인지에 따라 왼쪽/오른쪽/완전 외부조인으로 나뉨
8. 디비전
- R/S는 S의 속성값을 전부 가지는 R의 속성의 집합. 말로 하면 어려운데 그림으로 이해하면 쉽다.
ex) R/S : R에서 S가 가진 속성값 B=b1을 갖는 튜플들을 모아놓은 것. 근데 여기서 B속성은 제외하고 표시하는 것 같음
'[ CS기초 ] > 데이터베이스' 카테고리의 다른 글
[DB] 트랜잭션, 동시성 제어, 락 (0) | 2023.02.08 |
---|---|
[DB] SQL문 문법 정리 - DML (0) | 2022.10.12 |
[DB] 데이터베이스 개념 (1) | 2022.09.10 |
[DB] 트랜잭션 격리 수준 (0) | 2022.07.18 |
[DB] JOIN (0) | 2022.01.04 |