의학 영역에서, 환자는 시험 톤 (HbA1C, 지질, 신장 등)을 가지고 있으며 기본적으로 모두 ExamX (ID, ID_Patient 당신이 SuperExam (ID, ID_Patient, ExamType, 날짜를 사용하여 하나에 여러 테이블에서 갈 수의학 가치 : 1 개의 최고 시험 테이블 또는 많은 시험 테이블
그러나, 날짜, 값) 값)
한 참고 값은 두 번째 테이블에서 분리하지 않을 것입니다. 일부 시험은 여러 값을 가지고 있으므로 구분해야합니다. Ex 값 = .9,105,108, .4
일반적으로 첫 번째 형식을 사용했지만 두 번째 구조도 여러 번 보았습니다. 두 번째 버전에서는 db 스키마를 변경하지 않고도 데이터에 더 많은 유연성을 부여 할 수 있지만보고가 악몽처럼 보일 것으로 보입니다.
더 나은 디자인은 무엇입니까?
정말 도움이되었습니다 - 고마워요! – Aaron
@Adam :이 모델을 함께 넣어 봤는데 아주 멋지다. 그래도 다른 물건을 둘러 보았을 때 나는이 링크를 발견했다 : http://stackoverflow.com/questions/408779/linq-to-sql-order-by-value-in-related-table/408806#408806 EAV는 일반적으로 좋은 것이 아니라고 말했습니다. – Aaron
좋은지 여부는 일반적으로 애플리케이션에 달려 있습니다. 당신은 변화에 대한 유연성 (유리한 EAV)과 희소 한 데이터 (유리한 EAV)를 수용 할 수있는 능력과 질의의 용이성과 통제 불능의 가능성 (EAV의 단점)의 균형을 맞추어야합니다. –