티스토리 뷰
🔷 슈퍼키란 무엇인가?
🟦 슈퍼키란?
슈퍼키(Super Key)란, 데이터베이스 테이블에서 각 행(row)을 유일하게 식별할 수 있는 하나 이상의 컬럼(속성)들의 집합을 의미합니다.
즉, 슈퍼키는 "이 컬럼(또는 컬럼 조합)을 보면, 테이블 안에서 특정 행을 오직 하나만 정확히 찾을 수 있는" 조합입니다.
- 유일성(Unique)만 만족하면 됩니다.
- 최소성(Minimality)은 만족할 필요 없습니다.
- 불필요한 컬럼이 껴 있어도 괜찮습니다.
✅ 요약: 슈퍼키는 유일성만 만족하면 되는, 모든 가능한 식별 조합입니다.
🟦 슈퍼키는 왜 필요한가?
1. 데이터베이스 설계의 시작이기 때문입니다.
- 테이블을 설계할 때, "각 행을 유일하게 구별하는 방법"을 정해야 합니다.
- 이때, 모든 가능한 유일한 조합을 찾아야 합니다.
- 이 모든 조합이 슈퍼키입니다.
2. 후보키를 찾기 위한 준비 단계입니다.
- 슈퍼키를 먼저 찾아야, 그중 최소성(Minimality)을 만족하는 후보키를 고를 수 있습니다.
3. 기본키를 선택하기 위한 기반입니다.
- 후보키 중에서 하나를 골라 기본키로 지정해야 하는데,
- 이 작업은 슈퍼키를 찾지 않으면 절대로 할 수 없습니다.
✅ 요약:
슈퍼키를 모르면 후보키를 고를 수 없고, 후보키를 모르면 기본키를 설정할 수 없습니다.
🟦 슈퍼키, 후보키, 기본키 차이
✅ 요약:
- 모든 후보키는 슈퍼키입니다.
- 모든 기본키는 후보키입니다.
- 하지만 모든 슈퍼키가 후보키는 아니고, 모든 후보키가 기본키는 아닙니다.
🟦 쉽게 비유하면
슈퍼키: 모든 가능성 있는 지원자 리스트 (거칠게 모은 후보 풀)
후보키: 기준을 충족하는 최종 지원자들 (엄선된 후보 리스트)
기본키: 최종 합격자 한 명 (대표)
✅ 데이터베이스에서도 마찬가지입니다.
슈퍼키 → 후보키 → 기본키 순서로 좁혀야 합니다.
🟦 슈퍼키 예시
학생(Student) 테이블 예시
슈퍼키로 가능한 조합:
✅ 정리:
모든 위 조합은 "행을 유일하게 식별"할 수 있으므로 슈퍼키입니다.
🟦 슈퍼키 → 후보키 → 기본키 좁혀가는 과정
✅ Step 1. 슈퍼키 전체 리스트
앞서 찾은 슈퍼키:
- (학번)
- (전화번호)
- (학번, 이름)
- (학번, 전화번호)
- (이름, 전화번호)
✅ Step 2. 후보키로 좁히기 (최소성 확인)
✅ Step 3. 기본키 선택
(학번)과 (전화번호) 중, 관리 편의성과 개인정보 보호 문제를 고려하여
(학번)을 기본키로 선택합니다.
🟦 슈퍼키, 후보키, 기본키 흐름 요약
슈퍼키 전체 찾기
↓ (최소성 만족하는 것만 추림)
후보키로 좁히기
↓ (대표 하나 선택)
기본키로 지정
🟦 슈퍼키 관련 SQL 예시
CREATE TABLE Students (
student_id INT,
phone VARCHAR(20),
name VARCHAR(100),
PRIMARY KEY (student_id),
UNIQUE (phone)
);
🟦 최종 정리
✅ 슈퍼키는 데이터베이스 설계의 가장 기본이자, 후보키와 기본키를 결정하는 출발점입니다.
기본키, 후보키 상세설명
2025.04.26 - [자격증/정보처리기사] - 기본키란 무엇인가?
기본키란 무엇인가?
🔷 기본키란 무엇인가?기본키(Primary Key)는 데이터베이스 테이블에서 각 행(row, 튜플)을 유일하게 식별할 수 있도록 지정한 하나 이상의 컬럼(속성)을 의미합니다. 기본키는 절대 중복되거나 NULL
eunjin123123.tistory.com
2025.04.26 - [자격증/정보처리기사] - 후보키란 무엇인가?
후보키란 무엇인가?
🔷 후보키란 무엇인가?후보키(Candidate Key)란 데이터베이스 테이블 안에서 각 행(row)을 유일하게 식별할 수 있는 컬럼 또는 컬럼 조합의 집합을 뜻합니다.다시 말해, 후보키는 "기본키로 삼을 수
eunjin123123.tistory.com
'자격증 > 정보처리기사' 카테고리의 다른 글
릴레이션이란? (0) | 2025.04.26 |
---|---|
데이터베이스에서 키란 무엇인가? (기본키,후보키 등 총정리) (0) | 2025.04.26 |
후보키란 무엇인가? (0) | 2025.04.26 |
기본키란 무엇인가? (0) | 2025.04.26 |
시스템 카탈로그란? (0) | 2025.04.25 |
- Total
- Today
- Yesterday
- 뇌와행동의기초
- 오블완
- 여인권
- C/C++
- 코딩테스트
- 통계학
- Python
- 일본어문법무작정따라하기
- 보세사
- 백준
- 정보처리기사
- c++
- 사회심리학
- 심리학
- 인프런
- 파이썬
- 열혈프로그래밍
- stl
- 티스토리챌린지
- K-MOOC
- 일문따
- 인지부조화
- C
- 강화학습
- 데이터분석
- 회계
- 통계
- 류근관
- 일본어
- 윤성우
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |