邏輯設計
正規化資料模型:
**模式(外模式、內模式、模式)
依據:需求說明書、dfd圖(資料流圖)等
結果:概念模型(e-r)與概念說明書
概念模型設計:e-r模型(實體-聯絡模型)
er模型建模基本思想是分類標識客觀事物,將具有相同屬性特徵的事物抽象為實體集,描述實體集之間的聯絡時不需要考慮資料在計算機中儲存及處理的特徵
基本要素:
任務:將概念模型(如er圖)轉化為dbms支援的資料模型(如關係模型),並對其進行優化
依據和階段目標:
用二維表結構來表示實體及實體之間聯絡的模型
主碼:用於區分實體集中不同實體的一組特徵
超碼:是乙個或多個屬性的集合,超碼中的這些屬性可以讓我們在乙個實體集中唯一標識乙個實體。
候選碼:某一組屬性中可以唯一標識元組的,不唯一
(取值不能重複也不能為空)
外碼:在本關係模式中不是主碼或候選碼,但是是另乙個關係模式的屬性或主碼
主碼和候選碼的區別:
超碼包括候選碼,候選碼包含主碼。主碼是人為選取的候選碼;主碼唯一且不可缺失;乙個表中可以有多個候選碼,但是只有乙個主碼。
函式依賴(fd)
定義:設r(u)是乙個屬性集u上的關係模式,x和y是u的子集。
若對於r(u)的任意兩個可能的關係r1、r2,若r1[x]=r2[x],則r1[y]=r2[y],或者若r1[y]不等於r2[y],則r1[x]不等於r2[x],稱x決定y,或者y依賴x。
比如在設計學生表時,乙個學生的學號能決定學生的姓名,也可稱姓名屬性依賴於學號,對於現實來說,就是如果知道乙個學生的學號,就一定能知道學生的姓名,這種情況就是姓名依賴於學號,這就是函式依賴。
其本質是根據屬性間的依賴情況來判定關係是否具有模型不合適的性質
特例:1、平凡函式依賴與非平凡函式依賴
2、完全函式依賴與部分函式依賴
括號內給的屬性同時決定箭頭後的屬性,則是完全依賴;
括號內給的屬性中部分屬性就能決定箭頭後的屬性,則是不完全依賴
3、傳遞函式依賴
多值依賴(md)
教師號可能多值依賴課程號,因為給定乙個(課程號,參考書號)的組合,可能有對應多個教師號。這是因為多個老師可以使用相同或不同的參考書上同一門課。
簡單點講,函式依賴就是唯一確定的關係; 多值依賴不能唯一確定。
定義:關係模式滿足的約束條件稱為正規化
第一正規化(1nf):如果關係模式r,其所有屬性都是不可再分的基本資料項,則稱r屬於第一正規化,r∈1nf
第二正規化(2nf):關係模式r∈1nf,且每個非主屬性完全依賴於主碼
第三正規化(3nf):關係模式r∈2nf,且r的每個非主屬性不傳遞依賴於r的主碼
三要素:
1、完整性約束:給定資料及其聯絡所有的制約和依存的規則,例如,實體的完整性規定主碼的任何屬性都不能為空;
2、資料結構
3、資料操作
待更。。。
資料庫結構設計
1.3概念設計的任務 1.2概念設計的依據 需求分析的文件,需求說明書,功能模型 資料流圖或idef0圖 資訊模型 er圖 和資料庫概念說明書是資料庫邏輯設計的依據 1.2 資料庫概念設計過程 1.3 資料建模方法 er建模方法 idef1x建模方法標識er模型中的聯絡,依次轉換與每個聯絡相關聯的實...
redis資料庫結構設計
之前遊戲開發服務端都是用純c 來寫,現在很多寫遊戲伺服器越來越傾向指令碼語言,因為用c 來寫一些邏輯的確是痛苦之極,當然如果追求效率的還是用c c 實現更好。最近時間自己通過研究了解雲風寫的skynet框架學習了lua,研究skynet其實是想把這框架用到公司現在遊戲專案裡替換掉現在用的乙個純c 框...
資料庫 概念結構設計
概念結構設計是將需求分析得到的使用者需求抽象為資訊結構即概念模型的過程,它是整個資料庫設計的關鍵。只有將需求分析階段得到的系統應用需求抽象為資訊世界的結構,才能更好 更準確地轉化為機器世界中的資料模型,並用適當的dbms實現這些需求。概念結構設計的方法和步驟 概念結構設計的方法通常有以下4種 其中最...