ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Java, DB 작성 - DB Study
    DB 2018. 8. 10. 13:37
    반응형

    VO - Value Object DB를 설계 할때, Table별로 나눈다.

    Common - Util을 상수로 만들어서 갖다 쓴다.

    Service - Dao객체 Method 정의

     전체조회는 List 전체 출력

     검색은 Class Type으로 find Method 이용

    Controller - 가입, 조회, 검색 정의


    반드시 Table 먼저 구성해야되고 Table 구조와 똑같이 만들어야 한다.

    Table 구성별로 Package를 나눈다.





    게시물과 회원 관계를  만들고 Db와 Java 연동 연습


    Toad for Oracle에서 Table 설계 SQL 작성 후 F5를 하면 Table이 만들어진다.




    CREATE TABLE BOARD
    (
        TITLE VARCHAR(100) NOT NULL ,
        CONTENT VARCHAR(3000) NOT NULL ,
        BOARD_IDX INTEGER NOT NULL ,
        MEMBER_ID VARCHAR(20) NOT NULL
    );



    CREATE UNIQUE INDEX XPKBOARD ON BOARD
    (BOARD_IDX ASC);



    ALTER TABLE BOARD
        ADD CONSTRAINT XPKBOARD PRIMARY KEY (BOARD_IDX);



    CREATE TABLE MEMBER
    (
        MEMBER_ID VARCHAR(20) NOT NULL ,
        NAME VARCHAR(20) NOT NULL ,
        PHONE VARCHAR(20) NOT NULL ,
        ADDRESS VARCHAR(300) NOT NULL
    );



    CREATE UNIQUE INDEX XPKMEMBER ON MEMBER
    (MEMBER_ID ASC);



    ALTER TABLE MEMBER
        ADD CONSTRAINT XPKMEMBER PRIMARY KEY (MEMBER_ID);



    ALTER TABLE BOARD
        ADD (CONSTRAINT R_2 FOREIGN KEY (MEMBER_ID) REFERENCES MEMBER (MEMBER_ID));



    Table을 만든 후


    INSERT INTO MEMBER (
    MEMBER_ID
    , NAME
    , PHONE
    , ADDRESS
    )
    VALUES (
    'COSSACK'
    , 'Sangmoo'
    , '010-XXXX-XXXX'
    , '서울시 은평구 불광1동'
    )
    ;

    COMMIT;


    값을 넣어 준다.


    INSERT INTO MEMBER (
    MEMBER_ID
    , NAME
    , PHONE
    , ADDRESS
    )
    VALUES (
    'SANGMOO'
    , 'Sangmoon'
    , '010-1234-5678'
    , '연신내'
    )
    ;


    Board 값도 넣어 준다.



    INSERT INTO BOARD (
    BOARD_IDX
    , MEMBER_ID
    , TITLE
    , CONTENT
    )
    VALUES (
    1
    , 'COSSACK'
    , '안녕하세요'
    , '반갑습니다.'
    )
    ;

    COMMIT;

    INSERT INTO BOARD (
    BOARD_IDX
    , MEMBER_ID
    , TITLE
    , CONTENT
    )
    VALUES (
    2
    , 'COSSACK'
    , '안녕하세요2'
    , '두번째 게시물입니다.'
    )
    ;

    COMMIT;



    MEMBER_ID로 두 Table을 Join해서 ID로 게시물을 찾는다.


    -- ID로 게시물 검색
    SELECT TITLE
    , CONTENT
    FROM MEMBER M
    , BOARD B
    WHERE M.MEMBER_ID = B.MEMBER_ID
    ;



    반응형

    'DB' 카테고리의 다른 글

    MySQL Driver  (0) 2018.08.28
    DB Study2 - Ariticle  (0) 2018.08.10
    INSERT - COMMIT, ROLLBACK  (0) 2018.08.08
    요구사항 설계 - 테이블 설계  (0) 2018.08.07
    RDB  (0) 2018.07.31

    댓글

Designed by Tistory.