[DBMS] 데이터베이스의 세 가지 제약: Domain, Entity, Referential Integrity Constraint

2024. 10. 15. 20:00· Computer Science/Database
목차
  1. 🖥️ 데이터베이스의 세 가지 제약: Domain, Entity, Referential Integrity Constraint
  2. ✅ Domain Constraint (도메인 제약)
  3. ✅ Entity Integrity Constraint (개체 무결성 제약)
  4. ✅ Referential Integrity Constraint (참조 무결성 제약)
반응형

🖥️ 데이터베이스의 세 가지 제약: Domain, Entity, Referential Integrity Constraint

데이터베이스는 유용한 정보를 저장하고 관리하기 위한 시스템입니다. 이 시스템에서는 데이터의 무결성을 보장하고 오류가 발생하지 않도록 다양한 제약 조건을 설정할 수 있습니다. 대표적으로 세 가지 제약, 즉 Domain Constraint, Entity Integrity Constraint, Referential Integrity Constraint가 있습니다. 각각의 제약은 데이터의 정확성과 일관성을 유지하는 데 중요한 역할을 합니다.

✅ Domain Constraint (도메인 제약)

  • 도메인 제약은 특정 속성에 저장될 수 있는 값의 범위를 정의하는 제약입니다. 각 컬럼에 허용된 데이터 타입과 값의 범위를 설정하여 데이터의 유효성을 보장합니다.
    • 예를 들어, age라는 컬럼에 나이를 저장한다고 가정했을 때, 이 컬럼은 양수만 허용되도록 제약을 설정할 수 있습니다. 나이에 음수가 들어가는 것을 방지하기 위함입니다.
    • 문자열 컬럼에서는 특정 형식의 값만 허용할 수 있습니다. 예를 들어, 이메일 주소 형식만 입력되도록 제약을 설정할 수 있습니다.

✅ Entity Integrity Constraint (개체 무결성 제약)

  • 개체 무결성 제약은 데이터베이스의 각 테이블에서 기본 키(primary key)가 유일하고 Null 값을 가질 수 없음을 보장하는 제약입니다. 기본 키는 테이블 내에서 각 행을 고유하게 식별하는 중요한 역할을 합니다.
    • 예를 들어, employees 테이블에서 각 직원의 ID가 기본 키라면, 이 ID는 중복될 수 없고, 값이 없을 수 없습니다. 이를 통해 모든 직원이 고유하게 식별될 수 있습니다.
    • 기본 키는 테이블에서 중복된 데이터가 저장되는 것을 방지하고, 각 행이 명확히 구분되도록 보장합니다.

✅ Referential Integrity Constraint (참조 무결성 제약)

  • 참조 무결성 제약은 외래 키(foreign key)를 사용하여 두 테이블 간의 관계를 유지하는 제약입니다. 외래 키는 한 테이블의 컬럼이 다른 테이블의 기본 키를 참조하도록 설정되어 있습니다. 이를 통해 데이터의 일관성을 유지하고, 참조 관계가 깨지지 않도록 보장합니다.
    • 예를 들어, orders 테이블에 있는 customer_id가 customers 테이블의 기본 키를 참조한다고 가정해 보세요. 이 경우 orders 테이블에 존재하는 모든 customer_id는 반드시 customers 테이블에 있는 유효한 ID여야 합니다.
    • 만약 customers 테이블에서 특정 고객의 정보를 삭제하려고 할 때, 이 고객에 대한 주문이 orders 테이블에 존재한다면, 참조 무결성 제약으로 인해 삭제가 제한될 수 있습니다.

이 세 가지 제약은 데이터베이스 내에서 데이터의 정확성, 무결성, 일관성을 유지하기 위해 필수적인 역할을 합니다.

 

도움이 되었다면, 공감/댓글을 달아주면 깃짱에게 큰 힘이 됩니다!🌟
비밀댓글과 메일을 통해 오는 개인적인 질문은 받지 않고 있습니다. 꼭 공개댓글로 남겨주세요!

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'Computer Science > Database' 카테고리의 다른 글

[DB] Modification Anomaly: 데이터베이스에 삽입/수정/삭제 시 일어나는 이상현상 정리 (ft. 정규화 해조,,,제발,,)  (0) 2024.10.16
[DB] MVCC(Multi Version Concurrency Control): 개념, 격리 수준 별 동작 방식 in MySQL & PostgreSQL  (0) 2024.01.11
[DB] Lock을 활용한 동시성 제어 (feat. 2PL Protocol)  (0) 2024.01.09
[DB] SQL Injection: SELECT * FROM users WHERE username = '' OR '1'='1'; --' AND password = '' OR '1'='1';  (4) 2024.01.09
[DB] 동시성 제어(concurrency control) (2): recoverability, recoverable/cascadeless/strict schedule  (0) 2024.01.08
  1. 🖥️ 데이터베이스의 세 가지 제약: Domain, Entity, Referential Integrity Constraint
  2. ✅ Domain Constraint (도메인 제약)
  3. ✅ Entity Integrity Constraint (개체 무결성 제약)
  4. ✅ Referential Integrity Constraint (참조 무결성 제약)
'Computer Science/Database' 카테고리의 다른 글
  • [DB] Modification Anomaly: 데이터베이스에 삽입/수정/삭제 시 일어나는 이상현상 정리 (ft. 정규화 해조,,,제발,,)
  • [DB] MVCC(Multi Version Concurrency Control): 개념, 격리 수준 별 동작 방식 in MySQL & PostgreSQL
  • [DB] Lock을 활용한 동시성 제어 (feat. 2PL Protocol)
  • [DB] SQL Injection: SELECT * FROM users WHERE username = '' OR '1'='1'; --' AND password = '' OR '1'='1';
깃짱
깃짱
연새데학교 컴퓨터과학과 & 우아한테크코스 5기 백엔드 스타라이토 깃짱
반응형
깃짱
깃짱코딩
깃짱
전체
오늘
어제
  • 분류 전체보기
    • About. 깃짱
    • Weekly Momentum
      • 2024
    • PROJECT
      • AIGOYA LABS
      • Stamp Crush
      • Sunny Braille
    • 우아한테크코스5기
    • 회고+후기
    • Computer Science
      • Operating System
      • Computer Architecture
      • Network
      • Data Structure
      • Database
      • Algorithm
      • Automata
      • Data Privacy
      • Graphics
      • ETC
    • WEB
      • HTTP
      • Application
    • C, C++
    • JAVA
    • Spring
      • JPA
      • MVC
    • AI
    • MySQL
    • PostgreSQL
    • DevOps
      • AWS
      • 대규모 시스템 설계
    • frontend
      • HTML+CSS
    • NextJS
    • TEST
    • Industrial Engineering
    • Soft Skill
    • TIL
      • 2023
      • 2024
    • Linux
    • Git
    • IntelliJ
    • ETC
      • 日本語

블로그 메뉴

  • 홈
  • 깃허브

인기 글

최근 글

태그

  • 우아한테크코스
  • 상속과조합
  • 레벨로그
  • Stream
  • 예외
  • lamda
  • 우테코5기
  • Java
  • 상속
  • 컴포지션
  • TDD
  • 스트림
  • 람다와스트림
  • OOP
  • 조합
  • 우테코
  • 함수형프로그래밍
  • 우아한테크코스5기
  • 람다
  • Composition
hELLO · Designed By 정상우.v4.2.0
깃짱
[DBMS] 데이터베이스의 세 가지 제약: Domain, Entity, Referential Integrity Constraint
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.