본문 바로가기
Database/OracleSQL

Oracle SQL 제약조건(Constraint)

by hyeon-H 2021. 4. 25.
728x90
반응형

NOT NULL

 - 데이터가 NULL 값을 저장 못하도록 합니다.

 - 새로운 행을 추가할때, NOT NULL로 지정된 열이 항상 값을 가질 수 있도록 합니다.

     ex) CREATE TABLE student (std_code char(10) NOT NULL);

 

FOREIGN KEY

- 2개의 테이블을 연결하기 위해 사용합니다.

 - REFERENCES를 이용하여 참조하는 테이블의 속성을 제시합니다.

     ex) CREATE TABLE student (

                                                              std_code char(10) NOT NULL PRIMARY KEY, name char(10) FOREIGN KEY REFERENCES                                                                                                         department(dep_code));

     ex) CREATE TABLE student (

                                                              std_code char(10) NOT NULL name char(10) PRIMARY KEY(std_code),                                                                                                                                          FOREIGN KEY REFERENCES  department(dep_code));

CHECK

 - 값의 범위를 제한하기 위해 사용합니다.

     ex) CREATE TABLE student (std_code char(10) NOT NULL age int CHECK(age >=18));

 

DEFAULT

 - 기본 값을 지정하기 위해 사용합니다.

 - 새로운 행을 추가할 때, 값을 따로 입력하지 않으면 DEFAULT로 지정한 값이 입력됩니다.

     ex) CREATE TABLE student (std_code char(10) NOT NULL age int DEFAULT 18));

 

UNIQUE

 - 데이터베이스 설계 시 대체 키를 지정하는 것 입니다.

 - 저장된 값들이 모두 다르도록합니다.

 - 하나의 테이블에 여러 개의 열에 적용 가능합니다.

     ex) CREATE TABLE student (std_code char(10) NOT NULL UNIQUE, name char(10));

     ex) CREATE TABLE student (std_code char(10) NOT NULL name char(10) UNIQUE(std_code));

 

PRIMARY KEY

 - 설계 시 기본 키를 지정하기 위한 것 입니다.

 - 저장되는 값들이 모두 다르도록 제한합니다.

 - 하나의 테이블에 하늬 열에만 적용이 가능합니다.

 - 자동적으로 UNIQUE 제약 조건을 가집니다.

 - NULL 값을 가질 수 없습니다.

     ex) CREATE TABLE student (std_code char(10) NOT NULL PRIMAARY KEY, name char(10));

     ex) CREATE TABLE student (std_code char(10) NOT NULL name char(10) PRIMAARY KEY(std_code));

 

 

728x90
반응형

'Database > OracleSQL' 카테고리의 다른 글

SQL, DML  (0) 2021.04.25
Oracle 테이블 생성하기  (0) 2021.04.25
SQL, DDL  (0) 2021.04.25