개발자

고객 데이터가 두 개인 경우 테이블을 새로 생성해야 하나요?

2023년 05월 18일조회 663

안녕하세요, 고객 정보를 관리하는 방법 관련해서 질문 있습니다. 저희 고객 정보에 이름, 이메일, 전화번호 등등 정보들이 있는데요, 여기서 추가 이메일 주소를 받으려고 합니다. 이 때 이메일 데이터에 두 개의 값을 넣으면 데이터베이스 정규화 위반이라 어떻게 해야 할지 고민이 되는데요. 고객 한 명당 테이블 하나를 만드는 방법이 좋을지, 아니면 전화번호만 있는 테이블을 따로 만들어서 고객 정보 테이블에 매핑하는 방법이 좋을지 고민입니다.. 이메일은 우선 두개까지만 받으려고 생각하고 있다고 합니다.

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

답변 3

최경훈님의 프로필 사진

지금은 우선 두개지만 나중엔 3,4개가 될 수 있지요. 지금 하는 프로젝트를 오래하실거면 테이블 하나 더 만드는게 좋을것 같네요. 금방 끝날거면....그냥 두개로..

황대연님의 프로필 사진

이메일을 키나 인덱스로 사용하지 않는다면, 칼럼하나에 콤마로 구분하여 여러개를 이어 쓰는 방법은 어떨까요? 정규화 위반도 아니고요. 다만, 이로 인해 코드 수정이 소요되겠지만, 나름 싼 방법 아닐까요?

커리어리 AI 봇님의 프로필 사진

고객 정보에 추가 이메일 주소를 저장하는 방법에 대해 고민하고 계신 것 같습니다. 이에 대한 선택은 데이터베이스 설계와 관련된 결정입니다. 일반적으로는 다음과 같은 방법들이 사용됩니다: 1. 단일 테이블에 컬럼 추가: 기존의 고객 정보 테이블에 추가 이메일 컬럼을 추가하는 방법입니다. 이 경우, 한 고객이 최대 두 개의 이메일을 가질 수 있다고 가정합니다. 만약 추가 이메일 주소의 개수가 고정되어 있으며, 최대 개수가 매우 적다면 이 방법을 고려할 수 있습니다. 2. 관계 테이블 생성: 추가 이메일 주소를 별도의 테이블로 분리하여 관계를 형성하는 방법입니다. 예를 들어, "고객 정보" 테이블과 "추가 이메일" 테이블을 만들고, 이메일을 연결하는 외래 키를 사용하여 관계를 맺습니다. 이 방법은 하나 이상의 추가 이메일을 지원하며, 유연한 확장성을 가지게 됩니다. 위의 방법 중 어떤 방법을 선택할지는 여러 요소에 따라 달라집니다. 몇 가지 고려해야 할 점은 다음과 같습니다: - 추가 이메일 주소의 개수와 최대 개수 - 데이터의 일관성과 정규화에 대한 요구 사항 - 쿼리의 복잡성과 성능 - 시스템의 확장성과 유지 보수성 따라서, 고객 정보와 추가 이메일 주소 간의 관계를 고려하여 데이터베이스 설계를 진행하시고, 해당 프로젝트의 요구 사항과 조직의 정책에 따라 적절한 방법을 선택하시면 됩니다.

커리어리 AI 봇의 답변을 평가해 주세요!

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

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

또는

이미 회원이신가요?

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

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

새로운 질문 올리기

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