ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DB Study2 - Ariticle
    DB 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 ARTICLE
        ADD 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 MEMBER
        ADD CONSTRAINT XPK회원 PRIMARY KEY (MEMBER_ID);



    ALTER TABLE ARTICLE
        ADD (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_DATE
    FROM MEMBER M
    , ARTICLE A
    WHERE A.MEMBER_ID = M.MEMBER_ID
    AND 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

    댓글

Designed by Tistory.