資料庫設計
資料庫設計是指根據使用者的需求,在某一具體的資料庫管理系統上,設計資料庫的結構和建立資料庫的過程。資料庫系統需要作業系統的支援。
設計技術
①明確使用者需求
②重視資料維護
③增加命名規範性
④充分考慮資料庫優化與效率的問題
⑤不斷調整資料之間的關係
⑥合理使用索引
設計資料庫的步驟
充分了解需求
標識實體:具體存在的物件,名詞
標識屬性
標識關係
標識關係
一對多:主鍵和非主鍵之間的關係,在多的一方建立乙個字段作為外來鍵指向一的一方的主鍵。
多對多:建立乙個第三種表,中間表至少需要2個字段分別作為外來鍵指向多對多雙方的各自主鍵。
一對一:唯一外來鍵對應:假設一對一的雙方是一對多的關係,在多的一方建立外來鍵指向一的一方的主鍵,需要在外鍵上新增乙個unique約束。
主鍵對應:將一對一的雙方的主鍵建立對映。
三大正規化:
第一正規化
消除乙個字段包含多個資料庫值,消除乙個記錄包含重複的組(單獨的一列包含多個專案),即可滿足1nf。符合1nf的關係中的每個屬性都不可再分。如下表所示的情況,就不符合1nf的要求。
第二正規化
消除部分依賴性即可轉化為2nf。部分依賴性表示乙個記錄中包括的字段只依賴於主鍵的一部分。解決部分依賴性的最簡單方法是將復合主鍵分成兩部分,每一部分表示乙個單獨的表。其改進是,2nf在1nf的基礎之上,消除了非主屬性對於碼的部分函式依賴。
第三正規化
消除可傳遞依賴性即可滿足3nf。可傳遞依賴性表示記錄中至少乙個值不依賴主鍵,而是依賴於這個記錄中的另乙個字段。
符合3nf要求的資料庫設計,基本上解決了資料冗餘過大,插入異常,修改異常,刪除異常的問題。當然,在實際中,往往為了效能上或者應對擴充套件的需要,經常 做到2nf或者1nf,但是作為資料庫設計人員,至少應該知道,3nf的要求是怎樣的。
資料模型三要素
資料庫結構的基礎是資料模型,是用來描述資料的一組概念和定義。
資料模型三要素是資料結構、資料操作、資料的約束條件。
e-r模型:是實體-聯絡模型的簡稱。所採用的3個主要概念是實體、聯絡、屬性。
實體:現實世界中可以區別其它物件的物體或事件。
聯絡:實體的聯絡分為實體內部的聯絡和實體與實體之間的聯絡。
兩個不同實體之間的聯絡:
(1)一對一:指實體集e1中的乙個實體最多隻與實體集e2中的乙個實體相聯絡。(1:1)
(2)一對多:表示實體集e1中的乙個實體可與實體集e2中的多個實體相聯絡。(1:n)
(3)多對多:表示實體集中e1中的多個實體可與實體集e2中的多個實體相聯絡。(m:n)
mysql 資料庫設計 MySQL 資料庫設計總結
本文由雲 社群發表 規則 1 一般情況可以選擇 myisam 儲存引擎,如果需要事務支援必須使用 innodb 儲存引擎。注意 myisam 儲存引擎 b tree 索引有乙個很大的限制 參與乙個索引的所有欄位的長度之和不能超過 1000 位元組。另外 myisam 資料和索引是分開,而 innod...
mysql考勤資料庫設計 mysql 資料庫設計
正規化 大概有8種正規化,遵循前三個一般資料庫就沒有問題 1 列不能再拆分 比如一列中有姓名,又有性別,就是沒有遵循這一條正規化 order id product id price quantity product name 111 11 123 good pen order id 和 produc...
mysql相簿資料庫設計 mysql資料庫的設計
資料庫的設計有乙個嚴謹的流程,根據流程製作乙個完整的資料庫,可以省去很多的時間,也可以最大程度上與客戶的想法契合。需求分析階段 分析客戶的業務和資料處理需求 概要設計階段 設計資料庫的e r模型圖,確認需求資訊的正確和完整 詳細設計階段 應用三大正規化審核資料庫結構 編寫階段 物理實現資料庫,編碼實...