| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- entity
- Websocket
- npm
- 전역변수
- literal
- jwt
- 0.75px border
- 타입스크립트
- 서버리스 #
- Props
- 당근마켓
- angular
- TypeScript
- 컴포넌튼
- 문서번호
- 1px border
- TS
- 클론코딩
- ZOOM
- &연산
- es6
- 0.5px border
- 0.25px border
- 데이터베이스 #try #이중
- ES5
- 으
- font-size
- github
- 10px
- Strict
Archives
- Today
- Total
복잡한뇌구조마냥
[DB] 데이터 무결성(Integrity)의 종류와 제약조건 정리 본문
🧱 1. 무결성이란?
- 정의: 데이터베이스에 저장된 데이터의 정확성, 일관성, 유효성을 유지하기 위한 성질
- 목적: 잘못된 데이터 입력, 중복, 삭제 오류 등으로부터 데이터의 신뢰성을 보장
- 관련 개념: 제약조건(Constraints) — 무결성을 보장하기 위한 규칙
🔍 2. 무결성의 종류
| 구분 | 설명 | 예시 |
| 개체 무결성 (Entity Integrity) | 기본키(Primary Key)는 NULL이거나 중복될 수 없음 | 학생 테이블의 학번은 중복 X |
| 참조 무결성 (Referential Integrity) | 외래키(Foreign Key)는 참조하는 기본키가 존재해야 함 | 수강 테이블의 학번은 반드시 학생 테이블에 존재해야 함 |
| 도메인 무결성 (Domain Integrity) | 속성(Attribute)의 값이 정의된 범위 내에 있어야 함 | 성별 컬럼이 ‘M’, ‘F’만 허용 |
| 사용자 정의 무결성 (User-Defined Integrity) | 사용자가 업무 규칙에 따라 직접 정의한 규칙 | 급여는 0 이상이어야 함 (CHECK (salary >= 0)) |
⚙️ 3. 무결성 보장을 위한 제약조건(Constraints)
| 제약조건 | 설명 | 예시 |
| PRIMARY KEY | 개체 무결성 보장 | PRIMARY KEY (id) |
| FOREIGN KEY | 참조 무결성 보장 | FOREIGN KEY (dept_id) REFERENCES department(id) |
| NOT NULL | NULL 불허 | name VARCHAR(20) NOT NULL |
| UNIQUE | 중복 불허 | email UNIQUE |
| CHECK | 사용자 정의 조건 | CHECK (age >= 0) |
| DEFAULT | 기본값 설정 | DEFAULT 'N/A' |
💬 4. 정리 요약
- 무결성은 DB 신뢰성을 유지하기 위한 핵심 개념
- 실제 구현은 제약조건으로 보장
- 스키마 설계 단계에서 가장 먼저 고려해야 할 요소 중 하나
LIST
'BE > DB' 카테고리의 다른 글
| [DB] Cache Stampede ( 캐시 스탬피드 ) (0) | 2025.12.10 |
|---|---|
| [DB] Redis (0) | 2025.12.07 |
| [DB] 트랜잭션(Transaction)과 ACID 특성 정리 (0) | 2025.10.29 |
| [DB] 벡터 데이터베이스(Vector DB) (0) | 2025.09.22 |
| [SQL] 명령어 분류 - DDL / DML / DCL / TCL (0) | 2025.09.22 |