資料庫設計總結:
第一次寫部落格,剛學了資料庫設計,簡單回顧總結一下。
寫在前面,了解一下專案開發流程:
1.需求調研----系統邊界
2.需求文件
3.原型設計—ui,html頁面
4.設計資料庫
5.後台開發,公共**編寫
6.功能編碼
1.資料庫的三正規化:
第一正規化:保持屬性的原子性,概念分的不能再分,如姓名可分為姓和名,所以姓名不滿足第一正規化。
第二正規化:所有列依賴於主鍵,乙個表只描述一件事情。
第三正規化:每一列直接依賴於主鍵
如:a依賴於b,b依賴於c,在數學上我們可以認為a依賴c,但在資料庫違反第三正規化。
注:只有主鍵才能設定自動增長,自動增長一定是主鍵,而主鍵不一定自動增長。
2.e-r圖:資料庫關係圖,用來描述現實世界的概念模型。
使用e-r圖的好處:
(1)方便梳理表與表的關係
(2)可以快速生成sql建庫指令碼
小發現:
可以先使用流程圖梳理各角色各模組之間的關係,再使用e-r畫出表之間的關係,效果更佳。
3.資料庫設計步驟:
(1)標識表
(2)標識表的字段
(3)標識表與表之間的關係
4.表的關係:由需求決定。
(1)型別:一對一,一對多,多對一,多對多。
(2)資料庫中沒有直接多對多關係的存在,原因是資料庫裡面的字段不能儲存集合。
實現多對多的方式:a.使用中間表 b.表中字段之間用逗號
5.冗餘可能會帶來的問題:
(1)資訊重複
(2)更新異常
(3)插入異常
(4)刪除異常:在某些特定情況下,當刪除一行時,可能會丟失有用的資訊
6.資料庫設計原則:
設計資料庫的時候應盡量符合三大正規化,避免資料的冗餘,但有時為了資料庫的訪問效能,允許適當的冗餘
如:商品表中的金額字段,可分解為單價*數量 ,說明金額是冗餘項,不符合第一正規化,但從業務邏輯考慮,增加金額字段,可以提高查詢速度,使用的目的是為了提高處理速度。
有寫的不好的地方還望大家海涵。
資料庫設計總結
主要學習目標 1 e r圖的繪製 2 使用三正規化規範資料庫的設計 e r圖 e r圖是一種廣泛使用的設計工具,主要用來表示事物 事物的資料和其間的關係資訊 e r圖將資訊分為三種形式 實體,屬性和關係 長方形用來標識實體 橢圓用來標識屬性 菱形用來確定關係 資料規範化 1 第一正規化 1st nf...
資料庫設計總結
資料庫命名 資料庫表命名 字段命名規範 字段型別規範 能使用 int 就不要使用 varchar char 能用 varchar 16 就不要使用 varchar 256 固定的長度最好使用 char 型別儲存 每乙個欄位都要乙個預設值而不是直接使用 null 型別,預備大量的空間也是一種資源浪費 ...
MySQL資料庫設計總結
規則1 一般情況可以選擇myisam儲存引擎,如果需要事務支援必須使用innodb儲存引擎。注意 myisam儲存引擎 b tree索引有乙個很大的限制 參與乙個索引的所有欄位的長度之和不能超過1000位元組。另外myisam資料和索引是分開,而innodb的資料儲存是按聚簇 cluster 索引有...