Relational Database Structure
- RDB
- relation: table(tuple 집합)
- tuple: a row of table(속성들의 집합을 의미하며 n개의 속성으로 이루어진 tuple를 n-tuple라고 부른다.)
- attribute: table의 열을 의미하낟.
- RDB는 tables의 집합으로 이루어진다.
Attribute Types
- 각 속성별로 가질수 있는 값들의 집합을 domain이라고 부른다.
- 속성들의 값은 atomic 해야하고 단 하나의 값만 가질수 있다.
- 모든 domain은 null값을 가질수 있는데 여기서 null이라고 함은 unknown or does not exist를 의미한다.
- null값은 많은 연산에서 복잡함을 야기한다.
Relation Schema and Instance
- 속성들과 해당 속성들의 도메인의 집합
- R = {A1, A2, …, An} -> instructor = {ID, name, dept_name, salary}
- relation r은 D1 * D2 * … * Dn의 부분집합이다.
- Instance는 r의 현재 값, 즉 스냅샷을 의미한다.
Keys
- key는 R의 부분집합이다.
- super key는 key 중에서 tuple의 유일성을 만족하는 key이다.
- candidate key는 super key중에서 최소성을 만족하는 key이다.
- primary key는 candidate key중에 선택된 하나의 key이다. (null값을 가지면 안된다.)
- 외래키 제약조건: relation에 존재하는 외래키의 값은 참조되는 relation에 반드시 값이 존재해야 한다.(참조하는 r <-> 참조되는 r)
댓글남기기