강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

turtlebee님의 프로필 이미지
turtlebee

작성한 질문수

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

제1 정규형

실무에서의 복수 항목에 대한 관리 방법이 궁금합니다.

작성

·

16

0

실무에서도 복수 항목에 대해서 원자성을 고려해 테이블을 분리하는지 궁금합니다.

 

예를 들어, 카드 정보라는 테이블이 있을 때, 혜택이라는 컬럼에는 '캐시백', '쿠폰 할인' 이런 식으로 복수의 데이터가 들어가게 되는데, 그럼 따로 카드 혜택이라는 하위 테이블을 만들어서 관리하나요? 이런 복수 항목이 늘어날 때마다 테이블을 하나씩 만들어야 하는지... 테이블 구조가 복잡해지는 느낌이 들어 질문드립니다.

답변 1

0

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

질문 주신 내용은 테이블 설계 시 복수 항목을 어떻게 관리할지에 대한 내용입니다. 특히 여러 혜택을 가진 카드 정보를 어떻게 테이블 구조로 표현할지 궁금해 하셨습니다. 아래 답변을 참고하시면 도움이 될 것 같습니다.

  • 복수 항목과 원자성: 데이터베이스 설계에서 원자성(Atomicity)은 중요한 원칙 중 하나입니다. ‘캐시백’이나 ‘쿠폰 할인’과 같은 복수의 데이터가 한 컬럼에 저장된다면, 이는 1NF(First Normal Form)를 위반하는 케이스가 될 수 있습니다. 이럴 경우에는 보통 각 항목을 개별 엔터티로 표기하기 위해 별도의 테이블을 만들어 관리합니다.

  • 카드와 카드 혜택의 관계: 카드와 카드 혜택은 1:N 관계가 적절할 수 있습니다. 카드를 하나의 테이블로 유지하고, 카드 혜택을 별도로 테이블로 나눠 각 카드가 어떤 혜택을 받는지 관리할 수 있도록 관계 설정을 합니다.

관련 자료

  1. 테이블 연관 설계와 원자성 유지하기 (출처: 인프런 질문)
  2. 다중 항목 처리에 대한 일반적인 방법 (출처: 인프런 질문)

위 답변에서 복수 항목을 관리하는 테이블 설계 방식을 좀 더 심도 있게 확인해 보실 수 있습니다. 테이블 설계는 데이터의 범위와 사용 목적에 따라 매우 달라질 수 있습니다. 관련된 강의 내용이나 추가 문의에서 상세한 설명을 통해 깊이 이해해 보시기 바랍니다.

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

turtlebee님의 프로필 이미지
turtlebee

작성한 질문수

질문하기