| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 데이터베이스 #try #이중
- jwt
- ZOOM
- 1px border
- 0.5px border
- Websocket
- ES5
- angular
- 클론코딩
- Props
- font-size
- literal
- 서버리스 #
- es6
- Strict
- 문서번호
- TS
- 타입스크립트
- npm
- &연산
- TypeScript
- 당근마켓
- 0.25px border
- 10px
- 전역변수
- entity
- 으
- github
- 컴포넌튼
- 0.75px border
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] 트랜잭션(Transaction)과 ACID 특성 정리 (0) | 2025.10.29 |
|---|---|
| [SQL] 명령어 분류 - DDL / DML / DCL / TCL (0) | 2025.09.22 |
| [DB] Supabase 기본 세팅 (1) | 2025.07.14 |
| [DB] ERD Cloud 사용법 (1) | 2025.07.11 |
| [MariaDB] SQL 명령어 연습 (0) | 2025.05.27 |
