-
DB Study2 - AriticleDB 2018. 8. 10. 16:12반응형
Board ERD
Table 설계
CREATE TABLE ARTICLE(ARTICLE_ID INTEGER NOT NULL ,SUBJECT VARCHAR2(2000 CHAR) NOT NULL ,CONTENT VARCHAR2(4000 CHAR) NOT NULL ,VIEW_COUNT INTEGER NOT NULL ,WRITE_DATE TIMESTAMP NOT NULL ,MEMBER_ID VARCHAR2(100 CHAR) NOT NULL);CREATE UNIQUE INDEX XPK게시글 ON ARTICLE(ARTICLE_ID ASC);ALTER TABLE ARTICLEADD CONSTRAINT XPK게시글 PRIMARY KEY (ARTICLE_ID);CREATE TABLE MEMBER(MEMBER_ID VARCHAR2(100 CHAR) NOT NULL ,NAME VARCHAR2(100 CHAR) NOT NULL ,PASSWORD VARCHAR2(1000 CHAR) NOT NULL ,REGISTERED_DATE TIMESTAMP NOT NULL);CREATE UNIQUE INDEX XPK회원 ON MEMBER(MEMBER_ID ASC);ALTER TABLE MEMBERADD CONSTRAINT XPK회원 PRIMARY KEY (MEMBER_ID);ALTER TABLE ARTICLEADD (CONSTRAINT R_1 FOREIGN KEY (MEMBER_ID) REFERENCES MEMBER (MEMBER_ID));MEMBER Table에 값을 넣는다.
INSERT INTO MEMBER (MEMBER_ID, NAME, PASSWORD, REGISTERED_DATE)VALUES ('COSSACK', 'Sangmoo', '1234A', SYSDATE);COMMIT;PK가 먼저 등록되야 FK를 이용할 수 있다.
INSERT INTO ARTICLE (ARTICLE_ID, SUBJECT, CONTENT, VIEW_COUNT, WRITE_DATE, MEMBER_ID)VALUES (1, '첫번째 게시물', '안녕하세요', 1, SYSDATE, 'COSSACK');COMMIT;MEMBER_ID가 ARTICLE에서 FK이기때문에 여러개로 게시물을 등록하고 MEMBER에서 PK인 ID로 여러 게시물을 확인할 수 있다.
-- ID가 COSSACK로 작성된 게시물 검색SELECT SUBJECT, CONTENT, WRITE_DATEFROM MEMBER M, ARTICLE AWHERE A.MEMBER_ID = M.MEMBER_IDAND M.MEMBER_ID = 'COSSACK';JDBC를 이용해서 쿼리에 ?문을 이용해서 값을 집어 넣을때 index는 값이 지정되어 있지 않은 ?만 index를 세어 나간다.
반응형'DB' 카테고리의 다른 글
무료 ERD 사이트 (0) 2018.09.28 MySQL Driver (0) 2018.08.28 Java, DB 작성 - DB Study (0) 2018.08.10 INSERT - COMMIT, ROLLBACK (0) 2018.08.08 요구사항 설계 - 테이블 설계 (0) 2018.08.07 댓글