개발자

처음 짜보는 DB라서 도움을 구합니다..!

2024년 01월 05일조회 118

근태관리 기능 게시물 작성 기능 게시물 댓글 작성 기능 일정 등록 기능 추천 비추천 기능 가맹점 관리 기능 상품 쟈고 파악 기능 상품 판매 쇼핑몰 연결기능 가맹비 정기결제하는 가맹점 관리 기능 비용 결제나 연차 등의 결재 문서 승인 기능 요런 기능들을 넣어보려고 하는데 데이터베이스 구조가 이렇게 참조하면 되는지 아리송하네요..ㅎㅎ 고수분들의 조언을 구해봅니다!!

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

답변 1

삭제된 사용자님의 프로필 사진

삭제된 사용자

2024년 01월 05일

안녕하세요. 제 핸드폰에서만 그런건지는 모르겠지만 글자가 깨지고 사진 확대도 유지되지 않아서 erd를 보는게 쉽지가 않네요 ㅠㅠ erdcloud 사용 중이신 것으로 보이는데 링크를 공유해주시면 더 많은 분이 편하게 보실 수 있을 것 같습니다.

profile picture

익명

작성자

2024년 01월 05일

감사합니다! 링크 첨부했습니다!! https://www.erdcloud.com/d/m8mqNmEKrMf9aWKYD

profile picture

익명

작성자

2024년 01월 05일

안녕하세요. 기능을 구현하기 위해 필요한 내용을 꼼꼼히 살펴보지 못했지만 한 가지 눈에 띄는 점이 있어 먼저 댓글 남깁니다. 지금 여러 테이블을 보면 PK로 여러 필드를 함께 사용하고 있는 상황인데요. 잘못 입력하신 것인지 아니면 의도하신 것인지 궁금합니다. 예를 들어, 회원 닉네임 테이블을 보면 nik_id 필드와 member 테이블의 id (mem_id) 필드가 복합키로 사용되고 있는 것으로 보이는데요. nik_id와 mem_id를 복합키로 사용한다는 의미는 (nik_id, mem_id)가 조합되어야만 해당 테이블의 엔티티를 유일하게 판별할 수 있다는 것인데 이런 면에서보면 mem_id는 FK로 참조만 되어 있어도 충분할 것 같습니다. 이 부분 먼저 확인해보시면 좋을 것 같습니다 :)

profile picture

익명

작성자

2024년 01월 05일

감사합니다 처음 만드는 데이터베이스다보니 미숙한 점이 많네요..^^.. https://www.erdcloud.com/d/wNtbZdTQkjqehzKgn 위에 주소는 제가 참고한 ERD입니다. 처음 참조했던 ERD에서 PK를 쓰길래 PK로 적어놓았는데 쓰려던 용도는 nik_id와 mem_id를 조합하는 것이 아닌 참조 용도가 맞습니다. 좋은 도움 주셔서 감사합니다 :)

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

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

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 01월 05일

데이터베이스 구조 설계는 전체 시스템의 성능과 유지보수를 결정하는 중요한 과정입니다. 제시해주신 기능들을 고려할 때, 여러 테이블들 간의 관계를 정의해야 할 것 같습니다. 다음은 각 기능에 대한 주요 데이터베이스 테이블과 그 관계에 대한 제안입니다: 1. 근태관리 기능: Employee, Attendance (Employee ID가 외래키) 2. 게시물 작성 기능: User, Post (User ID가 외래키) 3. 게시물 댓글 작성 기능: User, Comment, Post (User ID와 Post ID가 외래키) 4. 일정 등록 기능: User, Schedule (User ID가 외래키) 5. 추천/비추천 기능: User, Post, Vote(추천/비추천) (User ID와 Post ID가 외래키) 6. 가맹점 관리 기능: Franchisee table 7. 상품 재고 파악 기능: Product table 8. 상품 판매 쇼핑몰 연결기능: Product, ShoppingMall(Product or Mall 에서 다른 하나를 참조하는 FK 필요) 9. 가맹비 정기 결제하는 가맹점 관리 기능: Franchisee, Payment(FranchiseeID는 Payment에서 FK로 참조) 10. 비용 결제나 연차 등의 결재 문서 승인 기능: User, Document, Approval(User는 document를 작성하며, Approval은 Document와 관련) 다만 이는 간단한 예시일 뿐 실제 구현 시에는 각 테이블에 필요한 다른 속성들 및 정규화(중복 제거 및 무결성 유지) 과정을 고려하셔야 합니다. 또한 보안, 성능 최적화 등 여러 사항을 고려하여 설계해야 하니 혹시 모르는 점이나 도움이 필요하다면 전문가의 도움을 받아보시기 바랍니다.

목록으로

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