제약 조건
에는 도메인, 엔티티, 릴레이션 이 있다.
먼저 도메인 제약 조건에 대해 알아보자.
도메인 제약 조건은 유효한 값의 범위를 제한하는 것이다.
사용자가 회원가입시 입력하는 ID를 필수(NOT NULL)로 요구하거나,
누군가 게시글을 올렸을 때 조회수를 기본 값(DEFAULT) 0으로 설정한다던지..
사용자의 입력 형식이 우리가 정한 형식과 맞는지 확인(check)한다던지....아래의 예시를 보자.
1. NOT NULL
필수로 입력되어야하는 데이터로써 지정할 때 NOT NULL을 쓸 수 있다.
위의 쿼리에서 ID와 PHONE을 입력하지 않고 데이터를 넣으려 하면 오류가 날 것이다.
2. DEFAULT
누군가가 데이터를 입력하지 않으면 기본 값을 지정하여 그 기본 값을 넣어준다.
위의 쿼리에서 PHONE의 디폴트 값을 '000-0000-0000'으로 지정하였다. 이렇게 되면 PHONE값을 기입하지 않고 데이터를 넣으려하면 000-0000-0000'가 들어갈 것이다.
3. 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 |