RDB: 관계형 데이터베이스
- relation
- set
- 중복되지 않는 element를 가짐
- 순서는 중요치 않음
- a개의 set과 b개의 set의 관계를 만든다. => a개 * b개
=> 이런 집합을 모아놓은 것이 도메임
- domain 정의
- 전화번호 -> phone_nums | emerge_phone_nums
- domain이 정의가 되었다면 역할(attribute)을 부여함
- phone_nums는 단순한 전화 번호
- emerge_phone_nums는 긴급 전화 번호
=> 이처럼 집합끼리의 관계를 통해 domain을 생성
- 특징
- data들의 중복은 허용하지 않는다.
- data 순서는 중요하지 않다.
- data 더 이상 쪼개질 수 없는 상태를 추구(atomic)
NULL
- 값이 없거나, 값을 알 수 없는 경우
Key
- super key
- data를 고유하게 식별할 수 있는 attribute
- candidate key: 하나의 attribute가 사라져 버리게 되면 식별이 불가능하게 되는 superkey ex) 이름-주소[주소만으로는 식별 불가]
PK
- data를 딱 짚는 key
- super key 중에서 pk가 아닌 것들을 unique key가 된다.
- 중복된 값은 있을 수 없음
FK