참고 이하 '거의 결심'이 연속 및 Optional Database Entities의 단순화이다.
저는 다양한 샘플 유형에 대한 다양한 테스트를 테스트하는 새로운 실험실 데이터베이스를 설계하고 있습니다.
홈페이지 엔티티 :
각 (REQ
제외) 정확히 하나의 부모와 (MEA
제외) 적어도 하나의 자녀가 있어야합니다.
Request REQ - the form Sample SAM - the materials on the form to be tested Test TST - the procedures to be performed on the sample (Trial ** TRI - instance of duplicate methods for statistics) Measurement MEA - a single measured number ** A Trial is optional. (see below)
옵션 평가판 설명
많은 테스트는 몇 가지 측정과 간단한 절차입니다. 예를 들어, "샘플에 KNO3 10 mL 15 %를 넣고 밀도와 pH를 얻으십시오."
그러나 일부 테스트에서는 동일한 절차가 샘플의 고유 한 부분에 대해 수행되어야한다고 요구합니다. 탄도 테스트를 예로 들어 보겠습니다. 요청자는 20 개의 총알에 대한 평균 이탈 속도와 정확도를 요구할 수 있습니다. sample
은 총알 20 세트입니다. test
은 "출구 속도와 정확도를 수집합니다." trials
은 해고되는 20 개의 개별 사진입니다. measurements
은 각 샷의 이탈 속도와 정확도입니다 (trial
).
질문
가 어떻게 Test
이 Trial
, 그리고 Measurement
는 Trial
개체는 선택 사항이며, 이후 엔티티를 모델링해야합니까?
옵션 1 : 필요없는 경우 "공백"평가 엔티티를 자리 표시 자로 사용하십시오.
양호 : 상위 항목은 항상 동일합니다.
불량 : Trial
불필요한 경우에도 항목이 존재합니다.
옵션 2 : 하위 시험과 Test
테이블에 롤 Trial
. 측정 값은 항상 test
을 부모로 사용합니다.
좋은 : Test
에 대한 여러 부모 타입 : 측정 (Test
)
나쁜위한 단일 부모 타입 Sample
또는 Test
옵션 3 : 측정 단위는 여전히 하나의 부모를 가지고 있지만, 부모는 test
수 중 수 또는 trial
.
좋은 : Test
에 대한 단일 부모 유형 (및 Event
필수)
나쁜 : 여러 부모 타입 Measurement
에 대한 : Test
또는 Trial
옵션 4 : 하위 개체로 시험.Measurement
은 test_id
이고 선택 사항은 trial_num
입니다. 재판의 PK는 (test_id
, trial_num
)입니다.
양호 : 다중 상위 유형 없음.
나쁜 :
옵션 X 확실하지 : 다른 옵션은 없습니다 이미 언급했다.
은 거의 결정했다 : 내가 지금 옵션 4 (하위 항목으로 시험)이 최고입니다 믿습니다. 다음은 옵션 4의 기본 규칙입니다. - measurement
은 항상 test
에 속합니다. - trial
은 필요할 때만 존재합니다. - Trial_num
은 세트에 여러 개의 시험이있는 경우 설정됩니다. - 그렇지 않으면 trial
이 필요하지 않음을 나타 내기 위해 trial_num
은 null입니다.
Simple ER Diagram
-----------------
REQ <- SAM <- TST <- MEA
^ |
| |
|-(TRI)<-|
Table Keys
----------
Table | PK | FK
------+-----------------+----------------
REQ | REQ_id |
SAM | SAM_id | REQ.PK
TST | TST_id | SAM.PK
(TRI | TST_id, TRI_num | TST.PK)
MEA | MEA_id | TST.PK, TRI.PK*
* TRI.PK is null if trial entity is not needed.
왜 좋은지 나쁜지에 대한 의견을 보내주십시오. 나는 당신의 설명에서 무엇을 수집 할 수 있습니다에서
이것은 단순화 되었습니까? –
'Trial'에 대해 좀 더 설명해 주시겠습니까? '시험'과 '측정'이 서로 다른 '시험'과 다른 점은 무엇입니까? –
couchdb와 같은 비 관계형 데이터베이스를 사용 해본 적이 있습니까? – David