데이터베이스

Key (기본키, 후보키, 슈퍼키 등등...) 에 대해 설명해 주세요.

승무_ 2023. 6. 19. 11:45

슈퍼키

튜플을 구분할 수 있는 모든 attribute의 조합

후보키

튜플을 구분할 수 있는 최소한의 attribute 조합

기본키

후보키 중 null을 허용하지 않고 튜플을 가장 잘 구분할 수 있는 대표키 

외래키

테이블의 연관관계를 나타내기 위해 다른 테이블의 기본키를 참조하는 키

 

꼬리 질문

  • 기본키는 수정이 가능한가요?

이론상 수정이 가능하지만 여러 연관관계가 있는 경우, 참조 부분에서 데이터의 일관성이 깨질 수 있으므로 수정하지 않는 것이 좋다고 생각합니다.

  • 외래키 값은 NULL이 들어올 수 있나요?

해당 관계가 존재하지 않는 경우 null값이 들어올 수 있습니다.

  • 어떤 칼럼의 정의에 UNIQUE 키워드가 붙는다고 가정해 봅시다. 이 칼럼을 활용한 쿼리의 성능은 그렇지 않은 것과 비교해서 어떻게 다를까요?

UNIQUE 특성상 중복값을 허용하지 않으므로 삽입, 수정시 마다 중복체크를 해야 해 일부 성능 저하를 가져올 수 있습니다.

 

'데이터베이스' 카테고리의 다른 글

DB구조 & 설계  (0) 2023.07.04
RDB와 NoSQL의 차이에 대해 설명해 주세요.  (0) 2023.06.23
면접 준비  (0) 2023.04.21
NoSQL  (0) 2023.04.10
교착상태  (0) 2023.04.09