二 資料庫設計及實現

2022-08-17 19:09:21 字數 4207 閱讀 6956

一、概念設計

依據:資料庫概念設計以需求分析的結果為依據,及需求說明書、dfd圖以及在需求階段收集到的引用領域中的各種報表等。

結果:概念設計的結果是概念模型(er圖)與概念設計說明書。

e-r模型(entity-relationship model),及實體聯絡模型,e-r圖的符號如下所示:

二、邏輯設計

關係模型中的關係模式描述關係的靜態結構,它是穩態、穩定的,而關係動態、隨使用者對資料庫的操作而變化的

任務:將概念模型(如er圖)轉化為

dbms

支援的資料模型(如關係模型),並對其進行優化。

資料依賴的型別:

函式依賴:唯一確定的關係,乙個x只能推出乙個

y多值依賴:不能唯一確定,乙個x可以推出多個

y平凡函式依賴:y為

x的子集

非平凡函式依賴:y不為

x的子集

完全函式依賴:x中沒有多餘的屬性

部分函式依賴:x中有多餘的屬性

傳遞函式依賴:x->y,

y->z

無損連線:指分解的若干連線重組時可以精確恢復到原來的資料表,資料記錄既沒有增加也沒有減少

保持函式依賴:是指原關係模式含有的屬性之間的隱含關係在分解後不能丟失

候選碼:能夠唯一確定整個元祖的值

主碼(primary key):候選碼中的乙個

外碼(foreign key):屬性或屬性組

x不是關係模式

r的碼(既不是主碼也不是候選碼),但

x是另乙個關係模式的碼

關係模式的規範化:把乙個低一級的關係模式分解為高一級關係模式的過程。

正規化:關係模式滿足的約束條件稱為正規化。根據滿足規範化的程度不同,正規化由第到高分為1nf、

2nf、

3nf、

bcnf

、4nf

、5nf

1nf:關係模式

r所有屬性都是不可再分的基本資料項

2nf:屬於

1nf,且每個非主屬性完全函式依賴於主碼

3nf:屬於

2nf,且

r中每個非主屬性不傳遞依賴於

r的主碼

資料庫邏輯模型的產生:概念模型按一定規則可轉化為資料模型:

① 乙個實體轉化為乙個關係模式

② 乙個1:

1聯絡可以轉化為乙個獨立的關係模式,也可以與任意一端對應的關係模式合併

③ 乙個1:

n可以轉化為乙個獨立的關係模式,也可以與

n端對應的關係模式合併

④ 乙個m:

n聯絡轉化為乙個關係模式

⑤ 三個或三個以上實體間的乙個多元聯絡轉化為乙個關係模式

⑥ 同乙個實體集的實體間的聯絡,也可以按1:1、

1:n、

m:m三種情況分別處理

三、物理設計

物理資料庫設計是設計資料庫的儲存結構和物理實現方法。

目的:將資料的邏輯描述轉換為實現技術規範,設計資料儲存方案,以便提供足夠好的效能並確保資料庫資料的完整性、安全性、可靠性。

索引分類:

有序索引,索引檔案機制,利用索引檔案實現記錄域取值到記錄實體地址間的對映關係。

資料檔案索引檔案是有序索引技術中的兩個主題,資料檔案常採用順序檔案結構。

1)聚集索引(索引項與資料記錄排列順序一致,索引順序檔案)和非聚集索引

乙個資料檔案只可建立乙個聚集索引,但可建立多個非聚集索引。

2)稠密索引(資料檔案中每個查詢碼都對應索引碼記錄)和稀疏索引(部分查詢碼的值對應索引記錄)。

3)唯一索引(索引列不包含重複值)

4)主索引(主碼索引集上建立的索引)與輔索引(非主屬性上建立的索引)。

5)雜湊索引,雜湊索引機制,利用雜湊函式實現記錄域取值到記錄實體地址之間的直接對映關係。

儲存表的檔案結構:

雜湊檔案:指利用雜湊儲存方式組織的檔案,亦稱為直接訪問檔案。雜湊檔案的優點是:檔案隨機存放,記錄不需進行排序;插入刪除方便;訪問速度快;不需要索引區,節省儲存空間。缺點是:不能進行順序訪問,只能按照關鍵字隨機訪問,且訪問方式只限於簡單訪問,並且在經過多次插入、刪除後,也可能造成檔案結構不合理,需要重新組織檔案

堆檔案:無需建立索引,維護代價非常低。雖然堆檔案的資料訪問效率低,但在資料量很少時定位檔案記錄的時間非常短

順序檔案:指的是檔案資訊存放在若干連續的物理快中。其優點時簡單,支援順序訪問和隨機訪問,順序訪問速度相對較快。缺點是檔案不能動態增長,不利於檔案的插入和刪除。如果使用者的查詢條件定義在查詢碼上,則順序檔案是比較適合的檔案結構

聚集檔案:將不同關係表中有關聯的記錄儲存在一起。如果某些重要而頻繁的使用者查詢經常需要進行多表連線操作,可以考慮聚集檔案,來改善查詢效率

如果在索引碼上執行大量刪除操作,索引頁可能會出現空間的浪費,而這些被浪費的空間需要在重建索引後才能提高資料庫的效能

將經常一起使用的具有公共列值的多個表中的資料行儲存在一起的儲存方法被稱為聚集

多屬性索引中,索引屬性的順序是按照其區分度來進行排序的

四、資料庫應用系統的設計與實現

兩種常見的dbas體系結構:

客戶/伺服器體系結構(c/s)

瀏覽器/伺服器體系結構(b/s)

從功能角度,資料庫應用系統通常劃分為四個層次實現:

表示層,人機介面設計,影響系統易用性

設計原則:「使用者自主控制」;反饋即時、上下文感知;容錯與錯誤恢復;輸入靈活;介面簡潔;互動及時

業務邏輯層

設計原則:高內聚低耦合,即構件單一原則;構件獨立功能;介面簡單明確;構建間關係簡單,如過於複雜,就細化分解。

設計內容:結構,行為,資料,介面,故障處理,安全設計,系統維護和保障等。

資料訪問層

任務:針對dbas的資料處理需求設計用於運算元據庫的各類事務

事務:事務(transaction)是訪問並可能更新資料庫中各種資料項的乙個程式執行單元(

unit

)。事務的特性:

1)原子性(atomicity),乙個不可分割的工作單位;

2)一致性(consistency),從乙個一致性狀態變到另乙個一致性狀態;

3)隔離性(isolation),執行不能被其他事務干擾;

4)永續性(durability),永久性(

permanence

),指乙個事務一旦提交,他對資料庫中資料的改變就應該是永久性的。

資料持久層

屬於資料組織和儲存方面的設計內容

三層架構(b/s/s、

c/s/s

):通常意義上的三層架構就是將整個業務應用劃分為:表示層業務邏輯層(位於應用伺服器)、資料訪問層(位於資料庫伺服器

五、應用系統安全架構設計

資料庫設計及優化

一 影響資料庫的因素 1.系統硬體 cpu 記憶體 io 網路 2.系統環境 作業系統 資料庫版本 作業系統引數配置 資料庫的引數配置 3.系統的規模 併發量 資料量 使用者量 4.資料庫內部因素 查詢效率 不合理的sql語句 過多的表連線 表設計不合理 隱式轉換 字段型別轉換 統計資訊 鎖資訊二 ...

MYSQL資料庫設計和資料庫設計例項(二)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!1 需求分析的主要任務或者說主要的作用是 通過詳細的調查現實世界要處理的物件,了解計算機系統的工作概況,明確使用者的各種需求,然後在此基礎上確定新系統的功能,還需要考慮到今後可能的對系統的擴充和改變.2 在調查過程中重點是 資料 和 處理 通過調查...

資料庫事務及實現

一 事務 事務指的是滿足acid特性的一組操作,可以通過 commit提交乙個事務,也可以使用 rollback 進行回滾。mysql 預設採用自動提交模式。也就是說,如果不顯式使用start transaction語句來開始乙個事務,那麼每個查詢都會被當做乙個事務自動提交。acid 1.原子性 a...