본문 바로가기
oracle

오라클9 (도메인제약조건)

by 킹차니 2021. 3. 21.

제약 조건

에는 도메인, 엔티티, 릴레이션 이 있다.

제약조건

먼저 도메인 제약 조건에 대해 알아보자.

도메인 제약 조건은 유효한 값의 범위를 제한하는 것이다.

사용자가 회원가입시 입력하는 ID를 필수(NOT NULL)로 요구하거나, 

누군가 게시글을 올렸을 때 조회수를 기본 값(DEFAULT) 0으로 설정한다던지..

사용자의 입력 형식이 우리가 정한 형식과 맞는지 확인(check)한다던지....아래의 예시를 보자.

 

 

 

1. NOT NULL

 

필수로 입력되어야하는 데이터로써 지정할 때 NOT NULL을 쓸 수 있다.

NOT NULL

위의 쿼리에서 ID와 PHONE을 입력하지 않고 데이터를 넣으려 하면 오류가 날 것이다.

 

 

2. DEFAULT

 

누군가가 데이터를 입력하지 않으면 기본 값을 지정하여 그 기본 값을 넣어준다.

DEFAULT

위의 쿼리에서 PHONE의 디폴트 값을 '000-0000-0000'으로 지정하였다. 이렇게 되면 PHONE값을 기입하지 않고 데이터를 넣으려하면 000-0000-0000'가 들어갈 것이다.

 

 

3. CHECK

 

CHECK 는 넣으려고 하는 값이 적절한지 CHECK해준다. 자세히 봐보자.

CHECK

위의 예에서 PHONE의 CHECK조건을 '010-%-____' 으로 지정하였다. 이렇게 되면 우리가 원하는 번호의 포맷 형식으로 

입력을 해야 데이터가 저장될 것이다. 맨 아래 쿼리 처럼 CHECK조건에 맞지 않는 데이터를 넣으려 한다면

 

오류

이처럼 오류가 난다.

 

 

위의 방법처럼 오라클은 쉽게 제약 조건 설정이 가능하다

 

위의 검사조건에 원하는 제약 조건을 기입하면 된다.

 

그런데 만약 '010-ACDC-ACDC'같은 값을 PHONE에 넣으려 한다면 우리가 지정한 제약 조건으로는 데이터가 들어가게 될 것이다.

그리하여 우리는 정규표현식을 사용하여 더 세밀하게 제역조건을 걸어준다.

^:             무조건 이렇게 시작해야함

[01]:        0이거나 1이거나

\d{3,4}:   숫자가 3개이거나 4개 이거나

\d{4}:      숫자가 4개

$:            무조건 이렇게 끝나야함

 

물론 위처럼 조건을 지정할 수도 있다.

 

 

 

마지막은 테이블의 제약조건이 뭐가 있나 확인하는 방법이다.

 

'oracle' 카테고리의 다른 글

오라클10 (엔티티 제약조건)  (0) 2021.03.21
오라클 8 (UNION)  (0) 2021.03.20
오라클7 (JOIN2)  (0) 2021.03.20
오라클6( JOIN 1)  (0) 2021.03.19
오라클4(함수)  (0) 2021.03.19