• 데이터가 제약이 없이 들어가게되면 유효하지 않은 데이터들이 채워질수가있다. -> 데이터에 아무 데이터가 들어갈수없게 제약을 잘걸어서 결함이없도록 제약조건을 걸자

  • 제약조건 : 도메인, 엔티티, 릴레이션 (테이블관계)

  1. 도메인 제약조건
    ex ) 학번 : 0보다 큰 정수 납입금 : 0보다 크고 100만원보다 작은 정수 이름 : 20자 내의 문자 납입일: 2012년 이후 날짜 -> 컬럼의 유효한 값의 범위를 도메인이라고한다.
    • 속성에 도메인이 아닌 값을 올수 없도록 하는 제약 조건 ( NOT NULL :값을 안넣으면 에러가 난다. DEFAULT : 사용자가 입력하는것이아니라 기본값 CHECK : 값의 유효범위를 체크할수있는것 )
  • NOT NULL 제약조건
    CREATE TABLE TEST
    (
      ID VARCHAR2(50) NOT NULL;
      EMAIL VARCHAR2(200) NULL;
      PHONE CHAR(13) NOT NULL;
    )
    

    -> NOT NULL에는 값을 반드시 입력해야한다.

  • DEFAULT 제약조건
    CREATE TABLE TEST
    (
      ID VARCHAR2(50) NOT NULL;
      EMAIL VARCHAR2(200) NULL;
      PHONE CHAR(13) NOT NULL;
      PWD VARCHAR(200) DEFAULT '111' 
    )
    

    -> 굳이 직접 입력할 필요없는 컬럼들 (등록일, 조회수, 관리자가 부여하는 비번)

-> 테이블 생성후에 적용방법

ALTER TABLE TEST MODIFY EMAIL VARCHAR2(200) DEFAULT '111';
INSERT INTO TEST("UID",'PHONE') VALUES('NEWLECT','222');

댓글남기기