2013년 8월 11일 일요일

스트럿츠 멀티게시판 전체 스키마 스크립트입니다.

CREATE TABLE BOARD_MST (
      BOARD_CODE          CHAR(5) NOT NULL,
      BOARD_NAME          VARCHAR2(50) NULL,
      TOP_HTML            CLOB NOT NULL,
      LEFT_HTML            CLOB NOT NULL,
      RIGHT_HTML          CLOB NOT NULL,
      BOTTOM_HTML          CLOB NOT NULL,
      IS_PAGE_COUNT        CHAR(1) NOT NULL,
      IS_SEARCH            CHAR(1) NOT NULL,
      IS_FILE              CHAR(1) NOT NULL,
      IS_MEMO              CHAR(1) NOT NULL,
      IS_REPLY            CHAR(1) NULL,
      MEMBER_LEVEL        NUMBER(1) NOT NULL,
      LIST_PER_PAGE        NUMBER(2) NOT NULL,
      PAGE_COUNT          NUMBER(2) NOT NULL,
      TABLE_COLOR1        CHAR(7) NOT NULL,
      TABLE_COLOR2        CHAR(7) NOT NULL,
      CONSTRAINT XPKBOARD_MST
              PRIMARY KEY (BOARD_CODE)
);

COMMENT ON COLUMN BOARD_MST.BOARD_CODE IS '게시판 코드';
COMMENT ON COLUMN BOARD_MST.BOARD_NAME IS '게시판 이름';
COMMENT ON COLUMN BOARD_MST.TOP_HTML IS '상단 태그';
COMMENT ON COLUMN BOARD_MST.LEFT_HTML IS '좌측 태그';
COMMENT ON COLUMN BOARD_MST.RIGHT_HTML IS '우측 태그';
COMMENT ON COLUMN BOARD_MST.BOTTOM_HTML IS '하단 태그';
COMMENT ON COLUMN BOARD_MST.IS_PAGE_COUNT IS '페이지 카운터 사용여부';
COMMENT ON COLUMN BOARD_MST.IS_SEARCH IS '검색 사용여부';
COMMENT ON COLUMN BOARD_MST.IS_FILE IS '파일 업로드 사용 여부';
COMMENT ON COLUMN BOARD_MST.IS_MEMO IS '꼬리말 사용 여부';
COMMENT ON COLUMN BOARD_MST.IS_REPLY IS '답글 사용여부';
COMMENT ON COLUMN BOARD_MST.MEMBER_LEVEL IS '사용자 레벨';
COMMENT ON COLUMN BOARD_MST.LIST_PER_PAGE IS '한 페이지당 게시물 갯수';
COMMENT ON COLUMN BOARD_MST.PAGE_COUNT IS '페이지갯수';
COMMENT ON COLUMN BOARD_MST.TABLE_COLOR1 IS '테이블 헤더 칼라1';
COMMENT ON COLUMN BOARD_MST.TABLE_COLOR2 IS '테이블 헤더 칼라2';

CREATE TABLE MEMBER (
      MEMBER_ID            VARCHAR2(10) NOT NULL,
      MEMBER_PASSWORD      VARCHAR2(10) NULL,
      MEMBER_NAME          VARCHAR2(10) NULL,
      MEMBER_LEVEL        NUMBER(1) NULL,
      CONSTRAINT XPKMEMBER
              PRIMARY KEY (MEMBER_ID)
);

COMMENT ON COLUMN MEMBER.MEMBER_ID IS '계정';
COMMENT ON COLUMN MEMBER.MEMBER_PASSWORD IS '비밀번호';
COMMENT ON COLUMN MEMBER.MEMBER_NAME IS '이름';
COMMENT ON COLUMN MEMBER.MEMBER_LEVEL IS '유저 레벨';

CREATE TABLE BOARD (
      BOARD_CODE          CHAR(5) NOT NULL,
      BOARD_NO            NUMBER NOT NULL,
      BOARD_GRADE          NUMBER(2) NOT NULL,
      WRITE_DATE          CHAR(19) NOT NULL,
      TITLE                VARCHAR2(100) NOT NULL,
      HIT                  NUMBER NOT NULL,
      CONTENT_TYPE        CHAR(4) NOT NULL,
      CONTENT              CLOB NOT NULL,
      FILE_NAME            VARCHAR2(100) NULL,
      MEMBER_ID            VARCHAR2(10) NOT NULL,
      CONSTRAINT XPKBOARD
              PRIMARY KEY (BOARD_CODE, BOARD_NO, BOARD_GRADE,
              WRITE_DATE),
      CONSTRAINT R_4
              FOREIGN KEY (MEMBER_ID)
                            REFERENCES MEMBER
                            ON DELETE SET NULL,
      CONSTRAINT R_3
              FOREIGN KEY (BOARD_CODE)
                            REFERENCES BOARD_MST
                            ON DELETE SET NULL
);

COMMENT ON COLUMN BOARD.BOARD_CODE IS '게시판 코드';
COMMENT ON COLUMN BOARD.BOARD_NO IS '게시물 번호';
COMMENT ON COLUMN BOARD.BOARD_GRADE IS '게시물 레벨';
COMMENT ON COLUMN BOARD.WRITE_DATE IS '작성일';
COMMENT ON COLUMN BOARD.TITLE IS '제목';
COMMENT ON COLUMN BOARD.HIT IS '조회수';
COMMENT ON COLUMN BOARD.CONTENT_TYPE IS '글쓰기 타입';
COMMENT ON COLUMN BOARD.CONTENT IS '본문';
COMMENT ON COLUMN BOARD.FILE_NAME IS '파일명';
COMMENT ON COLUMN BOARD.MEMBER_ID IS '계정';

CREATE TABLE MEMO (
      BOARD_CODE          CHAR(5) NOT NULL,
      BOARD_NO            NUMBER NOT NULL,
      BOARD_GRADE          NUMBER(2) NOT NULL,
      WRITE_DATE          CHAR(19) NOT NULL,
      MEMO_NO              NUMBER(5) NOT NULL,
      MEMBER_ID            VARCHAR2(10) NULL,
      MEMO                VARCHAR2(200) NULL,
      MEMO_TIME            CHAR(10) NULL,
      CONSTRAINT XPKMEMO
              PRIMARY KEY (BOARD_CODE, BOARD_NO, BOARD_GRADE,
              WRITE_DATE, MEMO_NO),
      CONSTRAINT R_7
              FOREIGN KEY (BOARD_CODE, BOARD_NO, BOARD_GRADE,
              WRITE_DATE)
                            REFERENCES BOARD
                            ON DELETE SET NULL
);

COMMENT ON COLUMN MEMO.BOARD_CODE IS '게시판 코드';
COMMENT ON COLUMN MEMO.BOARD_NO IS '게시물 번호';
COMMENT ON COLUMN MEMO.BOARD_GRADE IS '게시물 레벨';
COMMENT ON COLUMN MEMO.WRITE_DATE IS '작성일';
COMMENT ON COLUMN MEMO.MEMO_NO IS '꼬리말 번호';
COMMENT ON COLUMN MEMO.MEMBER_ID IS '회원 아이디';
COMMENT ON COLUMN MEMO.MEMO IS '꼬리말 내용'; 

댓글 없음:

댓글 쓰기