Cộng đồng Hỏi & Đáp của Inflearn
섹션 1 퀴즈 3번 문제에 질문이 있습니다.
Viết
·
76
0
3번 문제입니다.
```
기본 키(Primary Key)는 반드시 고유하며 Null을 허용하지 않아야 합니다. 그렇다면 '후보 키(Candidate Key)'는 기본 키와 비교할 때 어떤 속성에서 차이가 있을 수 있나요?
```
이 문제에 대한 답입니다.
```
Null 허용 여부: 후보 키는 테이블 내에서 고유하게 레코드를 식별할 수 있는 속성들의 집합이지만, 기본 키로 선정되지 않은 후보 키는 경우에 따라 Null 값을 가질 수 있습니다.
```
후보키라는게 결국 PK(기본키)가 될 가능성이 있는 키라고 하셨는데, 그러면 Null허용이 되면 안되는거 아닌가요? 기본 키로 선정되지 않는 경우더라도요.
Quiz
Đâu là thành phần cơ bản nhất và cấu trúc lưu trữ dữ liệu trong CSDL quan hệ?
tệp
bàn
tài liệu
Biểu đồ
Câu trả lời 2
0
후보키는 RDBMS에 명시적으로 Primary Key로 지정하지 않았지만 개념상 후보가 될 수 있다는 뜻입니다. RDBMS에 이 컬럼이 후보키입니다라고 등록하지는 않습니다. 반드시 등록해야 하는 것은 기본키, 외래키 두개입니다.
한 테이블 속성을 보면 핸폰, 주소, 주민번호 등 후보키들이 보입니다. 어느것이 pk가 될지는 그 업무의 성격에 따라서 달라질 수 있습니다. 다만, 보편적 테이블 설계라면 대부분 dummy 키를 사용하는 것이 일반적이긴 합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
임형준님, 질문에 답변 드리겠습니다.
후보 키(Candidate Key)는 테이블에서 기본 키(Primary Key)로 선정될 수 있는 모든 속성을 의미하며, 일반적으로 후보 키는 고유한 값이어야 하고 Null을 허용하지 않아야 합니다. 하지만 질문에서 제시된 정보와 같이 후보 키로 사용할 수 있는 조건 중 하나인 “기본 키로 선정되지 않은 경우”라는 점이 고려되면, 일부 시스템이나 컨텍스트에서 후보 키가 Null을 허용할 수 있는지를 검토하는 경우도 있을 수 있습니다.
기본적으로 후보 키도 기본 키가 될 잠재성을 가지므로 Null 값이 허용되지 않는 것이 일반적입니다. 하지만 특정 사례나 환경에 따라서 구현 관점에서 후보 키가 다르게 다뤄질 수 있다는 혼동이 생긴 걸로 보이네요.
추가적으로 이해하기 위해서 실질적인 구현 관계에 따라 후보 키의 충족 조건이 달라질 수 있다는 점도 유념하시기 바랍니다. 또 다른 질문이 생기면 언제든지 문의 주세요!
참조 링크: 데이터베이스 관련 참조






제가 RDBMS에 물리적으로 후보키가 등록되지 않는다는 점을 생각안했었네요. 바로 이해됐습니다.
감사합니다.