제약조건

  • 데이터를 추가, 삭제, 수정하는 가운데 DB의 무결성을 유지
  • 무결성이란 DB 데이터가 정확하고 기본 규칙을 지킨다는 뜻이다
종류 설명
NOT NULL NULL의 저장을 허용하지 않는다(반드시 값이 존재해야 됨), 중복여부와는 상관없다
UNIQUE 해당 컬럼에서 중복 데이터를 허용하지 않는다, NULL은 중복 대상에서 제외
PRIMARY KEY UNIQUE + NOT NULL 제약조건을 전부 가짐, 중복 데이터 허용X NULL 허용X, 자동으로 인덱스 생성됨
FOREIGN KEY 서로 다른 테이블 간 관계를 정의 함
CHECK 열에 저장할 수 있는 값의 범위, 패턴을 정의할 수 있음
DEFAULT 특정 열에 저장할 값이 지정되지 않았을 경우에 기본값을 지정

컬럼 레벨 제약 조건

  • 컬럼을 생성할 때 데이터 타입 옆에 제약조건을 적는다
CREATE TABLE NAME(
ID VARCHAR(20) NOT NULL
);

테이블 레벨 방식

  • 테이블 칼럼 을 전부 선언 후 제약조건을 나중에 선언하는 것
CREATE TABLE NAME(
PLAYER_ID VARCHAR(20) NOT NULL

CONSTRAINT 제약조건 이름 FOREIGN KEY(컬럼명)
                        REFERENCES 테이블(컬럼명)
);

테이블 수정 방식

  • 테이블을 생성한 후 제약조건을 ALTER 수정하듯이 추가하는 것
CREATE TABLE NAME(
ID NUMBER,
PASS NUMBER
);

ALTER TABLE 테이블이름 ADD CONSTRAINT 제약조건 이름 PRIMARY KEY(컬럼 이름)