[DB] 무결성 테이블 만들기 (연습문제)

2022. 2. 18. 19:48DataBase

반응형

 

 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
 );
반응형