데이터베이스 용어 정리
관계 데이터 모델의 개념
relation : 2차원의 테이블 (스프레드 시트와 유사)
record : relation의 각 행
tuple : record를 좀 더 공식적으로 부르는 용어
attribute : relation에서 이름을 가진 하나의 열
domain : 한 attribute에 나타날 수 있는 값들의 집합. 프로그래밍언어에서 데이터 타입과 유사. 동일한 도메인이 여러 attribute에 사용될 수 있음. 도메인 정의 ex) CREATE DOMAIN EMPNAME CHAR(10); CREATE DOMAIN EMPNO INTEGER
degree : 한 relation에 들어있는 attribute들의 수. 유요햔 relation의 최소 degree는 1.
cardinality : relation의 tuple 수. 유효한 relation의 최소 cardinality는 0.
relation schema : relation의 이름과 relationdml attribute들의 집합. relation 이름 (attribute 1, attribute 2, ..., N) -> 기본 키에는 밑줄을 그어 표현. intension이라고 부름.
relation instance : relation에 어느 시점에 들어있는 tuple들의 집합. 일반적으로 relation에는 현재의 instance만 저장됨. extension이라고 부름.
relation key : 각 tuple들 고유하게 식별할 수 있는 하나 이상의 attribute들의 모임.
- super key : 한 relation 내의 특정 tuple을 고유하게 식별하는 하나의 attribute 또는 attribute들의 집합.
- candidate key (후보키) : 각 tuple을 고유하게 식별하는 최소한의 attribute들의 모임. 모든 relation에는 최소한 한 개 이상의
후보키가 있음. 후보키도 두개 이상의 attribute로 이루어질 수 있으며 이런 경우 composite key(복합키)라 부름.
- primary key : 한 relation에 후보키가 두개 이상 있으면 설계자가 이들 중에서 하나를 primary key로 선정.
- alternate key : 기본키가 아닌 후보키
- foreign key : 어떤 relation의 primary key를 참조하는 attribute. relation들 간의 관계를 나타내기 위해 사용. foreign key
attriibute는 참조되는 primary key와 동일한 DOMAIN을 가져야함.