초보예요
74
2021-04-19 22:40:00
2
146

DB 설계 초보자 질문드립니다


게시글 / 댓글에 이미지를 넣을 수 있는 게시판을 만드려고 합니다.

이미지 테이블을 게시글용 댓글용으로 따로 나누어야 할지

하나로 합치는게 나을지 판단이 안되어서 질문드립니다

이미지 테이블에 들어갈 컬럼 요소는 모두 동일하구요

둘다 돌아가긴할거 같고

중복 요소를 많이 없애려면

하나로 합치는게 맞을것 같다고 생각하는데

그러면 게시글/댓글 시퀀스를 외래키로 설정을 못하게 되는데

참조 무결성(?) 그런 부분은 상관없는지..

조언 구하고 싶습니다.

설명 부족으로 질문의 이해를 돕기 위해 이미지도 하나 첨부합니다 




0
  • 답변 2

  • 장독깨기
    1k
    2021-04-20 00:02:28

    이미지를 2개 이상 첨부 하려면 1번이 낫습니다.

    이미지를 한개만 첨부 하려면 이미지 테이블을 별도로 만들 필요 없이 각 테이블에 컬럼을 추가하면 되겠죠.

    여기 오키 게시판 처럼 내용 중간 중간에 이미지를 첨부하겠다하면 내용에 이미지가 포함되니

    이미지 테이블도 컬럼도 필요 없습니다.


  • kimchs9325
    421
    2021-04-20 10:05:44 작성 2021-04-20 10:06:51 수정됨

    저는 테이블을 구성할때 모든 첨부파일은 하나의 첨부 테이블에서 관리합니다.

    그냥 제가 하나보니 이게 편하더라고요.

    아래는 그냥 하나의 예입니다.


    tb_attach라는 테이블을 하나 만드는 겁니다.

    seq  mode           id         path                              comment

    0      게시글           0          /board/1.png                0이라는 id를 가진 게시글에 대한 첨부파일

    1      게시글           1          /board/2.png                1이라는 id를 가진 게시글에 대한 첨부파일

    2      게시글댓글     0          /boardreply/1.png        0이라는 id를 가진 게시글 댓글에 대한 첨부파일

    3      QnA             0          /qna/1.png                    0이라는 id를 가진 QnA에 대한 첨부파일


    이런 식으로 하면 2개 이상의 첨부파일을 관리할 수 있고,

    2개 이상의 첨부 파일 중 하나의 파일을 삭제하는 로직도 상대적으로 쉬워집니다.


  • 로그인을 하시면 답변을 등록할 수 있습니다.