2012-01-03 1 views
0

저는 CRM 시스템을위한 데이터베이스를 설계하고 있으며 CRM 사용자 테이블에 대한 도움이 필요합니다. 사용자의CRM을위한 데이터베이스 디자인 특정 시나리오를위한 사용자 테이블

유형 :

  1. 관리
  2. 판매 담당자 지점에서 2
  3. 판매 담당자 지점에서 3
  4. 클라이언트 로그인이 나을이 시나리오 이제

모든 사용자를 단일 테이블에두고 "type"이라는 테이블 속성을 사용하여 사용자 유형을 식별하려면? 또는 각 유형의 사용자에 대해 별도의 표를 사용해야합니까? 또한 영업 담당자간에 정보 공유가 이루어집니다.

+0

정보를 더 제공 할 수 있습니까? 지금이 질문은 매우 모호합니다. –

답변

1

일반적으로 보통은 과 연결된 User 테이블을 사용합니다. 저장하려는 추가 영업 담당자 속성이있는 경우 User 테이블에 외래 키가있는 SalesRep 테이블을 만듭니다. 그런 다음, UserSalesRep을 조인 뷰를 생성, 그래서 당신은 판매 담당자에 필요한 모든 속성을 가지고 단지 usvSalesRep 테이블이처럼 그것은 논리적으로 보인다.

을하지만,이 데이터 볼륨 및 거래에 많이 의존 로드 할 수 있으므로 추가 정보를 제공하는 것이 유용합니다.

+1

하루에 100 명 미만의 사용자와 1000 건 미만의 거래가 있습니다. SalesRep에는 영업 마감과 함께 몇 건의 판매가 이루어 졌는지, 몇 건의 입찰가가 있는지, 그리고 몇 가지 성능 특성과 같은 몇 가지 추가 특성이 있습니다. – wackytacky99

+0

@ mvador99 - 하나의 테이블이 문제없이 필요한 것일 수 있습니다. :) – Eric

+0

그 테이블의 외래 키 : –

1

예상되는 사용자 수에 따라 다릅니다.

그러나 일반적으로 단일 테이블이면 충분합니다.


당신이 사용자의 수십억을해야하는 경우 어쩌면 당신은 horizontal partitioning을하고 여러 테이블을 만들 수 있습니다.

+1

1000 명 미만의 사용자. 나는 그것이 하나의 표라고 생각한다. 감사! – wackytacky99

1

단일 테이블이 좋을 것입니다. 그리고 나는이 숫자 사용자가 디자인에 많은 영향을 미친다는 것에 동의하지 않는다.

가능할 때마다 실제 생활을 모방하도록 테이블을 디자인해야합니다. 관리자, 판매 담당자 등은 설명/속성입니다. 궁극적으로 이들은 모두 "사람"... 또는 사용자입니다. 그래서 "Admin", "SalesRep"이라는 attibutes를 가진 하나의 "User"테이블이 나에게 의미가 있습니다. 사용자가 하나의 "유형"일 수있는 경우에만 "유형"접근 방식을 사용하십시오. 여러 사용자 유형이 될 수있는 경우 별도의 열을 사용하십시오. 예. 하나는 동시에 SalesRepBranch2와 SalesRepBranch3이 될 수 있습니다. 이것을 더 정상화하는 것이 좋습니다.

관련 문제