반응형
🖥️ 데이터베이스의 세 가지 제약: 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
테이블에 존재한다면, 참조 무결성 제약으로 인해 삭제가 제한될 수 있습니다.
- 예를 들어,
이 세 가지 제약은 데이터베이스 내에서 데이터의 정확성, 무결성, 일관성을 유지하기 위해 필수적인 역할을 합니다.
도움이 되었다면, 공감/댓글을 달아주면 깃짱에게 큰 힘이 됩니다!🌟
비밀댓글과 메일을 통해 오는 개인적인 질문은 받지 않고 있습니다. 꼭 공개댓글로 남겨주세요!
반응형