테이블(Table) 관련 용어
릴레이션
- 투플(행)들의 집합
- 각 릴레이션은 오직 하나의 레코드 타입만 포함 (행 이니까)
- 한 애트리뷰트 내의 값들은 모두 같은 유형
- 각 애트리뷰트(열)들의 순서는 중요하지 않음 : 집합은 순서는 의미가 없음.
- 동일한 투플이 두 개 이상 존재하지 않음 -> 키가 존재함
- 한 투플의 각 애트리뷰트는 원자값(리스트)을 가짐.
- 투플들의 순서는 중요하지 않음.
- 각 애트리뷰트의 이름은 한 릴레이션 내에서만 고유하면 됨.
- 릴레이션 키
- 각 투플을 고유하게 식별할 수 있는 하나 이상의 애트리뷰트들의 모임
- 두 릴레이션을 서로 연관시킬 때 사용
- 인덱스를 만들 때 사용
릴레이션 스키마(relation schema) - 내포
- 릴레이션의 이름과 릴레이션의 애트리뷰트들의 집합
- 표기법 : 릴레이션이름 (애트리뷰트1, 애트리뷰트2, ... 애트리뷰트N)
릴레이션 인스턴스(relation instance) - 외연
- 릴레이션에 어느 시점에 들어 있는 투플들의 집합
- 시간의 흐름에 따라 계속 변함
- 일반적으로 릴레이션에는 현재의 인스턴스만 저장
* 내포 = 스키마
* 외연 = 인스턴스
Tuple(=Record)
- 테이블에서 행을 의미.
- 튜플은 릴레이션에서 같은 값을 가질 수 없다.
- 튜플의 수는 카디날리티(Cardinality)라고 한다.
Attribute( =Field)
- 테이블에서 열을 의미.
- 같은 말로는 칼럼이라고도 하며 어트리뷰트의 수는 디그리(Degree)라고도 한다.
도메인(domain)
- 한 애트리뷰트에 나타날 수 있는 값들의 집합
- 동일한 도메인이 여러 애트리뷰트에서 사용될 수 있음
차수
- 한 릴레이션(테이블)에 들어 있는 애트리뷰트들의 수
- 유효한 릴레이션의 최소 차수는 1
- 릴레이션의 차수는 자주 바뀌지 않음
카디날리티
- 릴레이션의 투플 의 갯수
- 유효한 릴레이션은 카디날리티 0을 가질 수 있음
- 릴레이션의 카디날리티는 시간이 지남에 따라 계속해서 변함
참고) 널값의 3가지 의미
- 부적절한 값
- 적절하지만, 알려지지 않은 값
- 적절한 값이고 알려진 값이지만, 데이터베이스에 입력하지 않은 값