DATABASE

[MSSQL] 스프링 게시판 만들기에 사용한 쿼리

예나부기 2021. 7. 25.
CREATE SEQUENCE REPLY_IDX
AS INT
START WITH 0
INCREMENT BY 1
MINVALUE 0
go

CREATE SEQUENCE BOARD_IDX
AS INT
START WITH 0
INCREMENT BY 1
MINVALUE 0
go


CREATE TABLE USER_TABLE(
USER_NAME VARCHAR(50) NOT NULL,
USER_ID VARCHAR(100) PRIMARY KEY,
USER_PW VARCHAR(100) NOT NULL
)
go

CREATE TABLE BOARD_TABLE(
BOARD_IDX INT PRIMARY KEY,
BOARD_TITLE VARCHAR(500) NOT NULL,
BOARD_CONTENT VARCHAR(1000) NOT NULL,
BOARD_WRITER VARCHAR(100) NOT NULL CONSTRAINT CONTENT_FK REFERENCES USER_TABLE(USER_ID),
BOARD_DATE DATETIME NOT NULL
)

go

CREATE TABLE REPLY_TABLE(
BOARD_IDX INT NOT NULL CONSTRAINT REPLY_FK REFERENCES BOARD_TABLE(BOARD_IDX),
REPLY_IDX INT PRIMARY KEY,
REPLY_WRITER VARCHAR(100) CONSTRAINT CONTENT_FK2 REFERENCES USER_TABLE(USER_ID),
REPLY_CONTENT VARCHAR(1000) NOT NULL,
REPLY_DATE DATETIME NOT NULL
)

go

 

테이블은 USER_TABLE(사용자 정보 저장) / BOARD_TABLE(게시판 정보 저장) / REPLY_TABLE(댓글 정보 저장) 총 3개

 

1)USER_TABLE

CREATE TABLE USER_TABLE(
USER_NAME VARCHAR(50) NOT NULL,
USER_ID VARCHAR(100) PRIMARY KEY,
USER_PW VARCHAR(100) NOT NULL
)

2)BOARD_TABLE

CREATE TABLE BOARD_TABLE(
BOARD_IDX INT PRIMARY KEY,
BOARD_TITLE VARCHAR(500) NOT NULL,
BOARD_CONTENT VARCHAR(1000) NOT NULL,
BOARD_WRITER VARCHAR(100) NOT NULL CONSTRAINT CONTENT_FK REFERENCES USER_TABLE(USER_ID),
BOARD_DATE DATETIME NOT NULL
)

-BOARD_IDX : 작성된 글에 부여되는 시퀀스

-BOARD_TITLE : 작성된 글의 제목

-BOARD_CONTENT : 작성된 글의 내용

-BOARD_WRITER : 작성된 글의 작성자 (USER_TABLE 내 USER_ID 컬럼의 FOREIGN KEY)

-BOARD_DATE : 작성된 글의 작성일자

 

3)REPLY_TABLE

CREATE TABLE REPLY_TABLE(
BOARD_IDX INT NOT NULL CONSTRAINT REPLY_FK REFERENCES BOARD_TABLE(BOARD_IDX),
REPLY_IDX INT PRIMARY KEY,
REPLY_WRITER VARCHAR(100) CONSTRAINT CONTENT_FK2 REFERENCES USER_TABLE(USER_ID),
REPLY_CONTENT VARCHAR(1000) NOT NULL,
REPLY_DATE DATETIME NOT NULL
)

-BOARD_IDX : 댓글이 작성된 게시글의 시퀀스 (BOARD_TABLE 내 BOARD_IDX컬럼의 FOREIGN KEY)

-REPLY_IDX : 작성된 댓글에 부여되는 시퀀스

-REPLY_WRITER : 작성된 댓글의 작성자 (USER_TABLE 내 USER_ID 컬럼의 FOREIGN KEY)

-REPLY_CONTENT : 작성된 댓글의 내용

-REPLY_DATE : 작성된 댓글의 작성일자

댓글