YS's develop story

Super key, Candidate key, Primary key, Foreign key 비교 본문

Database

Super key, Candidate key, Primary key, Foreign key 비교

Yusang 2021. 4. 25. 09:28

Super key, Candidate key, Primary key, Foreign key 비교

위와 같은 테이블이 있습니다

 

 

테이블에 있는 각각의 튜플들을 구분할 수 있는 K를 Super key라고 합니다. 

 

{ID} 

{ID, name}

위 값들을 통해 테이블에서 저 값에 해당하는 특정한 튜플이 무엇인지 알 수 있기 때문에

Super key라고 할 수 있겠죠

 

{name} 같은 경우는 Super key가 아닙니다. 동명이인이 있을 수 있기 때문입니다.

 

 

 

Super key가 가져야 되는 최소한의 값만 가진 것을 Candidate key라고 합니다.

Candidate key는 여러 개 있을 수 있습니다.

 

{ID} - Candidate key라고 할 수 있습니다.

{ID, name} - 각 튜플들을 식별하는데 불필요한 name이 있기 때문에 Candidate key가 아닙니다.

 

 

 

Candidate key 중 하나를 선택하여 Primary key라고 부르게 됩니다.

 

Foreign key는 다른 테이블에 존재하는 column의 값이어야 합니다.

 

예를 들면 강사 테이블에서 학과 column에 학과 이름을 저장할 때 아무 이름이나 저장해서는 안되고

DB에 학과 테이블에 존재하는 학과 중 하나를 값으로 사용해야 한다는 말입니다.

 

 

 

 

 

Comments