[DB] 무결성 테이블 만들기 (연습문제)
2022. 2. 18. 19:48ㆍDataBase
반응형
create table country (
country_id serial primary key,
country_name varchar(30) not null
);
create table users(
user_pk SERIAL,
user_id VARCHAR(10) NOT NULL UNIQUE,
user_pw varchar not null,
user_age NUMERIC(3) NOT NULL,
register_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
country_cd SERIAL NOT NULL REFERENCES country(country_id) ON DELETE CASCADE,
PRIMARY KEY(user_pk, country_cd)
);
CREATE TABLE topic(
topic_cd SERIAL PRIMARY KEY,
topic_name VARCHAR(10) NOT NULL UNIQUE
);
CREATE TABLE board(
board_pk SERIAL,
board_user VARCHAR NOT NULL,
board_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
topic_cd SERIAL,
title VARCHAR(100) NOT NULL,
description TEXT NOT NULL,
hidden BOOLEAN NOT NULL,
likes INTEGER DEFAULT 0 NOT NULL,
comments JSON,
PRIMARY KEY (board_pk, topic_cd),
FOREIGN KEY(board_user) references users(user_id) ON DELETE CASCADE,
FOREIGN KEY(topic_cd) REFERENCES topic(topic_cd) ON DELETE CASCADE
);
반응형
'DataBase' 카테고리의 다른 글
[DB] MySQL에서 하지 말아야 할 것 (0) | 2022.02.27 |
---|---|
[DB] 에브리타임 유저 , 게시판 디비 설계 (0) | 2022.02.20 |
[DB] 테이블 만들때 현재 시간 자동으로 저장 (0) | 2022.02.17 |
[DB] 기존 테이블의 컬럼에 제약조건 추가/삭제 하기 (0) | 2022.02.17 |
[DB] check 제약조건 (0) | 2022.02.17 |