반응형
반응형
💋 Constriants
✔️ 개념
relational database에 속한 모든 relation들이 모두, 언제나 지켜야 하는 제약 사항
✔️ 구분
implicit constraints, explicit constraints로 구분할 수 있다.
- implicit constraints
- Relational Database Model 자체가 가지는 제약사항
- relation은 중복되는 튜플을 가질 수 없다라던가, relation 내 동일한 이름의 attribute를 가질 수 없다와 같은 제약사항이다.
- explicit constraints
- 주로 DDL을 통해 스키마에 직접 명시할 수 있는 제약사항
- schema-based constraints라고 한다.
이중에서 explicit constraints의 제약사항에 대해서 알아보자!
💋 explicit constraints
✔️ domain constraints
- attribute의 value는 해당 attribute의 도메인에 속한 value여야 한다.
- 도메인 개념에서 말이 되어야 한다는 의미다.
- 예) 초등학교 ‘학년’에 대한 attribute에서 100은 100학년이 없어서 안된다.
- 데이터의 유효성을 확인하기 위해 사용되는 제약으로, 특정 열에 저장될 수 있는 값의 범위나 조건을 정의한다.
- 예를 들어, 나이가 음수가 아니어야 한다는 등의 제약을 두는 데 사용된다.
✔️ Primary Key Constraint
- 서로 다른 튜플은 같은 value의 key를 가질 수 없다.
✔️ NOT NULL Constraint
- attribute가 NOT NULL로 명시되었다면, NULL을 값으로 가질 수 없다.
✔️ Entity Integrity Constraint
- primary key는 value에 NULL을 가질 수 없다.
✔️ Foreign Key Constraint (Referential Integrity Constraint)
- FK, PK와 도메인이 같아야 하고, PK에 없는 value를 FK값으로 가질 수 없다.
도움이 되었다면, 공감/댓글을 달아주면 깃짱에게 큰 힘이 됩니다!🌟
비밀댓글과 메일을 통해 오는 개인적인 질문은 받지 않고 있습니다. 꼭 공개댓글로 남겨주세요!
반응형