관계형 데이터베이스에 키에대해서 헷갈립니다 ㅠㅠ 0 2 3,769

by 보들윤 [DB 모델링/설계] 관계형 데이터베이스 [2017.12.02 20:53:05]


공부를 하는중인데요

관계형 데이터베이스에서 릴레이션의 키 키는 각각 튜플을 구별할 수 있는 속성을 말하는 것으로

후보키, 기본키, 대체키, 외래키, 슈퍼키가 있다라고 어디에서는 설명하는데요

또 다른곳에선 후보키, 기본키, 대체키, 외래키, 복합키라고 복합키슈퍼키라고도 부른다라고 하는곳도있네요

그런데 궁금한점이 둘다 동의어인지?

아니면 슈퍼키와 복합키의 차이가 있는 것인지?

아니면 총 후보키, 기본키, 대체키, 외래키, 슈퍼키, 복합키 이렇게 6개의 키가 있는 것인지 헷갈립니다....

조금만 정리가 쉽게되도록 도와주세요 ㅠㅠ

by 그로밋 [2017.12.03 05:49:46]

복합키와 수퍼키는 동의어가 아닙니다.  복합키 (composite key 혹은 compound key) 는, 두개 이상의 컬럼들 (혹은 속성들)로 이루진 키를 말합니다.  수퍼키들 중에서는 하나의 컬럼으로 이루어진 것이 있을 수 있읍니다.  수퍼키들 중에서는 복합키들이 여러개 존재하겠죠.

후보키 (candidate key) 들 중에서, 최종적으로 선택된 키를 기본키 (primary key)라고 하고, 그 나머지를 대체키 (alternate key) 라고 합니다.

 


by 마농 [2017.12.04 08:39:43]

테이블에서 유일하게 레코드를 식별해 내는 것이 키입니다.
슈퍼키는 후보키 전단계라고도 볼 수 있습니다.
슈퍼키에는 유니크 속성에 불필요한 요소가 포함될 수 있습니다.(예 : ID + NAME)
이 불필요한 속성들을 모두 제거한 깔끔한 상태가 후보키가 됩니다.(예 : ID)
후보키 중에 단 하나만 기본키가 되고 나머지는 대체키가 되구요.
복합키는 컬럼의 갯수에 따른 분류입니다.(단일키/복합키)

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입