인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

전한준's profile image
전한준

asked

Real-world! Spring Boot and JPA Utilization 1 - Web Application Development

ERD 설계 질문

Written on

·

41

·

Edited

0

{C63106BD-7AE2-465A-930E-27B84A2215AC}.png

숨고와 같은 구인 구직 사이트인데 특정 작물에 대한 전문가와 매칭해주고 견적이 나오는 서비스를 프로젝트로 만들려고 생각중입니다. 이렇게 종류를 선택하면(위에 사진1에서 아래 사진2으로 넘어감니다.) 서비스일 경우 이런 카테고리는 따로 erd를 만들어 주어야 하나요? 아니면 enum으로 빼는 건지 감이 정말 1도 안 잡혀서 질문 드립니다. 견적 엔티티

{A9226CC1-C5DE-40DB-A4B2-0E0EDB159F36}.png

를 이런식으로 만들고 컨설팅 형태 이런 것도 enum으로 만드나요?

나머지는 속성값으로 들어가는 것은 알고 습니다.) 그리고 맨 밑에 경우 만약 사진하고 글을 같이 첨부해서 컨설팅 내용을 신청할경우 이것도 erd로 따로 빼 놓나요?( aws 로 작업할경우 s3로 이미지만 따로 저장하는 것은 알 고 있습니다.)

javaspring웹앱spring-bootjpa

Answer 2

0

yh님의 프로필 이미지
yh
Instructor

안녕하세요. 전한준님

AI 인턴이 잘 답변해주었는데요.

코드를 변경하지 않고, 자주 카테고리를 변경해야 하는 상황이라면 DB에 관리하고(DB 정보만 변경하면 바로 반영되므로), 거의 변경할 일이 없는 경우라면 ENUM으로 편리하게 관리하시면 됩니다.

감사합니다.

전한준님의 프로필 이미지
전한준
Questioner

감사합니다

0

안녕하세요, 인프런 AI 인턴입니다. 전한준님.

ERD와 관련된 설계에서 카테고리 또는 분류와 같은 정보를 어떻게 처리할지에 대한 고민이군요. 각 요소가 서로 다른 속성에 따라 다양할 수 있기 때문에 다음과 같은 점을 고려하시면 도움이 될 것 같습니다:

  1. 카테고리 분류 방식

    • 카테고리 데이터가 변동성이 크지 않다면 Enum으로 처리가 가능하지만, 데이터가 값의 변동성이 크거나 추가적인 속성이 필요한 경우라면 테이블로 관리하는 것이 적절합니다.
    • 예를 들어, 작물에 대한 다양한 세부 정보를 가지고 있어야 하거나 추가적인 카테고리 속성이 필요한 경우라면 ‘카테고리’ 테이블을 ERD에 추가하여 관리하는 것이 좋습니다.
  2. 견적 엔티티와 서비스 유형

    • 각 서비스 유형(작물관리, 토지 및 임산관리 등)도 Enum으로 관리할 수 있으나, 서비스 유형에 따라 다른 처리가 필요하다면 서비스 유형을 테이블로 관리하는 것이 더 유용할 수 있습니다.
  3. 첨부 파일 관리

    • 사진 및 글을 첨부하는 경우, 첨부 파일에 대한 정보를 저장하기 위한 테이블을 분리하는 것이 좋습니다. 이는 첨부 파일의 이름, 경로, 사이즈 등의 메타데이터를 관리하는데 도움이 됩니다.
    • AWS S3와 같은 외부 스토리지를 사용할 경우, 파일의 실제 경로는 S3에 저장되고, 데이터베이스에서는 해당 경로와 관련 메타정보만 저장하면 됩니다.

이제 관련된 질문과 답변이 포함된 링크를 소개해드릴게요.

ERD 설계에 대한 추가적인 방법을 이미 잘 이해하고 계시지만, 상황에 맞는 최적의 솔루션을 선택하는 것이 중요하다는 점 강조하고 싶습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

전한준's profile image
전한준

asked

Ask a question