首先,我對設計數據庫相對來說比較陌生,在與他們合作時只有有限的經驗。換句話說....請讓我容易與我:)初學者試圖設計和實現數據庫
我目前正在開發數據庫的設計的初步階段,我很快意識到,我的設計知識是非常有限的。但是我明白這個過程將會是多麼重要。
時間是一個問題,雖然我很欣賞任何迴應,'你應該讀這本書來幫助你......',我真的沒有時間這樣做;這是一項在正常工作時間以外幫助退伍軍人的志願者工作,這有希望解釋我缺乏經驗。
這裏是我的困境: 我目前概述了大約150個字段,需要在數據庫中輸入,但我很難決定如何將字段拆分成有效的表格鏈接在一起,規範化規則。
只給你的,我收集一兵一卒的信息片段:
- 個人信息(姓名,部隊番號,宗教,出生地,近親等)
- 家族成員(父母,子女,兄弟姐妹)
- 教育史(歲的時候離開學校,檔次最高水平達到,大專/大學,貿易/ apprenticehip,語言口語/寫等)
- 職業史(以前的工作經驗,僱主名稱,特定職務(病歷,年齡,眼睛/頭髮顏色,身高,體重,膚色,疤痕,視力,聽力等)
- 身體檢查(骨折的病史,頭部受傷脊髓麻煩破裂結核哮喘,血壓,許多其他條件等)
- 的團史(入伍之日起,團裏舉行入伍的時候,其他軍團加入,最高等級等)
- 位置的士兵(戰士從出生,入伍,訓練,戰場,死亡的所有重要地點的清單)
- 埋葬信息(死亡日期,死亡地點,墓地,墓地等)
顯然,有一噸的信息,需要對單個士兵被收集。我的問題是試圖決定如何以可管理和高效的方法拆分表格,以及需要爲每個表格列出的主鍵/外鍵。
- 想想每個行都會成爲一名士兵的話,這似乎是不合邏輯的。
- 從邏輯上講,也許我應該把數據庫分解成上面列出的表格,但是我不知道如何使用主鍵,因爲它將大致相同的每行的士兵ID - 然後連接表在一起(這對我來說看起來並不正確,因爲它與#1不一樣嗎?)
- 將數據庫分解爲非常簡單的表格(即每個表格有幾列),這些表格指向彼此。示例:Language_Table具有可能使用唯一ID進行口述/書寫的所有語言的列表。這似乎是最有意義的,但會創建大量的表格。
請幫我設計。我將永遠在你的債務:)
該計劃也是在Azure上託管數據庫,最終將提供給Windows Phone應用程序。
非常感謝您提供的任何幫助/方向。
您不必強制數據進入關係數據庫。另一種方法是有一個單一字段「SoldierInformation」,其中包含一個XML或JSON字符串,其中包含上述所有信息。或者,更好的是,你可以看看一個NoSQL數據庫,比如MongoDB,它非常適合這類數據。 – 2013-03-26 16:03:57