코딩세상
[데이터베이스 기초] 2. 데이터베이스 구성하기 - 제약 조건 본문
- 데이터베이스에서의 제약 조건이란?
데이터베이스를 구성하고 있는 요소 중 붉은색 박스로 표시한 것을 제약조건이라고 하며, 이는 테이블에 잘못된 데이터가 입력되는 것을 방지하기 위한 규칙입니다.
이를 통해 우리는 무결성을 지킬 수 있습니다.
- NOT NULL
그렇다면 위에서 표시한 NOT NULL은 의미하는 바는 다음과 같습니다.
<' 널(NULL)값 비허용'>
이는 NOT NULL이라고 표시된 항목의 데이터를 입력하지 않으면 에러가 발생하여 필수적으로 해당 제약 조건의 데이터는 입력하여야 합니다.
기본적으로 아무것도 명시하지 않은 경우 NULL값을 허용하게 됩니다.
- UNIQUE
다음으로는 UNIQUE입니다.
UNIQUE의 경우 중복되는 값을 비허용하는 제약 조건으로 홈페이지에서 우리가 아이디를 생성할 때 중복된 아이디는 생성할 수 없는 것을 생각하면 이해하기 쉽습니다.
NULL 값은 비교가 불가능하기 떄문에 중복되어도 에러가 발생학지 않습니다.
- DEFAULT
DEFAULT 제약조건의 경우 말 그대로 기본값을 설정해주는 제약 조건 입니다.
위 코드를 통해 address의 제약조건에 DEFAULT 'No Address'를 설정해줌으로써 다른 주소 데이터가 입력되지 않았을 때 기본값으로 No Address가 설정되게 됩니다.
- CHECK
CHECK 제약 조건의 경우 값의 범위를 제한하여 특정 값만 허용하는 것으로써, 설정된 범위에 맞는 값이 아닌 경우 에러가 발생하게 됩니다.
- 제약 조건 정의(CONSTRAINT)
제약 조건 이름 정의 : CONSTRAINT 제약조건이름 제약조건[UNIQUE, CHECK, ...](적용할 속성);
생성된 제약 조건 확인 : SELECT * FROM information_chema.table_constraints;
- 제약 조건 추가
제약 조건 추가 : ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건이름 제약조건(속성);
DEFAULT 제약 조건 수정 : ALTER TABLE 테이블명 ALTER 속성 SET DEFAULT 기본값;
- 제약 조건 삭제
제약 조건 삭제 : ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건이름;
DEFAULT 제약 조건 삭제 : ALTER TABLE 테이블명 ALTER 속성 DROP DEFAULT;
# 출처 엘리스 AI트랙 7기 - [수업자료] 데이터베이스 구성하기
'데이터분석 > 데이터베이스' 카테고리의 다른 글
[데이터베이스 기초] 2. 데이터베이스 구성하기 - 데이터 모델링 (0) | 2023.12.10 |
---|---|
[데이터베이스 기초] 2. 데이터베이스 구성하기 - 키(Key) (0) | 2023.12.10 |
[데이터베이스 기초] 1. 데이터베이스 개요 - 데이터베이스 정의어 (0) | 2023.12.10 |
[데이터베이스 기초] 1. 데이터베이스 개요 - 데이터베이스 종류 (0) | 2023.12.10 |
[데이터베이스 기초] 1. 데이터베이스 개요 - 데이터베이스 소개 (0) | 2023.12.10 |