Relational Model
관계 모델은 이전에도 설명하였듯이, Table로 표현됩니다.
ex) instructor = (ID, name, dept_name, salary)
ex) string, varchar(20), number, ...
instructor
에서 name
에 값이 두 개 이상 들어가면 이상하겠죠?Keys
ex) instructor(ID, name, dept_name, salary)에서,
(12321, Turing, Comp.Sci., 92000),
(65432, Einstein, Physics, 95000), ...
이 있다고 했을 때, 이름/학과/연봉은 겹치는 사람이 있을 수 있지만
ID가 겹칠 수는 없기 때문에 {ID}를 포함한 집합이 superkey가 됩니다.
K가 각 항목들을 구분하기 위한 최소한의 값들만 가지고 있을 때,
이 K를 후보 키 또는 Candidate Key라고 합니다.
Candidate Key중 하나를 Primary Key로 설정할 수 있습니다.
이 때, 변하지 않는 값으로 지정하는 것이 좋습니다.
외래 키라고도 하며, Referencing relation: 참조하고 있는 값
, Referenced relation: 참조당하는 값
으로 나뉘어집니다.