軟件開發(fā)過程
- 需求調(diào)研,與客戶進(jìn)行溝通
- 需求分析,將現(xiàn)實工作中的動作模擬到計算機
數(shù)據(jù)建模 - 開發(fā)
- 測試
- 上線部署
從關(guān)系數(shù)據(jù)庫的表中刪除冗余信息的過程稱為規(guī)范化,
規(guī)范化是得到高效的關(guān)系型數(shù)據(jù)庫表的邏輯結(jié)構(gòu)最好和最容易的方法。
獲得數(shù)據(jù)規(guī)范化的方法: 三范式
步驟1:
第一范式:必須要有主鍵,并且每個屬性值,都是不可再分的最小數(shù)據(jù)單位,則稱R是第一范式的關(guān)系。
第二范式:所有非主關(guān)鍵字都完全依賴于主關(guān)鍵字(通常用于聯(lián)合主鍵)
第三范式:非主關(guān)鍵字不能依賴于其他非主關(guān)鍵字(通常用于一個主鍵)
數(shù)據(jù)建模
- 根據(jù)三個范式
- 分析實體之間的關(guān)系, ER 圖 Entity-Reference
一對一:一個人只有一個身份證,唯一外鍵關(guān)聯(lián)或者主鍵關(guān)聯(lián)。
一對多:一個班級可以有多個學(xué)生。一個學(xué)生只屬于一個班級(clazz - student)
關(guān)聯(lián):一對多使用主外鍵關(guān)聯(lián),通常在多方(student)建立外鍵
多對多:一個學(xué)生可以選擇多門課程,一門課程可以被多個學(xué)生選修 (student - course)
關(guān)聯(lián):多對多通常使用中間表(再多建一張表存儲)關(guān)聯(lián)數(shù)據(jù),通常中間表會有兩張表的id作為聯(lián)合主鍵,并且作為外鍵指向關(guān)聯(lián)表