백엔드/PostgresQL

[PostgreSQL] Postgresql 강좌 - 5.제약 조건

Koras02 2022. 4. 8. 23:04

1.Check constraints

Check constraints는 가장 일반적인 제약 조건입니다.

특정 컬럼의 값이 boolean식에 부합되는지 체크합니다.

예를 들어 물건의 가격에 대한 check constraint를 대입할 경우 입니다.

 

products 테이블에서 price 컬럼의 가격이 0보다 큰지를 비교하는 제약조건입니다.

CREATE TABLE products (
    product_no integer,
    name text,
    price numeric CHECK (price > 0)
 );

2. Not null

Not Null의 제약조건은 지정한 컬럼이 null 값과 갖지 않야아 하는 조건입니다.

products 테이블에서 product_no와 name 컬럼은 null값을 가져서는 안된다는 것을 의미합니다.

CREATE TABLE products (
    product_no integer NOT NULL,
    name text NOT NULL,
    price numeric);

3.Unique

Unique의 제약조건은 테이블의 모든 행과 열에 대해 유일한 것을 보장합니다.

products 테이블에서 product_no 컬럼을 unique 제약 조건 없이 값이 중복 되지 않도록 합니다.

CREATE TABLE products (
    product_no integer UNIQUE,
    name text,
    price numeric);

4.Primary key

Primary key는 간단히 말해 unique 제약조건과 not-null 제약조건이 합친 것을 말합니다.

해당 컬럼에 대해 유일한 식별자이고 null이 아닌 것을 primary key 제약조건이라고 합니다.

 

products 테이블에서 product_no 컬럼을 primary key 제약 조건을 걸어 값이 중복되지 않고

null 값이 없도록 하여 product_no컬럼이 유일한 식별자가 되도록 하빈다.

CREATE TABLE products (
    product_no integer PRIMARY KEY,
    name text,
    price numeric);

5.Foreign Key

Foreign key는 지정한 칼럼이 다른 테이블의 primary key인 것을 말합니다.

products 테이블의 b와 c컬럼을 foreign key로 지정했습니다. 그리고 칼럼b와 c는 products2 테이블에서 

primary key인 c1과 c2가 되었습니다.

CREATE TABLE products (
  a integer PRIMARY KEY,
  b integer,
  c integer,
  FOREIGN KEY (b, c) REFERENCES products2 (c1, c2));

참고 자료

 

제약조건

Check constraints Check constraints는 가장 일반적인 제약 조건입니다. 특정 컬럼의 값이 boolean식에 부합하는지를 체크합니다. 예를 들..

www.gurubee.net