개발자

게시글과 첨부파일의 DB 구조

2024년 01월 19일조회 578

안녕하세요 궁금한게 있어서 질문을 드립니다. 게시글이랑 첨부파일의 Database 구조에 대해서 궁금한게 있어서요 하면서도 잘 모르겠어서요 -----1번 구조----- 게시판 테이블 게시판 아이디(PK) 파일 아이디(FK) 파일 테이블 파일 아이디(PK) 파일 경로 -----2번 구조----- 게시판 테이블 게시판 아이디(PK) 파일 테이블 파일 아이디(PK) 게시판 아이디(FK) 파일 경로 제 친구는 1번으로 짯는데, 2번으로 해도 되는데 굳이 1번으로 짠 이유가 무엇일까요? 제가 생각하기에는 게시판을 눌러서 PK로 연결되어있는 파일들을 한번에 조회 할 수 있으니까 1번 구조가 유리하다고 생각해서 1번으로 짯나? 했구요. 2번으로 보자면 게시글 1 : 파일 N 이니까 일대다 구조로 각 게시판에 대해서 여러 파일 정보를 가질 수 있고, 보통 한 게시글에는 여러개의 파일이 들어가니까 한 파일이 여러 게시글에 사용되지 않는다는 가정에는 2번이 효율적인것 같거든요 보시는 분들께는 간단한 문제 일수도 있는데 힌트라도 부탁 드립니다 ㅠㅠ

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 2

인기 답변

장성호님의 프로필 사진

1번은 게시판 테이블 외 다른 테이블도 파일 테이블을 이용할 수 있습니다. 대신 1대1입니다. 따라서 게시글 1개 건에 대해 파일 1개만 가져올 수 있습니다. 2번은 게시판 전용 파일입니다. 대신 작성자님의 말씀처럼 1대N으로 여러 파일을 한 게시글에 엮을 수 있습니다. 개인적으로는 2번이 낫다고 생각합니다. 파일 여러 개 넣는 건 보기 쉬운 요구사항이라서요! 조금 더 발전시키면 이렇게 할 수도 있을 거 같아요. 1. 게시판 테이블 - 게시판 ID 2. 게시판의 파일 테이블 - 게시판 ID, 파일 ID 3. 파일 테이블 - 파일 ID, 폴더 ID 4. 폴더 테이블 - 폴더 ID, 부모 폴더 ID 파일과 폴더 테이블은 독립적으로 가져가고, 이에 대한 의존성이 생기는 데이터는 자기들이 따로 매핑테이블을 가져가는 방식입니다. 관리가 빡세긴 할텐데 백오피스 시스템이나, S3 같은 곳에서 폴더를 날리는 등의 요구사항이 있으면 도움이 될 거에요! 아니면 4번 테이블은 없이 지금처럼 파일 경로로 하셔도, 경로 정책만 잘 정의되어 있으면 될 것 같아요. 경로는 찾을 때 LIKE + INDEX 로 빠르게 찾는거 될 것 같네요

인기 답변

great님의 프로필 사진

1번 구조로도 여러개의 첨부파일을 참조가능합니디. 다만 게시판 테이블은 파일아이디만 참조하고 파일테이블이 파일아이디와 스퀀스의 복합키면 되겠지요 2번 구조는 위에서 말씀해주신대로 특정게시판 데이터에 종속적이 되겠네요 설계에 답은 없습니다 상황에 따라 달라질수 있습니다

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!