1. 관계 데이터 모델의 개념
기본 용어
- 속성 (Attribute)
- 튜플 (Tuple)
- 릴레이션의 '행'
- a.k.a 인스턴스, 레코드, 등등..
- 도메인 (Domain)
- 속성 하나가 가질 수 있는 값의 범위
ex) 등급 -> vip, gold, silver, bronze; 나이 -> INT; 이름 -> VARCHAR(20) 등..
- 널 값 (NULL)
- 차수 (Degree)
- 카디날리티 (Cardinality)
- 하나의 릴레이션에서 튜플의 전체 갯수
릴레이션과 데이터베이스의 구성
- 릴레이션 스키마: 릴레이션의 이름과 모든 속성의 이름으로 정의한 릴레이션의 논리적 구조
- ex) 릴레이션이름(속성1, 속성2, 속성3...)
- a.k.a. Relation Intension
- 릴레이션 인스턴스: 릴레이션의 튜플의 집합
- DB 스키마: 릴레이션 스키마의 집합
- DB 인스턴스: 릴레이션 인스턴스의 집합
릴레이션의 특징
- 투플의 유일성: 같은 투플은 존재하지 않는다.
- 투플의 무순서: 투플에는 순서가 없다.
- 속성의 무순서: 속성에는 순서가 없다.
- 속성의 원자성: 속성값은 더 분해할 수 없는 하나의 값만 가질 수 있다.
키의 종류
- 슈퍼키 (Superkey)
- Set of all combination of attributes that satisfies uniqueness of each row
- 후보키 (Candidate Key)
- Set of smallest combination of attributes that satisfies uniqueness of each row.
- 기본키 (Primary Key)
- 각 Tuple을 구성하기 위해 사용하는 속성
- 조건:
- NULL 값을 가져서는 안됨
- 자주 바뀌면 안됨
- 단순하고 짧으면 바람직함.
- 대체키 (Alternate Key)
- 외래키 (Foreign Key)
- 다른 릴레이션의 기본키 중 다른 어떤 릴레이션의 속성이 되는 키
관계 데이터 모델의 제약
- 개체 무결성 제약 조건 (Entity Integrity Constraint)
- Primary Key는 NULL일 수 없다.
- 참조 무결성 제약 조건 (Referential Integrity Constraint)
- Foreign Key는 참조할 수 없는, 또는 존재하지 않는 값을 가질 수 없다.
-> CRUD Operation 간 DBMS가 무결성 제약을 지키게끔 Operation을 지속적으로 통제함.