개발자
안녕하세요 궁금한게 있어서 질문을 드립니다. 게시글이랑 첨부파일의 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 로 빠르게 찾는거 될 것 같네요
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!