Notice
Recent Posts
Recent Comments
Link
변수의 기록
(데이터베이스)관계형 데이터 모델 (Relational Data Model) 정리 본문
관계형 데이터 모델 (Relational Data Model) 정리
관계형 데이터 모델은 1970년 Edgar F. Codd가 제안한 데이터베이스 모델로, 현재 대부분의 데이터베이스 시스템이 채택하고 있는 구조이다. 이 모델은 수학의 관계(Relation) 개념을 기반으로 하며, 데이터를 테이블(릴레이션) 형태로 표현한다.
1. 수학에서의 Relation 개념
- 수학적으로 관계(Relation)는 **카르테지안 곱(Cartesian Product)**의 부분집합이다.
- 즉, 여러 도메인(Domain, 속성의 값 집합)의 곱에서 특정 조건을 만족하는 튜플들의 집합.
Relation ⊆ Domain1 × Domain2 × ... × DomainN
2. 릴레이션(Relation)의 구성 요소
🔹 도메인(Domain)
- 하나의 **속성(attribute)**이 가질 수 있는 값의 집합.
- 예: 성별 속성의 도메인은 {M, F}
🔹 애트리뷰트(Attribute)
- 테이블의 **열(Column)**에 해당.
- 각 애트리뷰트는 특정 도메인을 기반으로 값이 정의된다.
🔹 튜플(Tuple)
- 테이블의 **행(Row)**에 해당.
- 한 릴레이션에서 튜플들은 모두 같은 속성 구조를 가진다.
- n개의 속성으로 구성된 튜플은 n-튜플이라고 부른다.
3. 릴레이션 스키마 (Relation Schema)
- 릴레이션의 구조를 정의한 것으로, 릴레이션 이름과 애트리뷰트 리스트로 구성됨.
- 예:
-
- 스키마에는 각 애트리뷰트의 도메인과 제약조건까지 포함될 수 있다.
STUDENT(id, name, major)
🔹 디그리(Degree)
- 릴레이션의 속성(컬럼) 개수
🔹 카디널리티(Cardinality)
- 릴레이션의 튜플(행) 수
4. 릴레이션 데이터베이스 스키마
- 전체 데이터베이스는 여러 릴레이션 스키마들과 무결성 제약조건(Integrity Constraints)의 집합으로 구성됨.
5. 릴레이션의 주요 특징
- 중복된 튜플 허용 X: 릴레이션은 수학적 집합 개념을 따르므로 중복된 행이 없다.
- 튜플 식별을 위한 키 존재: 튜플을 유일하게 식별하기 위해 키(Primary Key 등) 설정 필요.
- 튜플 순서 무관: 행의 순서는 의미가 없다.
- 애트리뷰트 이름 중복 X: 하나의 릴레이션 안에서 열 이름은 고유해야 한다.
- 애트리뷰트 순서도 무관: 열의 순서 자체는 의미가 없다.
- 원자성(Atomicity): 각 애트리뷰트는 더 이상 나눌 수 없는 단일 값이어야 한다. (복합/다중 값 속성 불가)
6. NULL 값의 의미
- 값이 존재하지 않음
- 값이 존재하지만 알 수 없음
- 속성 자체가 해당 없음 (irrelevant)
→ SQL에서 NULL은 위 세 가지 상황을 포괄하는 특별한 상태이며, 연산 시 주의가 필요하다.
7. 키(Key)의 종류
🔹 슈퍼키(Super Key)
- 튜플을 유일하게 식별할 수 있는 속성 집합
🔹 후보키(Candidate Key)
- 슈퍼키 중에서 불필요한 속성을 제거한 최소 키
- 여러 개 존재할 수 있음
🔹 기본키(Primary Key)
- 후보키 중에서 대표로 선택된 키
- NULL을 가질 수 없음, 유일성 보장
🔹 대체키(Alternate Key)
- 기본키가 아닌 나머지 후보키들
🔹 외래키(Foreign Key)
- 다른 릴레이션의 기본키를 참조하는 속성
- 두 릴레이션 간의 관계를 표현
8. 무결성 제약조건 (Integrity Constraints)
릴레이션 간 일관성과 정확성을 보장하기 위한 제약조건. 다음과 같이 분류된다.
🔹 1. 암묵적 제약조건 (Implicit Constraints)
- 릴레이션 모델이 기본적으로 가지는 제약
- 튜플 중복 불가
- 애트리뷰트 이름 중복 불가
🔹 2. 스키마 기반 제약조건 (Schema-based Constraints)
- DDL을 통해 명시적으로 정의하는 제약
- 예: PRIMARY KEY, UNIQUE, NOT NULL, FOREIGN KEY 등
🔹 3. 도메인 제약조건 (Domain Constraints)
- 애트리뷰트의 값은 반드시 정의된 도메인 범위에 속해야 함
- 예: age INT CHECK (age > 0)
추가로 알아두면 좋은 제약조건
▪ Key Constraint
- 릴레이션 내 모든 튜플은 기본키 값이 고유해야 한다.
▪ Entity Integrity
- 기본키는 NULL을 가질 수 없다.
▪ Referential Integrity
- 외래키는 참조 대상 릴레이션의 기본키 값과 일치하거나, NULL이어야 한다.
마무리
관계형 데이터 모델은 데이터 구조를 엄격하고 명확하게 정의하는 데 초점을 맞춘다. 릴레이션과 그에 따른 다양한 제약조건은 데이터의 무결성과 정합성을 보장하기 위한 핵심적인 요소이다. 실무에서는 테이블 설계 단계에서 이 모델을 기반으로 논리적 스키마를 정하고, 이를 바탕으로 물리적 DB 설계를 진행한다.
'CS지식 > 데이터베이스 (Database)' 카테고리의 다른 글
(데이터베이스)Three-tier Architecture와 Stored Function 활용법 (0) | 2025.05.17 |
---|---|
(데이터베이스)SQL 조인 정리 (0) | 2025.05.14 |
(데이터베이스)SQL에서의 NULL과 Three-Valued Logic: 반드시 알아야 할 핵심 개념 정리 (0) | 2025.05.14 |
(데이터베이스) SQL 설명 기본 dml ,ddl ,vdl (0) | 2025.05.10 |
(DB)데이터베이스 시스템의 기본 개념 정리 (0) | 2025.05.07 |