[시나공] 관계모델·키·관계대수·관계해석 핵심 정리
2026. 2. 26. 00:00ㆍCertifications/정보처리기사 실기
1️⃣ 관계모델 기본 개념
✅ 튜플(Tuple)
- 릴레이션(Relation)을 구성하는 각각의 행(Row)
- 파일 구조에서의 레코드(Record)와 동일한 개념
- 튜플의 수 = 카디널리티(Cardinality)
🔎 튜플 = 행
카디널리티 = 튜플 개수
✅ 속성(Attribute)
- 릴레이션을 구성하는 각각의 열(Column)
- 파일 구조에서의 필드(Field)
- 속성의 수 = 차수(Degree)
🔎 속성 = 열
차수 = 속성 개수
✅ 도메인(Domain)
- 하나의 속성이 가질 수 있는 같은 타입의 원자값 집합
- 속성 값의 허용 범위 정의
🔎 도메인 = "값의 범위"
2️⃣ 키(Key) 종류 정리
✅ 후보키(Candidate Key)
- 튜플을 유일하게 식별 가능한 속성 집합
- 조건: 유일성 + 최소성
🎯 포인트
- 최소성: 불필요한 속성 제거 불가
- 유일성: 중복 없음
✅ 기본키(Primary Key)
- 후보키 중 선택된 키
- NULL 값 허용 ❌
- 중복 허용 ❌
✅ 대체키(Alternate Key)
- 후보키 중 기본키를 제외한 나머지 키
✅ 슈퍼키(Super Key)
- 유일성만 만족하는 속성 집합
- 최소성은 만족하지 않아도 됨
🎯 포인트
- 슈퍼키 ⊃ 후보키
- 후보키 = 유일성 + 최소성
✅ 외래키(Foreign Key)
- 다른 릴레이션의 기본키를 참조하는 속성
- 참조 무결성 유지
🎯 포인트
- 외래키는 NULL 가능
- 참조 릴레이션에 없는 값 입력 불가
3️⃣ 무결성(Integrity)
✅ 개체 무결성
- 기본키는 NULL 불가
- 기본키는 중복 불가
✅ 참조 무결성
- 외래키는 참조 릴레이션의 기본키 값이거나 NULL
🎯 포인트
- 개체 무결성 = PK
- 참조 무결성 = FK
4️⃣ 관계대수(Relational Algebra)
✅ 관계대수 특징
- 절차적 언어
- 연산 결과는 항상 릴레이션
✅ 순수 관계 연산자
| 연산 | 의미 | 기호 |
|---|---|---|
| Select | 행 선택 | σ |
| Project | 열 선택 | π |
| Join | 릴레이션 결합 | ⋈ |
| Division | 나눗셈 | ÷ |
🎯 포인트
- Select = 조건에 맞는 튜플 선택
- Project = 속성 추출
- Join = 공통 속성 결합
✅ 일반 집합 연산자
| 연산 | 의미 | 기호 |
|---|---|---|
| UNION | 합집합 | ∪ |
| INTERSECTION | 교집합 | ∩ |
| DIFFERENCE | 차집합 | - |
| CARTESIAN PRODUCT | 교차곱 | × |
🎯 포인트
- UNION → 차수(Degree) 동일 + 도메인(타입)이 서로 호환 가능해야 함
- 교차곱 카디널리티 = R × S (R,S = 릴레이션)
5️⃣ 관계해석(Relational Calculus)
- 비절차적 언어
- “무엇을 원하는가” 중심
✅ 종류
- 튜플 관계해석
- 도메인 관계해석
🔎 관계대수 = 절차적
관계해석 = 비절차적
Codd 제안
📊 시험 포인트 정리
🔥 키 구분 문제
- 슈퍼키 vs 후보키 차이
- 대체키 정의
- 최소성 판단 문제
🔥 관계대수 기호 문제
- σ / π / ⋈ / ÷ 기호 매칭
- UNION 조건 (차수 동일)
🔥 카디널리티 계산 문제
- 교차곱 결과 개수
- 차집합 결과 범위
🔥 무결성 유형 구분
- 개체 무결성
- 참조 무결성
🔥 관계대수 vs 관계해석 비교
- 절차적 / 비절차적 구분
📌 암기 핵심 요약
- 카디널리티 = 튜플 수
- 차수 = 속성 수
- 후보키 = 유일성 + 최소성
- 슈퍼키 = 유일성만
- 기본키 = NULL 불가
- 관계대수 = 절차적
- 관계해석 = 비절차적

2025 시나공 퀵이지 정보처리기사 실기 단기완성
(저자: 강윤석, 김용갑, 김우경, 김종일 | 출판사: 길벗)
※ 본 글은 위 교재를 참고하여 학습 목적으로 재정리한 내용입니다.
'Certifications > 정보처리기사 실기' 카테고리의 다른 글
| 정규화 완전 정리 (UNF → 5NF, FD·MVD·JD 한 번에 끝내기) (0) | 2026.02.27 |
|---|---|
| [시나공] 정규화 통합 정리 (1NF~5NF, BCNF, 반정규화) (0) | 2026.02.26 |
| [시나공] DB 설계 핵심 정리 (설계·모델·ERD·릴레이션 구조) (0) | 2026.02.25 |
| [시나공] 개발 방법론·비용 산정·일정 관리·품질 표준 정리 (0) | 2026.02.25 |
| [시나공] 객체지향 개념 및 UML 확장 이론 (1) | 2026.02.24 |