2016-07-28 3 views
0

관련 영업 사원과 함께 우편 번호가있는 테이블이 있습니다. 우리는 최종적으로 각 우편 번호와 연관된 여러 영업 사원이있을 수정을 추가하고 있습니다. 새로운 영업 사원을 위해 새 열을 추가하거나 행을 추가하는 것이 가장 좋습니다.새 열 추가 vs 행 효율성 추가

약 150 만 개의 우편 번호가 테이블에 있습니다.

+0

절대적으로 !!! 영업 사원을 위해 다른 열을 추가하고 싶지는 않을 것입니다. 이미 심각한 정규화 문제가있는 것 같습니다. 이런 유형의 테이블에는 세 개의 테이블이 필요합니다. PostalCodes, SalesPerson 및 SalesPersonPostalCodes가 있습니다. –

+0

나는 동의하지만 안심 감사드립니다. 그것은 지금 여기서 일하는 모든 사람들보다 오래 전에 만들어진 테이블입니다. – joetinger

+0

이 문제를 해결하기에는 아직 늦지 않을 수도 있습니다. 이 테이블에는 이미 중복 된 우편 번호 및/또는 영업 담당자가있는 것으로 추측됩니다. 나는 너의 고통을 느낀다. 이미 비명 거리고 도망친 사람들에게서 발견 할 수있는 끔찍한 디자인을 풀어 내기 란 쉽지 않습니다. –

답변

5

아니요.

새로운 영업 사원을 위해 새 열을 추가하는 것은 시동기가 아닙니다. 새로운 영업 사원을 추가하려면 임의로 열을 추가해야합니다. 이것은 모든면에서 나쁜 생각입니다.

새 행을 추가하면 테이블에있는 데이터의 의미가 변경됩니다. 이 테이블에는 우편 번호와 해당 엔티티에 대한 정보가 들어 있습니다. 그 이상의 책임을지지 않습니다.

설명하는 것은 다 대다 관계입니다. 이는 두 엔티티 간의 연결 테이블을 통해 수행됩니다. 이 같은 간단한 : PostalCode

PostalCode 
--------------- 
ID 
Code 
etc. 

Salesperson 
--------------- 
ID 
Name 
etc. 

SalespersonPostalCode 
--------------- 
ID 
SalesPersonID 
PostalCodeID 

각 행은 우편 번호를 나타냅니다. Salesperson의 각 행은 영업 사원을 나타냅니다. 그리고 연결 테이블의 각 행은 둘 사이의 관계를 나타냅니다. 원하는만큼의 관계를 추가 할 수 있습니다. 그러나 원하는 경우 새로운 도메인 엔티티 레코드를 임의로 추가하지 마십시오. 둘 사이에 관계를 추가하는 것이 좋습니다.