Check constraints는 가장 일반적인 제약 조건입니다. 특정 컬럼의 값이 boolean식에 부합하는지를 체크합니다.
예를 들어 물건의 가격에 check constraint를 대입했을 때입니다.
products 테이블에서 price 컬럼의 가격이 0보다 큰지를 비교하는 제약조건입니다.
1 2 3 4 | CREATE TABLE products ( product_no integer , name text, price numeric CHECK (price > 0)); |
Not null 제약조건은 지정한 컬럼이 null값을 갖지 않아야 하는 조건입니다.
products 테이블에서 product_no와 name 컬럼은 null값을 가져서는 안된다는 것을 의미합니다.
1 2 3 4 | CREATE TABLE products ( product_no integer NOT NULL , name text NOT NULL , price numeric ); |
Unique 제약조건은 테이블의 모든 행과 열에 대해서 유일한 것을 보장합니다.
products 테이블에서 product_no 컬럼을 unique 제약 조건을 걸어 값이 중복 되지 않도록 합니다.
1 2 3 4 | CREATE TABLE products ( product_no integer UNIQUE , name text, price numeric ); |
Primary Key는 간단히 말하면 unique 제약조건과 not-null 제약조건이 합친 것을 말합니다. 해당 컬럼에 대해 유일한 식별자이고 null이 아닌 것을 primary key 제약조건이라고 합니다.
products 테이블에서 product_no 컬럼을 primary key 제약 조건을 걸어 값이 중복되지 않고 null값이 없도록 하여 product_no컬럼이 유일한 식별자가 되게 합니다.
1 2 3 4 | CREATE TABLE products ( product_no integer PRIMARY KEY , name text, price numeric ); |
Foreign key는 지정한 컬럼이 다른 테이블의 primary key인 것을 말합니다.
products 테이블의 b와 c컬럼을 foreign key로 지정했습니다. 그리고 컬럼b와 c는 products2 테이블에서 primary key인 c1과 c2가 되었습니다.
1 2 3 4 5 | CREATE TABLE products ( a integer PRIMARY KEY , b integer , c integer , FOREIGN KEY (b, c) REFERENCES products2 (c1, c2)); |
- 강좌 URL : http://www.gurubee.net/lecture/2948
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.