좋아요! 이번에는 📗 GA3007-05 (2025-03-25) 강의 내용을 쉽게 이해할 수 있도록 자세히 정리해드릴게요.
📗 GA3007-05 (2025-03-25) 정리 – 자세한 설명
🟡 주제:
키(Key), 무결성 제약조건(Integrity Constraints), 테이블 간 관계, SQL 예제
✅ 1. 키(Key)의 개념
릴레이션(테이블)에서 튜플(행)을 유일하게 식별할 수 있도록 도와주는 것이 키입니다.
🔹 주요 키 종류
| 키 종류 | 설명 | 예시 |
|---|---|---|
| 후보 키(Candidate Key) | 유일하게 튜플을 식별할 수 있는 후보 속성 집합 | 학번(Sno) |
| 기본 키(Primary Key) | 후보 키 중에서 실제로 선택된 대표 키 | 학번(Sno) |
| 슈퍼 키(Super Key) | 튜플을 유일하게 식별할 수 있는 모든 속성 조합 | (Sno), (Sno, Sname) 등 |
| 대체 키(Alternate Key) | 후보 키에서 기본 키가 아닌 나머지 키 | 예: (전화번호) 등 |
✅ 보통은 학번, 주민등록번호처럼 중복되지 않는 정보가 기본 키로 쓰입니다.
✅ 2. 무결성 제약조건 (Integrity Constraints)
데이터베이스에 저장된 데이터가 일관되고 정확하도록 유지하는 규칙입니다.
🔸 무결성 종류
| 무결성 | 설명 | 예시 |
|---|---|---|
| 도메인 무결성 | 속성 값은 정의된 도메인 내의 값만 가질 수 있음 | 학년은 1~4 |
| 개체 무결성 (Entity Integrity) | 기본 키(PK)는 NULL이 될 수 없음 | 학번은 반드시 있어야 함 |
| 참조 무결성 (Referential Integrity) | 외래 키(FK)는 참조 릴레이션의 기본 키 값과 일치해야 함 또는 NULL이어야 함 | ENROL.Sno는 반드시 STUDENT.Sno에 존재해야 함 |
| 사용자 정의 무결성 | 사용자 정의 규칙 적용 | 예: 성적은 A, B, C 중 하나여야 함 |
⚠️ 무결성이 깨지면 잘못된 데이터가 저장될 수 있음 → 데이터 신뢰도 하락
✅ 3. 릴레이션 간 관계 예시 (삼중 릴레이션 모델)
릴레이션들 간의 연결 관계를 통해 외래키와 참조 무결성을 이해할 수 있습니다.
S(S#, SNAME, STATUS, CITY)
↑
|
SP(S#, P#, QTY)
↓
P(P#, PNAME, COLOR, WEIGHT, CITY)
• S: 공급자 (Supplier)
• P: 부품 (Part)
• SP: 공급 관계 (어떤 공급자가 어떤 부품을 몇 개 공급하는가)