티스토리 뷰
🔷 키란 무엇인가?
데이터베이스에서 "키(Key)"란 테이블 안의 각 행(row)을 유일하게 식별하거나 테이블 간 관계를 연결하기 위해 사용되는 컬럼 또는 컬럼들의 조합을 뜻합니다.
키는 다음과 같은 기능을 수행합니다:
- 데이터를 유일하게 식별
- 중복을 방지
- 테이블 간 무결성을 유지
- 데이터 검색 속도를 높임
🔷 슈퍼키(Super Key)
✅ 정의
슈퍼키(Super Key)란 테이블의 각 행을 유일하게 식별할 수 있는 컬럼 또는 컬럼 조합입니다. 유일성만 만족하면 되며, 최소성은 필요 없습니다.
✅ 예시
슈퍼키 가능한 조합:
- (학번)
- (전화번호)
- (학번, 이름)
- (학번, 전화번호)
✅ 공통점과 차이
- 공통점: 모든 슈퍼키는 유일하게 행을 식별할 수 있습니다.
- 차이점: 불필요한 컬럼이 포함되어 있어도 무방합니다.
🔷 후보키(Candidate Key)
✅ 정의
후보키(Candidate Key)란 슈퍼키 중에서 최소성(Minimality)을 만족하는 키를 의미합니다. 즉, 유일성뿐만 아니라 더 이상 뺄 수 없는 꼭 필요한 컬럼 조합이어야 합니다.
✅ 예시
학생 테이블에서:
- (학번) → 유일성 + 최소성 만족 → 후보키
- (전화번호) → 유일성 + 최소성 만족 → 후보키
- (학번, 이름) → 학번 하나만으로 유일성 확보 가능 → 후보키 아님
✅ 공통점과 차이
- 공통점: 후보키도 유일하게 행을 식별할 수 있습니다.
- 차이점: 슈퍼키는 최소성을 요구하지 않지만, 후보키는 반드시 최소성을 만족해야 합니다.
🔷 기본키(Primary Key)
✅ 정의
기본키(Primary Key)란 후보키 중에서 하나를 선택하여 테이블의 대표 식별자로 지정한 키를 의미합니다. - 반드시 값이 있어야 하고 (NOT NULL) - 절대로 중복될 수 없습니다 (UNIQUE)
✅ 예시
학생 테이블:
- (학번)을 기본키로 선택 → 모든 학생은 고유한 학번을 가져야 하며, NULL이 허용되지 않습니다.
✅ 공통점과 차이
- 공통점: 기본키도 유일하게 행을 식별합니다.
- 차이점: 후보키 중 하나만 기본키로 선택되며, NULL이 절대 허용되지 않습니다.
🔷 대체키(Alternate Key)
✅ 정의
대체키(Alternate Key)란 후보키 중 기본키로 선택되지 않은 나머지 키를 의미합니다. 대체키는 유일성은 유지하지만 테이블의 대표 키는 아닙니다.
✅ 예시
학생 테이블:
- (전화번호)가 기본키로 선택되지 않고 남는다면 → 대체키가 됩니다.
✅ 공통점과 차이
- 공통점: 대체키도 유일하게 행을 식별할 수 있습니다.
- 차이점: 기본키는 대표 식별자로 지정되지만, 대체키는 보조 식별자로 남습니다.
🔷 외래키(Foreign Key)
✅ 정의
외래키(Foreign Key)란 다른 테이블의 기본키를 참조하는 키를 의미합니다. 외래키는 테이블 간 관계를 설정하고, 참조 무결성(Referential Integrity)을 보장합니다.
✅ 예시
수강 테이블:
- (학생ID)는 학생 테이블의 (학번)을 참조 → 외래키
✅ 공통점과 차이
- 공통점: 외래키도 데이터 무결성을 유지하는 데 기여합니다.
- 차이점: 외래키는 본 테이블 안에서 유일성은 요구되지 않지만, 참조하는 키는 반드시 유일해야 합니다.
🔷 복합키(Composite Key)
✅ 정의
복합키(Composite Key)란 둘 이상의 컬럼을 조합하여 하나의 키처럼 사용하는 것을 의미합니다. 각각의 컬럼만으로는 유일성 확보가 불가능하지만, 함께 조합하면 유일성을 보장할 수 있습니다.
✅ 예시
수강 테이블:
- (학생ID, 과목ID)를 조합하여 하나의 복합키로 설정 → 각각 단독으로는 중복될 수 있지만, 두 컬럼을 함께 사용하면 중복이 없습니다.
✅ 공통점과 차이
- 공통점: 복합키도 유일성을 보장합니다.
- 차이점: 하나의 컬럼이 아니라, 여러 컬럼을 함께 묶어야만 유일성을 만족할 수 있습니다.
🔷 유니크키(Unique Key)
✅ 정의
유니크키(Unique Key)란 중복은 허용하지 않지만 NULL 값은 허용할 수 있는 키를 의미합니다. 기본키와 비슷하지만, NULL이 허용된다는 점이 다릅니다.
✅ 예시
학생 테이블:
- 이메일 컬럼에 유니크 제약을 설정 → 같은 이메일은 불가하지만, 이메일이 없는 학생은 존재할 수 있습니다.
✅ 공통점과 차이
- 공통점: 유니크키도 유일성을 보장합니다.
- 차이점: 기본키는 NULL을 절대 허용하지 않지만, 유니크키는 NULL을 허용할 수 있습니다.
🔷 키 전체 요약 정리
'자격증 > 정보처리기사' 카테고리의 다른 글
데이터 모델의 구성 요소란 무엇인가? (0) | 2025.04.27 |
---|---|
릴레이션이란? (0) | 2025.04.26 |
슈퍼키란 무엇인가? (후보키, 기본키와 차이점) (0) | 2025.04.26 |
후보키란 무엇인가? (0) | 2025.04.26 |
기본키란 무엇인가? (0) | 2025.04.26 |
- Total
- Today
- Yesterday
- 물류관리사
- C
- Python
- 통계학
- 보세사
- c++
- 학습이론
- 일본어문법무작정따라하기
- 조건형성
- 정보처리기사
- 열혈프로그래밍
- 데이터분석
- 학습심리학
- 파이썬
- 행동심리학
- 심리학
- 백준
- 윤성우
- 회계
- 행동주의
- 일본어
- 티스토리챌린지
- 오블완
- 인지부조화
- 일문따
- K-MOOC
- 강화학습
- 통계
- 코딩테스트
- 류근관
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |