관계형 데이터베이스 모델
관계형 데이터베이스를 구성하는 개체나 관계를 릴레이션(Relation)으로 표현
🔸 튜플(Tuple)
- 테이블의 행(Row)에 해당하며 파일 구조의 레코드(Record)와 같은 의미
- 카디널리티(Cardinality) : 튜플의 수(기수)
- 한 릴레이션의 튜플들의 값은 모두 상이하며, 튜플 간 순서가 없다.
🔸 속성(Attribute)
- 테이블의 열(Column)에 해당하며 파일 구조의 항목(Item), 필드(Field)와 같은 의미
- 차수(Degree) : 속성의 수
- 한 릴레이션의 속성은 원자값이며, 속성 간 순서가 없다.
🔸 도메인(Domain)
- 하나의 애트리뷰트가 가질 수 있는 원자값들의 집합
릴레이션의 특징
- 튜플의 유일성 : 모든 튜플은 서로 다른 값을 갖는다.
- 튜플의 무순서성 : 하나의 릴레이션에서 튜플의 순서는 없다.
- 속성의 원자성 : 속성값은 원자값을 갖는다.
- 속성의 무순서성 : 각 속성은 릴레이션 내에서 유일한 이름을 가지며, 속성의 순서는 큰 의미가 없다.
키(Key)의 종류와 무결성
🔸 슈퍼키(Super Key)
- 두 개 이상의 속성으로 구성된 키 또는 혼합키 를 의미
- 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족하지 않는다.
🔸 후보키(Candidate Key)
- 모든 튜플을 유일하게 식별 할 수 있는 하나 또는 몇 개의 속성 집합
- 모든 튜플에 대해 유일성과 최소성 모두 만족한다.
- 슈퍼키에서 구해진 속성, 속성 집합 중 가장 적은 속성의 집합(최소성)이 후보키가 된다.
🔸 기본키(Primary Key)
- 후보키 중에서 대표로 선정된 키
- 널 값(Null Value)을 가질 수 없다.
- 후보키 중 가장 적합한 속성 또는 속성 집합을 선택한다.
🔸 대체키(Alternate Key)
- 후보키가 둘 이상 되는 경우, 그 중에서 어느 하나를 선정하여 키본키로 지정하고 남은 나머지 후보키
- 학번을 기본키로 선택한 경우 주민번호가 대체키가 된다.
🔸 외래키(Foreign Key)
무결성(Integrity)
릴레이션 무결성 규정은 릴레이션을 조작하는 과정에서의 의미적(Semantic Relationship)를 명세한 것으로 정의 대상으로 도메인, 키, 종속성 등이 있다.
🔸 개체 무결성
- 기본키의 값은 널(Null) 값이나 중복 값을 가질 수 없다는 제약조건
🔸 참조 무결성
- 릴레이션 R1에 속성 조합인 외래키를 변경하려면 이를 참조하고 있는 릴레이션 R2의 기본키도 변경해야 한다.
이때 참조할 수 없는 외래키 값을 가질 수 없다는 제약조건이다.
🔸 도메인 무결성
- 각 속성값은 해당 속성 도메인에 지정된 값이어야 한다는 제약조건