Ch.9 데이터베이스 (필기 3과목)
키와 무결성 제약조건
후보키·기본키·외래키·대체키·슈퍼키의 정의와 관계를 구분할 수 있다개체 무결성과 참조 무결성의 규칙을 서술할 수 있다ER 모델의 개체·속성·관계 기호를 읽을 수 있다
같은 이름의 고객 두 명을 어떻게 구분할까?
고객번호 없이 이름만으로 관리하면 동명이인 문제 발생
유일하게 식별할 수 있는 '키'와 데이터 정합성 규칙이 필요합니다
키(Key)와 무결성 제약조건은 DB 설계의 기둥이며 필기 매회 2~3문제 출제됩니다
article
핵심 내용
키(Key)는 릴레이션에서 튜플을 유일하게 식별하기 위한 속성(들)의 집합입니다.
기본키 규칙 2가지: ① NULL 불가 (개체 무결성) ② 중복 불가 (유일성). 시험에서 "기본키에 NULL 허용?" → 아니오!
ER(Entity-Relationship) 모델은 데이터베이스를 개체(Entity)와 관계(Relationship)로 시각화한 설계 도구입니다.
ER 기호 빈출: 사각형=개체, 타원=속성, 마름모=관계. 이중 사각형 = 약한 개체 (다른 개체에 종속)
기본키에 대한 설명으로 틀린 것은?
외래키가 참조하는 릴레이션의 기본키에 없는 값을 입력하려 할 때 위반되는 무결성은?
ER 다이어그램에서 '관계(Relationship)'를 나타내는 기호는?
compare_arrows
비교 정리
| 항목 | 키 | 정의 | 특징 |
|---|---|---|---|
| 슈퍼키 | 유일성을 만족하는 속성 집합 | 최소성 불필요 (불필요 속성 포함 가능) | |
| 후보키 | 유일성 + 최소성을 만족 | 기본키가 될 수 있는 후보 | |
| 기본키(PK) | 후보키 중 선택된 대표 키 | NULL 불가, 중복 불가 | |
| 대체키 | 후보키 중 기본키로 선택되지 않은 키 | 보조 식별자 역할 | |
| 외래키(FK) | 다른 릴레이션의 기본키를 참조 | 참조 무결성의 핵심 |
| 항목 | 무결성 | 규칙 | 위반 예 |
|---|---|---|---|
| 개체 무결성 | 기본키는 NULL이 될 수 없다 | 학번이 NULL인 학생 레코드 | |
| 참조 무결성 | 외래키 값은 참조 릴레이션의 기본키에 존재하거나 NULL이어야 한다 | 존재하지 않는 학과코드 입력 | |
| 도메인 무결성 | 속성 값이 정의된 도메인 범위 내여야 한다 | 성별 필드에 '3' 입력 |
| 항목 | 기호 | 이름 | 설명 |
|---|---|---|---|
| 사각형 □ | 개체(Entity) | 학생, 과목, 부서 등 실체 | |
| 타원 ○ | 속성(Attribute) | 이름, 학번, 전화번호 등 | |
| 마름모 ◇ | 관계(Relationship) | 수강, 소속, 담당 등 | |
| 밑줄 속성 | 기본키 속성 | 유일 식별자 | |
| 이중 타원 | 다중값 속성 | 취미(여러 개 가능) | |
| 점선 타원 | 유도 속성 | 나이(생년월일에서 계산) |
image
시각 자료
다이어그램: cc-mg010
다이어그램: cc-mg014
check_circle
핵심 정리
- 1키 포함 관계: 슈퍼키 ⊃ 후보키 ⊃ 기본키, 나머지 = 대체키
- 2기본키: NULL 불가 + 중복 불가 + 릴레이션당 1개
- 3외래키: 다른 릴레이션의 기본키를 참조, NULL 허용 가능
- 4개체 무결성 = PK는 NULL 불가, 참조 무결성 = FK는 참조 PK에 존재
- 5ER 기호: □=개체, ○=속성, ◇=관계, 밑줄=PK
퀴즈와 인터랙션으로 더 깊이 학습하세요
play_circle인터랙티브 레슨 시작