복잡한뇌구조마냥

[DB] 데이터 무결성(Integrity)의 종류와 제약조건 정리 본문

BE/DB

[DB] 데이터 무결성(Integrity)의 종류와 제약조건 정리

지금해냥 2025. 11. 2. 23:19

🧱 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