我想問一個有數據庫設計經驗的人。這是我的想法,我不能評估這種方法的深層結果,比如說,共同的問題。我很欣賞你事先評論...數據庫設計的另一種方法:「垂直性」
試想:
- 患者在醫院
- 每一位患者應該有:
1.個人信息 - 姓名,街,SecurityID,聯繫人,還有更多(
personaldata_tbl
0:各種形式(也隨時間變化)堆
通常我會設計表病人pesonal數據 - 這可能隨着時間的推移)
2.個人記錄被改變| ID | SecurityID |名稱|姓氏| | TimeOfEntry
以及程序中每個表單的類似表格。這可能是一項非常艱鉅的任務,因爲它可能會達到數百個這樣的表格。除此之外,他們的人數可能會越來越多。 是的,所有這些應該是關係連接,例如:
releaseform_tbl
| ID | personaldata_tbl_ID | DateOfRelease | CauseOfRelease ... | TimeOfEntry
我的意圖是將2D表格還原爲單個1D表格 - 關於患者的所有數據都將存儲在一張表格中!其他表格將描述(參考)在主表中存儲什麼類型的數據。看看這個:
data_info_tbl
| ID |說明|
| 1 |名稱|
| 2 |姓氏
patient_data_tbl
| ID | patient_ID | data_info_ID | form_ID | TimeOfEntry |值
| 1 | 121 | 1 | 7 | 17.12.2011 14:34 | John
| 2 | 121 | 2 | 7 | 17.12.2011 14:34 |史密斯
的主要原因,爲什麼這種方法吸引我的是:
- 簡單
- 沒有表叢林
反政府 - 存儲與適當的規範和精度
任何數據的能力: - SQL查詢在某些情況下可能會有問題
- 應該有可靠的算法來刪除,更新,插入數據(一種方式是動態創建表,對其執行操作並最終存儲它) - 不會使用數據集控件。
那麼你會說什麼?
thanx您的時間和答案
1.通過數據提取的額外努力 - 正確。特別是在哪裏和OR操作可能難以執行。 – lyborko 2011-12-17 12:09:27
我沒有看到有關郵編的任何困難,既不是「中間名」的問題。我不確定,如果你完全理解我。中間名會得到下一個data_info id,如果將它放在姓氏旁邊的表單上或其他地方,則無關緊要。 – lyborko 2011-12-17 12:26:29