릴레이션(relation)은 튜플(tuple)의 집합이다.
각 튜플은 동일한 애트리뷰트(attribute)를 가진다.
1. 튜플의 유일성
릴레이션(relation)의 튜플(tuple)은 모두 상이하다.
2. 튜플의 무순서성
한 릴레이션에 포함된 튜플 사이에는 순서가 없다.
3. 애트리뷰트의 무순서성
릴레이션에서 애트리뷰트(attribute) 간의 순서는 의미가 없다.
4. 애트리뷰트의 원자성
애트리뷰트는 원자값으로서 분해가 불가능하다.
내포(Intension)
내포는 데이터베이스의 스키마를 의미한다. 즉, 릴레이션의 구조와 정의를 나타낸다.
고정적이고 변하지 않는다.
릴레이션 이름: 학생(Student)
속성: 학번(StudentID, 정수), 이름(Name, 문자열), 나이(Age, 정수)
외연(extension)
외연은 릴레이션의 실제 데이터를 의미한다. 즉, 릴레이션에 저장된 튜플의 집합을 나타낸다.
데이터베이스 상태에 따라 변할 수 있다.
| StudentID | Name | Age |
|---|---|---|
| 1 | Alice | 20 |
| 2 | Bob | 22 |
| 3 | Carol | 21 |
슈퍼키(super key)
튜플의 유일성
후보키(candidate key)
테이블의 각 튜플을 유일하게 식별할 수 있는 속성이나 속성의 조합들
튜플의 유일성, 애트리뷰트의 최소성
기본키(primary key)
해당 키 값으로 튜플을 대표하기 때문에 기본키가 null 값을 포함하면 유일성이 깨진다.
튜플의 유일성, 애트리뷰트의 최소성, not null
대체키(alternate key)
기본키를 제외한 후보키들
외래키(foreign key)
다른 테이블을 참조하는데 사용되는 속성
NULL로 설정
개체 무결성(entity integrity)
기본 릴레이션의 기본키를 구성하는 어떤 속성도 NULL일 수 없으며, 중복 값을 허용하지 않는다.
참조 무결성(referential integrity)
외래키 값은 NULL이거나 참조 릴레이션에 있는 기본키와 같아야 한다.
도메인 무결성(domain integrity)
특정 속성의 값이 그 속성이 정의된 도메인에 속한 값이어야 한다.