관계형 데이터베이스에서이 관계를 모델링하는 방법은 무엇입니까?

안드레아

나는 다음과 같은 상황이 있습니다
.-클라이언트 (ID)
-계약 (ID, ClientID)
-ClientEmployee (ID, ClientId)

클라이언트는 많은 계약을 가질 수 있고 클라이언트는 많은 ClientEmployees를 가질 수 있습니다.

모든 계약에 대해 작업중인 ClientEmployees를 연결해야합니다.

현재 내 솔루션은 계약과 ClientEmployees 사이에 다 대다 관계를 구축하는 쉬운 솔루션입니다.
-ContractClientEmployee (ID, ContractID, ClientEmployeeID)

이 디자인에서는 ClientEmployee가 다른 클라이언트의 계약에 연결되는 것을 방지 할 수있는 방법이 없습니다 (데이터베이스 디자인 수준에서). 물론 오류가됩니다.

이 추가 제약 조건을 스키마에서 포착하는 '더 나은'솔루션이 있어야한다고 생각하지만 어떻게 ... :-(

업데이트 : 나는 좋은 솔루션에 대한 동일한 개념에 대해 두 가지 유효하고 매우 좋은 답변을 받았습니다. 렌 조가 먼저 왔기 때문에 받아 들였어요 ... 미안 해요.

렌조

다음은 가능한 솔루션입니다. 기본 아이디어는 Contract 및 Employee의 기본 키로 클라이언트의 기본 키로 구성된 복합 키와 다른 계약과 "내부"직원을 구분하는 데 사용되는 숫자 값을 정의하는 것입니다. 클라이언트.

Client(ClientId, ClientData),
   primary key ClientId
Contract(ClientId, ContrNum, ContractData)
   primary key (ClientId, ContrNum)
   ClientId foreign key for Client
Employee(ClientId, EmplNum, EmplData)
   primary key (ClientId, EmpNum)
   ClientId foreign key for Client
EmployeeContract(ClientId, EmpNum, ContrNum)
   primary key (ClientId, EmpNum, ContrNum)
   (ClientId, EmpNum) foreign key for Employee
   (ClientId, ContrNum) foreign key for Contract

이러한 방식으로 데이터 간의 일관성은 서로 다른 외래 키를 통해 데이터베이스 수준에서 유지됩니다. EmployeeContract에 대한 새 레코드를 삽입하면 계약이 규정 된 동일한 클라이언트에서 일하는 직원이됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

MySQL 데이터베이스에서 '즐겨 찾기'관계를 구현하는 방법은 무엇입니까?

분류에서Dev

데이터베이스에서 개체 간의 관계를 시각화하는 방법은 무엇입니까?

분류에서Dev

Firebase 데이터베이스에서 모델 제거를 관찰하는 방법은 무엇입니까?

분류에서Dev

Realm에서 3 가지 모델 간의 관계를 모델링하는 방법은 무엇입니까?

분류에서Dev

여러 열이 고유 할 때 관계형 데이터베이스에서 기본 키를 선택하는 방법은 무엇입니까?

분류에서Dev

테이블 형식 모델 (SSAS 테이블 형식)에서 관계형 데이터베이스로 데이터를 전송하는 방법은 무엇입니까?

분류에서Dev

이 다 대다 관계에 대해 관계형 데이터베이스 테이블을 설정하는 방법은 무엇입니까?

분류에서Dev

Web API에서 SQL Server 관계형 데이터베이스를 쿼리 할 수있는 방법은 무엇입니까?

분류에서Dev

Laravel의 관계에서 데이터를 얻는 방법은 무엇입니까?

분류에서Dev

Django 모델에서 관계를 정의하는 방법은 무엇입니까?

분류에서Dev

Phoenix에서 모델 관계를 업데이트하는 방법은 무엇입니까?

분류에서Dev

모든 관계형 데이터베이스를 설명하기 위해 Spring Jdbc를 구현하는 방법은 무엇입니까?

분류에서Dev

특수 관계로 데이터베이스를 디자인하는 방법은 무엇입니까?

분류에서Dev

MySQL-관계형 테이블-여러 관계를 만드는 방법은 무엇입니까?

분류에서Dev

이 다소 복잡한 개념 / 관계를 데이터베이스에서 구현하는 방법은 무엇입니까?

분류에서Dev

Decision, Choice 및 ChoiceSet 관계를 모델링하는 방법은 무엇입니까?

분류에서Dev

일대 다 관계로 데이터베이스에 기록하는 방법은 무엇입니까?

분류에서Dev

데이터베이스에서 일대 다 관계를 모델링하는 방법

분류에서Dev

Redis를 사용하여 관계형 데이터베이스 쿼리의 결과를 캐시하는 일반적인 방법은 무엇입니까?

분류에서Dev

Dexie js에서 데이터베이스 관계를 정의하고 사용하는 방법은 무엇입니까?

분류에서Dev

PHP에서 관계없이 두 테이블의 데이터를 조인하는 방법은 무엇입니까?

분류에서Dev

왜 봄은 관계형 데이터베이스에 대한 반응 (비 차단) 클라이언트를 제공하지 않는 이유는 무엇입니까?

분류에서Dev

데이터 매트릭스 (x 및 null)를 Google 스프레드 시트에서 관계형 행으로 변환하는 방법은 무엇입니까?

분류에서Dev

Mirage JS에서 다형성 일대일 관계로 모델을 시드하는 방법은 무엇입니까?

분류에서Dev

(Ruby on Rails) XML에서 관계 테이블로 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

오라클 데이터베이스에서 다 대다 관계를 구현하는 방법이 맞습니까?

분류에서Dev

생성 된 Asp.Net Core MVC Identity 데이터베이스에 테이블 및 관계를 추가하는 방법은 무엇입니까?

분류에서Dev

데이터베이스에 저장된 항목에서만 합계를 얻는 방법은 무엇입니까?

분류에서Dev

many_to_many 관계를 통해 데이터에 액세스하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    MySQL 데이터베이스에서 '즐겨 찾기'관계를 구현하는 방법은 무엇입니까?

  2. 2

    데이터베이스에서 개체 간의 관계를 시각화하는 방법은 무엇입니까?

  3. 3

    Firebase 데이터베이스에서 모델 제거를 관찰하는 방법은 무엇입니까?

  4. 4

    Realm에서 3 가지 모델 간의 관계를 모델링하는 방법은 무엇입니까?

  5. 5

    여러 열이 고유 할 때 관계형 데이터베이스에서 기본 키를 선택하는 방법은 무엇입니까?

  6. 6

    테이블 형식 모델 (SSAS 테이블 형식)에서 관계형 데이터베이스로 데이터를 전송하는 방법은 무엇입니까?

  7. 7

    이 다 대다 관계에 대해 관계형 데이터베이스 테이블을 설정하는 방법은 무엇입니까?

  8. 8

    Web API에서 SQL Server 관계형 데이터베이스를 쿼리 할 수있는 방법은 무엇입니까?

  9. 9

    Laravel의 관계에서 데이터를 얻는 방법은 무엇입니까?

  10. 10

    Django 모델에서 관계를 정의하는 방법은 무엇입니까?

  11. 11

    Phoenix에서 모델 관계를 업데이트하는 방법은 무엇입니까?

  12. 12

    모든 관계형 데이터베이스를 설명하기 위해 Spring Jdbc를 구현하는 방법은 무엇입니까?

  13. 13

    특수 관계로 데이터베이스를 디자인하는 방법은 무엇입니까?

  14. 14

    MySQL-관계형 테이블-여러 관계를 만드는 방법은 무엇입니까?

  15. 15

    이 다소 복잡한 개념 / 관계를 데이터베이스에서 구현하는 방법은 무엇입니까?

  16. 16

    Decision, Choice 및 ChoiceSet 관계를 모델링하는 방법은 무엇입니까?

  17. 17

    일대 다 관계로 데이터베이스에 기록하는 방법은 무엇입니까?

  18. 18

    데이터베이스에서 일대 다 관계를 모델링하는 방법

  19. 19

    Redis를 사용하여 관계형 데이터베이스 쿼리의 결과를 캐시하는 일반적인 방법은 무엇입니까?

  20. 20

    Dexie js에서 데이터베이스 관계를 정의하고 사용하는 방법은 무엇입니까?

  21. 21

    PHP에서 관계없이 두 테이블의 데이터를 조인하는 방법은 무엇입니까?

  22. 22

    왜 봄은 관계형 데이터베이스에 대한 반응 (비 차단) 클라이언트를 제공하지 않는 이유는 무엇입니까?

  23. 23

    데이터 매트릭스 (x 및 null)를 Google 스프레드 시트에서 관계형 행으로 변환하는 방법은 무엇입니까?

  24. 24

    Mirage JS에서 다형성 일대일 관계로 모델을 시드하는 방법은 무엇입니까?

  25. 25

    (Ruby on Rails) XML에서 관계 테이블로 데이터를 가져 오는 방법은 무엇입니까?

  26. 26

    오라클 데이터베이스에서 다 대다 관계를 구현하는 방법이 맞습니까?

  27. 27

    생성 된 Asp.Net Core MVC Identity 데이터베이스에 테이블 및 관계를 추가하는 방법은 무엇입니까?

  28. 28

    데이터베이스에 저장된 항목에서만 합계를 얻는 방법은 무엇입니까?

  29. 29

    many_to_many 관계를 통해 데이터에 액세스하는 방법은 무엇입니까?

뜨겁다태그

보관