ERD CLOUD 실습용 테이블 스크립트
-- 회원 테이블
CREATE TABLE MEMBER (
MEMBER_NO NUMBER PRIMARY KEY,
USER_ID VARCHAR2(30) NOT NULL UNIQUE,
USER_PWD VARCHAR2(100) NOT NULL,
USER_NAME VARCHAR2(50) NOT NULL,
EMAIL VARCHAR2(100),
ENROLL_DATE DATE DEFAULT SYSDATE
);
-- 회원 상세정보 테이블 (자식 테이블, FPK)
CREATE TABLE MEMBER_DETAIL (
MEMBER_NO NUMBER PRIMARY KEY,
PHONE VARCHAR2(20),
ADDRESS VARCHAR2(200),
BIRTHDATE DATE,
CONSTRAINT FK_MEMBER_DETAIL_MEMBER
FOREIGN KEY (MEMBER_NO )
REFERENCES MEMBER(MEMBER_NO )
);
-- 게시판 테이블
CREATE TABLE BOARD (
BOARD_NO NUMBER PRIMARY KEY,
TITLE VARCHAR2(200) NOT NULL,
CONTENT CLOB,
MEMBER_NO NUMBER NOT NULL,
CREATE_DATE DATE DEFAULT SYSDATE,
VIEW_COUNT NUMBER DEFAULT 0,
CONSTRAINT FK_BOARD_MEMBER
FOREIGN KEY (MEMBER_NO )
REFERENCES MEMBER(MEMBER_NO )
);
-- 댓글 테이블
CREATE TABLE REPLY (
REPLY_ID NUMBER PRIMARY KEY,
BOARD_NO NUMBER NOT NULL,
MEMBER_NO NUMBER NOT NULL,
CONTENT VARCHAR2(500) NOT NULL,
CREATE_DATE DATE DEFAULT SYSDATE,
CONSTRAINT FK_REPLY_BOARD
FOREIGN KEY (BOARD_NO)
REFERENCES BOARD(BOARD_NO),
CONSTRAINT FK_REPLY_MEMBER
FOREIGN KEY (MEMBER_NO )
REFERENCES MEMBER(MEMBER_NO )
);
-- 좋아요 테이블 (두 FK를 PK로 사용)
CREATE TABLE LIKES (
MEMBER_NO NUMBER,
BOARD_NO NUMBER,
LIKE_DATE DATE DEFAULT SYSDATE,
-- 두 FK 컬럼이 동시에 PK
CONSTRAINT PK_LIKES PRIMARY KEY (MEMBER_NO , BOARD_NO),
-- FK 제약조건
CONSTRAINT FK_LIKES_MEMBER FOREIGN KEY (MEMBER_NO )
REFERENCES MEMBER(MEMBER_NO ),
CONSTRAINT FK_LIKES_BOARD FOREIGN KEY (BOARD_NO)
REFERENCES BOARD(BOARD_NO)
);
Last updated