YS's develop story
Super key, Candidate key, Primary key, Foreign key 비교 본문
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에 학과 테이블에 존재하는 학과 중 하나를 값으로 사용해야 한다는 말입니다.
'Database' 카테고리의 다른 글
SQL Having, Where 차이 (0) | 2021.04.28 |
---|---|
SQL Aggregate Functions 집계함수, Group By 활용 (0) | 2021.04.27 |
Cartesian Product (0) | 2021.04.26 |
관계형 데이터베이스와 NoSQL 및 DDL, DML의 정의 (0) | 2021.04.13 |
트랜잭션의 의미 및 Node MySQL Transactions 적용해보기 (2) | 2021.04.10 |
Comments