I'm doing a conceptual model in Sybase PowerDesigner. The restriction is following: One doctor can work in only one office at a time during his working time (shift). I guess Doctor - Office relationship should be many-many, but what about time restriction ("during his working time")? Should it be a new table SHIFT? So I guess I should have four tables (DOCTOR, OFFICE, SHIFT and OFFICE SCHEDULE). OFFICE SCHEDULE should be a table connecting all 3 other entities and should have composite primary key (id_doctor, id_office, id_shift)?
답변
OFFICE SCHEDULE의 기본 키는 (id_office, id_shift) 여야합니다. id_doctor는 테이블에 있어야하지만 기본 키의 일부가 아니어야합니다. 이렇게하면 사무실에 주어진 규칙에 따라 그 사무실의 의사가 한 명만있을 수 있습니다.
물론이 세 가지 모두 기본 키를 구성하는 외래 키 외에도 외래 키입니다.
의사는 동일한 근무 시간 동안 두 개의 사무실에있을 수 있습니다. 사무실 일정 표에는 두 가지 고유 한 제약 조건이 필요합니다. – Mark
그 열쇠 (id_doctor, id_office, id_shift)는 의사가 한 근무에서 많은 사무실에서 일할 수있게합니다. 의사와 교대 테이블에 열쇠를 사용해보십시오. 사무실은 종속 필드입니다. 그러나 이것은 한 사무실에서 여러 명의 의사가 근무할 수 있도록 허용 할 수 있는지 확신 할 수 없습니다.
교대 근무 중에 단 한 명의 의사 만 한 사무실에서 근무할 수 있습니다. –
그런 다음 동일한 테이블에 다른 고유 키 id_office, id_shift가 필요합니다. – Mark
나는 사무실과 근무 시간을 포함하도록 기본 키를 변경하고 의사에게 별도의 고유 한 제약을 추가하고 함께 이동합니다.
- 1. 이 일대일 관계를 모델링하는 방법은 무엇입니까?
- 2. 이 관계를 모델링하는 방법?
- 3. 값 개체 관계를 모델링하는 방법은 무엇입니까?
- 4. 이 레일즈 관계를 모델링하는 가장 좋은 방법
- 5. 간단한 구성 관계를 모델링하는 방법
- 6. Rails에서 이러한 관계를 모델링하는 가장 좋은 방법
- 7. CakePhp에서 삼항 관계를 모델링하는 방법?
- 8. Objective-C에서 n과 n의 관계를 모델링하는 방법은 무엇입니까?
- 9. 데이터베이스에서 사용자 정의 계층 관계를 모델링하는 가장 좋은 방법은 무엇입니까?
- 10. 카산드라에서 M : M 관계를 모델링하는 다른 방법은 무엇입니까?
- 11. Sybase PowerDesigner 데이터 항목의 데이터 유형 변경 (찾기/바꾸기/변환)
- 12. 이 데이터베이스 관계를 어떻게 모델링 하시겠습니까?
- 13. Hibernate : 이중 부모/자식 관계를 모델링하는 방법
- 14. 이러한 데이터베이스 연결을 모델링하는 가장 좋은 방법은 무엇입니까?
- 15. 이 시나리오에서 관계를 설정하는 방법은 무엇입니까? 이 같은
- 16. 캘린더 애플리케이션을 모델링하는 방법은 무엇입니까?
- 17. Linq 2 Sybase ASE 데이터베이스? 옵션은 무엇입니까?
- 18. 오브젝트에 많은 blob을 모델링하는 방법은 무엇입니까?
- 19. appengine에서 팔로워 스트림을 모델링하는 방법은 무엇입니까?
- 20. Doctrine에 대한 PowerDesigner
- 21. Rails에서 "can can be A or B"관계를 모델링하는 방법은 무엇입니까?
- 22. 단위 테스트 도구 Sybase 데이터베이스
- 23. 무료/저렴한 PowerDesigner 대안?
- 24. PowerDesigner 매개 변수화 된 클래스
- 25. Grails에서지도 값을 모델링하는 가장 좋은 방법은 무엇입니까?
- 26. Sybase SQL Anywhere 데이터베이스 관리 도구
- 27. Hibernate (또는 Hibernate)가 쉽게 지원하지 않는 관계를 모델링하는 방법
- 28. 알고리즘의 실행 시간을 모델링하는 방법은 무엇입니까?
- 29. 이 MySQL 데이터베이스 쿼리를 작성하는 방법은 무엇입니까?
- 30. 이 유스 케이스의 테이블과 관계를 설정하는 가장 좋은 방법은 무엇입니까?
어떤 데이터베이스를 사용 하시겠습니까? 이 방법에 접근하는 방법이 바뀔 수 있습니다. –
또한 OFFICE SCHEDULE은 OFFICE와 1 : M (또는 M : M) 관계입니까? 1 : 1 관계라면 OFFICE SCHEDULE은 OFFICE 테이블의 일부 여야합니다 –
MS SQL 많은 관계 (의사 사무실)를 별도의 테이블로 분리해야 할 때 다소 혼란 스럽지만 그것 사무실 - 사무실 일정은 1이어야합니다 : M –