반응형

1. 기본키(key)

: 필드의 일부로, 레코드를 유일하게 식별해 낼 수 있는 식별자 역할을 함

-> 관계형 데이터 모델에서 특정 레코드를 구별하기 위한 유일한 방법

 

2. 두 개 이상의 필드로 구성된 복합키를 가질 수도 있음

ex) '학번'과 '주민등록번호' 필드는 레코드마다 유일하므로 키가 될 수 있음

 

 

 

3. 키의 종류

1) 수퍼키 

: 아무런 제약 조건없이 레코드들을 식별할 수 있는 필드의 집합

ex)(주민등록번호), (학번, 주민등록번호)

 

2) 후보키(기본키가 되기위한)

: 레코드를 구별하는데 불필요한 필드를 제외하고 최소한의 필드로만 구성

ex)(주민등록번호), (학번),(이름,학과명)

 

3) 기본키

: 후보키 중에서 레코드들의 식별자로 선택한 하나의 키

ex)(주민등록번호), (학번)

 

 

 

 

여기서 잠깐!!

Quiz 1) (이름, 주소), (이름, 학과명)이 후보키/기본키 자격이 있는가?

-> 있다! 테이블의 모든 가능한 인스턴스에 대해서도 키가 되는 것이 보장되어야 함

 

Quiz 2) 키가 null이 될 수 있나?

-> 기본키는 null 값을 가질 수 없다! null 값을 가지면 식별자로서의 기능을 상실하기 때문이다.

 

 

 

 

4. 외래키(foreign key)

: 다른 테이블의 기본키를 참조하는 필드 집합

 

 

두 스키마 R1, R2에 대하여,

R1의 기본키를 R2가 외래키로서 참조하려면

- R1의 기본키 필드와 R2의 외래키 필드가 동일한 도메인을 가져야 함

- R2의 각 레코드들은 R1 기본키 필드의 값 중 하나와 일치하거나 null 값을 가져야 함

 

* 만약 외래키가 null일 경우, 그 값을 알지 못하거나 아직 결정되지 않았음을 의미함

 

 

 

 

- 자기 자신을 참조하는 외래키가 있을 수도 있음

 

 

반응형

+ Recent posts