多類別的數據庫關係設計
我正在為分組研究的參與者建立一個數據庫。總共有 5 項不同的研究 - A、B、C、D 和 E。參與者可能參與多個研究,並且每項研究中的參與者都有一個獨特的“研究程式碼”,其格式根據研究的不同而不同. (即研究 A 的程式碼可能是 10 個字元的數字和字母,研究 B 的程式碼可能只有 6 個字元的數字……等等)
我知道我需要一個多對多連結表和一個用於研究的查找表,但除此之外,我很難弄清楚將“研究程式碼”合併到表中的哪個位置。
這是迄今為止我的表格的欄位。
- 參與者:participantID(主鍵)、姓名、出生日期…等(背景人口統計數據)
- PatientInStudies:參與者ID、研究、study_code
- LookupStudies:研究(列出所有研究 A、B、C 等)
基本上,PatientInStudies 表看起來像:
1, A, A123456789
1,乙,123456
1、C、BB23-1-52
2、A295890100
2、乙、123908
3、C、KG19-7-23….等
PatientInStudies 表會起作用嗎?有沒有更好的方法來組織數據庫中的學習程式碼?
謝謝!
我支持@FrustratedWithFormsDesigner 對唯一約束的建議。有關如何在 MS Access 中執行此操作,請參閱http://office.microsoft.com/en-us/access-help/create-a-constraint-adp-HP003088257.aspx 。
唯一約束的作用是聲明任何兩行都不能在行的某些部分有重複數據。因此,大概您希望每個患者只參加一次研究,因此您需要對 PatientInStudy(participantID, study) 進行唯一的約束。
這樣每個人只能獲得一個學習ID。同樣,在該設計中,PatientsInStudy 表將具有跨越所有三個欄位的主鍵,以及 (StudyID, study_code) 上的第二個唯一約束。這樣,即使兩個研究最終具有相似的語義或重疊空間,密鑰也不能在同一個研究中重複使用。
否則,很好。