最近,從頭做乙個專案,把大概的功能捋了捋,然後做出乙個原型。根據原型大家討論,提一提建議,做一些修改和完善,我們下一步的工作就是根據原型進行程式的開發。依據原型設計要求,我們首先進行資料庫的設計。
資料庫的設計,網上的資料比較多,設計步驟分為六個階段,一是需求分析階段,了解和分析使用者需求,涉及資料和處理,這一步是基礎。二是概念結構設計階段,對使用者的需求進行總結、歸納和抽象,形成概念模型。三是邏輯結構設計階段,將概念模型轉換為資料庫系統支援的資料模型。四是資料庫物理設計階段,為資料模型選取乙個合適的物理結構,主要是儲存結構和訪問方法。五是資料庫實施階段,根據資料模型和物理結構,建立資料庫,組織測試資料,並執行資料庫。六是資料庫的執行和維護,根據資料的運**況,對資料庫進行適當的調整。
我們專案沒有嚴格按照規定的步驟進行,但也是遵循這種設計思想,把資料庫設計的大概步驟和注意的問題做一些記錄。步驟分為3個。一是根據需求列出事實表(提法可能不準確,暫時用這個詞),也就是羅列事實,比如學校的管理系統,把學生,老師,班級,課程等以事實表的形式列出來,根據需求設計適當的字段。二是考慮事實表之間的關係,考慮各個表之間的關係,然後根據關係的不同分別處理。表間關係主要有一對一,一對多,多對多。如果是一對一,原則上可以合併,但根據含義的不同也可以分開。比如學生和使用者的關係,學生表可以記錄學生相關的資訊,使用者只是學生登入時的狀態,這兩個表可以分開設計。一對多,這種情況比較多,比如,a表的一條記錄,在b表中多次使用,可以設計成a的主鍵為b的外來鍵。班級和學生的關係是典型的一對多。多對多,這時候就需要中間表來完成,比如學生和老師就是多對多的關係,可以通過課程表作為中間表,建立老師和學生的聯絡,如果沒有這種合適的中間表,也可以直接建立乙個tablea_tableb_node的中間表。第三個步驟就是建立根據表間關係建立資料庫,然後再進行功能分析,可以嘗試著寫介面文件,看資料結構能不能滿足介面要求,如果不能實現介面功能,再進一步調整資料庫。
一些注意的問題,要確定中心,圍繞著那個業務展開,則這個業務表要位於整個資料庫的中心,其它表(人和物)都和它有關聯。交易系統就是訂單,上課管理系統就是課表,等等。對a表中的資料進行分組,根據分組進行不同功能設計,可以加入group表,作為a表的外來鍵。每個表的外來鍵應該用不同的名稱,即外來鍵不能重複,否則在建立表的過程中會報錯。
資料庫設計簡要說明
最近,從頭做乙個專案,把大概的功能捋了捋,然後做出乙個原型。根據原型大家討論,提一提建議,做一些修改和完善,我們下一步的工作就是根據原型進行程式的開發。依據原型設計要求,我們首先進行資料庫的設計。資料庫的設計,網上的資料比較多,設計步驟分為六個階段,一是需求分析階段,了解和分析使用者需求,涉及資料和...
BCP簡要說明
bcp是sybase公司提供專門用於資料庫表一級資料備份的工具。一般存放在所安裝的ase或者open client 的bin目錄中。12版本以前的ase,bcp存放目錄為 sybase bin 12版本 含12版本 以後存放目錄為 sybase ocs 12 x bin 其中 sybase為syba...
initcall debug簡要說明
linux version 3.10.40 1.使用說明 documentation kernel parameters.txt中的說明如下 initcall debug knl trace initcalls as they are executed.useful for working out ...