-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTableScript.sql
More file actions
205 lines (155 loc) · 9.47 KB
/
Copy pathTableScript.sql
File metadata and controls
205 lines (155 loc) · 9.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
DROP TABLE MEMBER;
DROP TABLE NOTICE;
DROP TABLE BOARD;
DROP TABLE REPLY;
DROP SEQUENCE SEQ_NNO; -- 공지사항번호 발생시킬 시퀀스
DROP SEQUENCE SEQ_BNO; -- 게시판번호 발생시킬 시퀀스
DROP SEQUENCE SEQ_RNO; -- 댓글번호 발생시킬 시퀀스
--------------------------------------------------
-------------- MEMBER 관련 ------------------
--------------------------------------------------
CREATE TABLE MEMBER (
USER_ID VARCHAR2(30) PRIMARY KEY,
USER_PWD VARCHAR2(100) NOT NULL,
USER_NAME VARCHAR2(15) NOT NULL,
EMAIL VARCHAR2(100),
GENDER VARCHAR2(1) CHECK (GENDER IN('M', 'F')),
AGE NUMBER,
PHONE VARCHAR2(13),
ADDRESS VARCHAR2(100),
ENROLL_DATE DATE DEFAULT SYSDATE,
MODIFY_DATE DATE DEFAULT SYSDATE,
STATUS VARCHAR2(1) DEFAULT 'Y' CHECK (STATUS IN('Y', 'N'))
);
COMMENT ON COLUMN MEMBER.USER_ID IS '회원아이디';
COMMENT ON COLUMN MEMBER.USER_PWD IS '회원비밀번호';
COMMENT ON COLUMN MEMBER.USER_NAME IS '회원이름';
COMMENT ON COLUMN MEMBER.EMAIL IS '회원이메일';
COMMENT ON COLUMN MEMBER.GENDER IS '회원성별';
COMMENT ON COLUMN MEMBER.AGE IS '회원나이';
COMMENT ON COLUMN MEMBER.PHONE IS '회원전화번호';
COMMENT ON COLUMN MEMBER.ADDRESS IS '회원주소';
COMMENT ON COLUMN MEMBER.ENROLL_DATE IS '회원가입날짜';
COMMENT ON COLUMN MEMBER.MODIFY_DATE IS '회원수정날짜';
COMMENT ON COLUMN MEMBER.STATUS IS '회원상태값';
INSERT INTO MEMBER
VALUES ('admin', '$2a$10$BD.4Ik86tpfIc8sdj70sGOkdaZXTjTaAXurZqCW0E/xCHF0nmcYBa', '관리자', 'admin@kh.or.kr', 'F', 30, '010-1111-2222', '서울시 강남구 역삼동', '20190101', '20190101', DEFAULT);
INSERT INTO MEMBER
VALUES ('user01', '$2a$10$j0Mp0DR9m2pi7Hf8wCArsu/HEzdlYBeLbsg03cllOKKuPYmLJvKee', '홍길동', 'user01@kh.or.kr', 'M', 25, '010-3333-4444', '서울시 마포구 공덕동', '20190201', '20190201', DEFAULT);
INSERT INTO MEMBER
VALUES ('user02', '$2a$10$nhKEdpo.1lu/mRUnxQGygeJ7kqsbSe74dtK58NMA5OAvEDFaQRe0m', '김말똥', 'user02@kh.or.kr', 'F', 23, '010-5555-6666', '서울시 영등포구 양평동', '20190301', '20190301', DEFAULT);
--------------------------------------------------
-------------- NOTICE 관련 -------------------
--------------------------------------------------
CREATE TABLE NOTICE(
NOTICE_NO NUMBER PRIMARY KEY,
NOTICE_TITLE VARCHAR2(100) NOT NULL,
NOTICE_WRITER VARCHAR2(30) NOT NULL,
NOTICE_CONTENT VARCHAR2(200) NOT NULL,
CREATE_DATE DATE DEFAULT SYSDATE,
STATUS VARCHAR2(1) DEFAULT 'Y' CHECK (STATUS IN ('Y', 'N')),
FOREIGN KEY(NOTICE_WRITER) REFERENCES MEMBER ON DELETE CASCADE
);
COMMENT ON COLUMN NOTICE.NOTICE_NO IS '공지사항번호';
COMMENT ON COLUMN NOTICE.NOTICE_TITLE IS '공지사항제목';
COMMENT ON COLUMN NOTICE.NOTICE_WRITER IS '공지사항작성자아이디';
COMMENT ON COLUMN NOTICE.NOTICE_CONTENT IS '공지사항내용';
COMMENT ON COLUMN NOTICE.CREATE_DATE IS '공지사항작성날짜';
COMMENT ON COLUMN NOTICE.STATUS IS '공지사항상태값';
CREATE SEQUENCE SEQ_NNO NOCACHE;
INSERT INTO NOTICE
VALUES (SEQ_NNO.NEXTVAL, '관리자 공지', 'admin', '공지서비스를 게시합니다. 많이 이용해 주세요', '20190201', DEFAULT);
INSERT INTO NOTICE
VALUES (SEQ_NNO.NEXTVAL, '공지서비스 오픈 환영', 'admin', '드디어 오픈되었군요. 많이 이용하겠습니다.', '20190201', DEFAULT);
INSERT INTO NOTICE
VALUES (SEQ_NNO.NEXTVAL, '공지서비스 이용 안내', 'admin', '게시판서비스는 회원만 이용할 수 있습니다. 회원 가입하세요.', '20190201', DEFAULT);
----------------------------------------------------
---------------- BOARD 관련 -----------------
----------------------------------------------------
CREATE TABLE BOARD(
BOARD_NO NUMBER PRIMARY KEY,
BOARD_TITLE VARCHAR2(100) NOT NULL,
BOARD_WRITER VARCHAR2(4000) NOT NULL,
BOARD_CONTENT VARCHAR2(4000) NOT NULL,
ORIGIN_NAME VARCHAR2(100),
CHANGE_NAME VARCHAR2(100),
COUNT NUMBER DEFAULT 0,
CREATE_DATE DATE DEFAULT SYSDATE,
STATUS VARCHAR2(1) DEFAULT 'Y' CHECK (STATUS IN ('Y', 'N')),
FOREIGN KEY (BOARD_WRITER) REFERENCES MEMBER ON DELETE CASCADE
);
COMMENT ON COLUMN BOARD.BOARD_NO IS '게시글번호';
COMMENT ON COLUMN BOARD.BOARD_TITLE IS '게시글제목';
COMMENT ON COLUMN BOARD.BOARD_WRITER IS '게시글작성자아이디';
COMMENT ON COLUMN BOARD.BOARD_CONTENT IS '게시글내용';
COMMENT ON COLUMN BOARD.ORIGIN_NAME IS '첨부파일원래이름';
COMMENT ON COLUMN BOARD.CHANGE_NAME IS '첨부파일변경이름';
COMMENT ON COLUMN BOARD.COUNT IS '게시글조회수';
COMMENT ON COLUMN BOARD.CREATE_DATE IS '게시글작성날짜';
COMMENT ON COLUMN BOARD.STATUS IS '게시글상태값';
CREATE SEQUENCE SEQ_BNO NOCACHE;
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '관리자 게시글', 'admin', '저희 사이트를 이용해 주셔서 감사합니다.', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '첫번째 게시글', 'user01', '자바는 대표적인 객체지향프로그래밍 언어입니다.', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '두번째 게시글', 'user02', '오라클은 데이터베이스', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '세번째 게시글', 'admin', 'JDBC는 자바와 오라클을 연동시켜주는 기술입니다.', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '네번째 게시글', 'admin', '웹의 3요소는 html, css, javascript!', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '다섯번째 게시글', 'user01', 'html 은 웹의 뼈대를 구성하는 언어', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '여섯번째 게시글', 'user02', 'css 는 웹을 예쁘게 꾸며주는 역할', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '일곱번째 게시글', 'user02', '자바스크립트는 웹의 동적인 효과를 구현할 수 있게 도와줌', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '여덟번째 게시글', 'user01', 'jQuery 는 자바스크립트의 복잡한 문법을 대체', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '아홉번째 게시글', 'admin', '서블릿은 자바 코드로 웹 서버를 구동할 수 있게 도와주는 일종의 컨트롤러 역할을 하는 자바 클래스입니다.', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '열번째 게시글', 'admin', 'JSP 는 동적인 페이지를 구현 가능한 개념!', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '열한번째 게시글', 'user01', 'jstl 을 쓰면 JSP 에서 자바 구문을 없앨 수 있어요.', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '열두번째 게시글', 'user01', '프레임워크의 종류로는 영속성, 자바, 화면구현, 기능 등이 있습니다.', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '열세번째 게시글', 'user02', '마이바티스는 DB 의 영속성 작업, 즉 CRUD 작업을 편리하게 도와주는 프레임워크입니다.', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '열네번째 게시글', 'user01', '스프링은 자바로 웹사이트 구현을 더 수월하게 할 수 있도록 도와주는 프레임워크에요!', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '열다섯번째 게시글', 'user02', '리액트는 SPA (Single Page Application) 구현을 도와주는 자바스크립트 라이브러리입니다~~', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '열여섯번째 게시글', 'user01', 'Rest API 는 프론트와 백엔드 사이의 통신을 정의하는 일종의 규칙', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
INSERT INTO BOARD
VALUES (SEQ_BNO.NEXTVAL, '열일곱번째 게시글', 'admin', '열심히 공부하세요. 화이팅.', NULL, NULL, DEFAULT, DEFAULT, DEFAULT);
----------------------------------------------------
--------------- REPLY 관련 -------------------
----------------------------------------------------
CREATE TABLE REPLY(
REPLY_NO NUMBER PRIMARY KEY,
REPLY_CONTENT VARCHAR2(400) NOT NULL,
REF_BNO NUMBER NOT NULL,
REPLY_WRITER VARCHAR2(30) NOT NULL,
CREATE_DATE DATE DEFAULT SYSDATE NOT NULL,
STATUS VARCHAR2(1) DEFAULT 'Y' CHECK (STATUS IN ('Y', 'N')),
FOREIGN KEY (REF_BNO) REFERENCES BOARD(BOARD_NO),
FOREIGN KEY (REPLY_WRITER) REFERENCES MEMBER ON DELETE CASCADE
);
COMMENT ON COLUMN REPLY.REPLY_NO IS '댓글번호';
COMMENT ON COLUMN REPLY.REPLY_CONTENT IS '댓글내용';
COMMENT ON COLUMN REPLY.REF_BNO IS '참조게시글번호';
COMMENT ON COLUMN REPLY.REPLY_WRITER IS '댓글작성자아이디';
COMMENT ON COLUMN REPLY.CREATE_DATE IS '댓글작성날짜';
COMMENT ON COLUMN REPLY.STATUS IS '댓글상태값';
CREATE SEQUENCE SEQ_RNO NOCACHE;
INSERT INTO REPLY
VALUES (SEQ_RNO.NEXTVAL, '첫번째 댓글입니다.', 1, 'admin', '20221213', DEFAULT);
INSERT INTO REPLY
VALUES (SEQ_RNO.NEXTVAL, '첫번째 댓글입니다.', 13, 'user01', '20221030', DEFAULT);
INSERT INTO REPLY
VALUES (SEQ_RNO.NEXTVAL, '두번째 댓글입니다.', 13, 'user02', '20221101', DEFAULT);
INSERT INTO REPLY
VALUES (SEQ_RNO.NEXTVAL, '세번째 댓글입니다.', 13, 'admin', '20220102', DEFAULT);
COMMIT;