Heestory

0602 NewLecture)제약 조건 본문

개발(~국비)/SQL

0602 NewLecture)제약 조건

까만밀가루 2022. 6. 2. 23:18

42강)도메인 제약 조건

제약 조건 : 유효한 데이터만 넣기 위하여

 

도메인 → 엔티티 → 릴레이션

 

도메인 : 각 컬럼의 유효한 값의 범위

#.속성에 도메인이 아닌 값이 올 수 없도록 하는 제약 조건

- NOT NULL : NULL 값을 넣을 수 없게 

- DEFAULT : 기본 값을 세팅, 굳이 직접 입력할 필요 없는  컬럼

                      EX.등록일, 조회수, 관리자가 부여하는 비번

                      등록일 : SYSDATE, SYSTIMESTAMP

테이블 생성 후 이처럼 테이블 편집에서 NULL값, DEFAULT값을 설정할 수 있다.

 

#.수정 과정 중 오류 발생 코드

→ ORA-02296 사용으로 설정 불가 - 널 값이 발견되었습니다.

기존 값에 NULL값이 있었을 때 오류 발생 

이 때 TABLE 편집하여 데이터를 넣어준다.

 

 

- CHECK  

제약 조건 추가 방법-①

  CREATE TABLE TEST(

      ID VARCHAR2(50) NULL,

      PHONE VARCHAR2(200) CHECK(PHONE LIKE '010-%-___') NOT NULL,

      EMAIL VARCHAR2(500) NULL

   );

 

# CHECK 위배시 오류 코드:

→ ORA-02290:체크 제약조건에 위배되었습니다.

 

제약 조건 추가 방법-②

이처럼 테이블 설정에서 제약 조건을 추가할 수 있다.

위에 TEST 라면, 이름 : 'TEST_PHONE_CHK1' 이라 되어 있어야함. 

 

제약 조건 추가 방법-③

ALTER TABLE TEST ADD CONSTRAINT CK_TEST_PHONE CHECK(PHONE LIKE '010-%-___');

 

 


44강) 정규식을 이용한 체크 제약 조건

 

 


45강)Entity 제약 조건(Primary Key, Unique)

-중복된 레코드가 없도록 제한한다.

☞ 하나의 컬럼이라도 구분이 가는 게 있어야한다. 중복이 되지 말아야 한다.

PK: 유일한 key

Unique : PK로 사용되진 않지만 중복 불허