系统架构设计-数据库系统知识点
一、數據庫的結構與模式
數據庫技術中采用分級的方法將數據庫的結構劃分為多個層次。最著名的是美國ANSI/ SPARC 數據庫系統研究組 1975年提出的三級劃分法。
1. 三級模式
數據庫系統的三級模式為外模式、概念模式、內模式。
概念模式。概念模式(模式、邏輯模式)用以描述整個數據庫中數據庫的邏輯結構,描述現實世界中的實體及其性質與聯系,定義記錄、數據項、數據的完整性約束條件及記錄之間的聯系,是數據項值的框架。 數據庫系統概念模式通常還包含有訪問控制、保密定義、完整性檢查等方面的內容,以及概念/物理之間的映射。
概念模式是數據庫中全體數據的邏輯結構和特征的描述,是所有用戶的公共數據視圖。一個數據庫只有一個概念模式。
外模式。外模式(子模式、用戶模式)用以描述用戶看到或使用的那部分數據的邏輯結構,用戶根據外模式用數據操作語句或應用程序去操作數據庫中的數據。外模式主要描述組成用戶視圖的各個記錄的組成、相互關系、數據項的特征、數據的安全性和完整性約束條件。
外模式是數據庫用戶(包括程序員和最終用戶)能夠看見和使用的局部數據的邏輯結構和特征的描述,是數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。一個數據庫可以有多個外模式。一個應用程序只能使用一個外模式。
內模式。內模式是整個數據庫的最低層表示,不同于物理層,它假設外存是一個無限的線性地址空間。內模式定義的是存儲記錄的類型、存儲域的表示以及存儲記錄的物理順序,指引元、索引和存儲路徑等數據的存儲組織。
2. 三級抽象
數據庫系統劃分為三個抽象級:用戶級、概念級、物理級。
用戶級數據庫。用戶級數據庫對應于外模式,是最接近用戶的一級數據庫,是用戶可以看到和使用的數據庫,又稱用戶視圖。用戶級數據庫主要由外部記錄組成,不同的用戶視圖可以互相重疊,用戶的所有操作都是針對用戶視圖進行的。
概念級數據庫。概念級數據庫對應于概念模式,介于用戶級和物理級之間,是所有用戶視圖的最小并集,是數據庫管理員可看到和使用的數據庫,又稱 DBA(DataBase Administrator,數據庫管理員)視圖。概念級數據庫由概念記錄組成,一個數據庫可有多個不同的用戶視圖,每個用戶視圖由數據庫某一部分的抽象表示所組成。一個數據庫應用系統只存在一個 DBA 視圖,它把數據庫作為一個整體的抽象表示。概念級模式把用戶視圖有機地結合成一個整體,綜合平衡考慮所有用戶要求,實現數據的一致性、最大限度降低數據冗余、準確地反映數據間的聯系。
物理級數據庫。物理級數據庫對應于內模式,是數據庫的低層表示,它描述數據的實際存儲組織,是最接近于物理存儲的級,又稱內部視圖。物理級數據庫由內部記錄組成,物理級數據庫并不是真正的物理存儲,而是最接近于物理存儲的級。
3. 兩級獨立性
數據庫系統兩級獨立性是指物理獨立性和邏輯獨立性。三個抽象級間通過兩級映射(外模式—模式映射,模式—內模式映射)進行相互轉換,使得數據庫的三級形成一個統一的整體。
物理獨立性。物理獨立性是指用戶的應用程序與存儲在磁盤上的數據庫中的數據是相互獨立的。當數據的物理存儲改變時,應用程序不需要改變。
物理獨立性存在于概念模式和內模式之間的映射轉換,說明物理組織發生變化時應用程序的獨立程度。
邏輯獨立性。邏輯獨立性是指用戶的應用程序與數據庫中的邏輯結構是相互獨立的。當數據的邏輯結構改變時,應用程序不需要改變。
邏輯獨立性存在于外模式和概念模式之間的映射轉換,說明概念模式發生變化時應用程序的獨立程度。
二、數據庫設計過程
1978 年 10 月來自 30 多個歐美國家的主要數據庫專家在美國新奧爾良市專門討論了數據庫設計問題,提出了數據庫設計規范,把數據庫設計分為需求分析、概念結構設計、邏輯結構設計、物理結構設計 4 個階段。
需求分析
通過調查研究, 了解用戶的數據和處理需求, 并按一定格式整理形成需求說明書、數據字典和數據流程圖。
概念設計
在需求分析階段產生的需求說明書的基礎上, 按照特定的方法將它們抽象為一個不依賴于任何DBMS的數據模型, 即概念模型. (如E-R模型)
邏輯設計
將概念模型轉化為某個特定的DBMS上的邏輯模型(如關系型數據庫、對象型數據庫), 并對所設計的邏輯模型進行優化.(發生在概要設計階段;設計表包括所有細節—表名、字段、主外鍵等)
物理設計
對給定的邏輯模型選取一個最適合應用環境的物理結構, 以確定數據庫在物理設備上的存儲結構和存取方法.
三、數據模型
數據模型主要有兩大類,分別是概念數據模型(實體—聯系模型)和基本數據模型(結構數據模型)。
其中概念數據模型是按照用戶的觀點來對數據和信息建模,主要用于數據庫設計。概念模型主要用實體—聯系方法(Entity-Relationship Approach)表示,所以也稱 E-R 模型。
圖中的橢圓代表屬性字段,矩形代表實體數據表,菱形代表之間的聯系。
1. ER模型集成
集成方法:
集成產生的沖突及解決方法:
2. 實體轉換關系
上題符合三個實體間的關系,其中三個實體轉為三個關系模型,聯系轉為一個關系模型,即最少可轉四個關系模型。
四、關系代數
關系代數的基本運算主要有并、交、差、笛卡爾積、選擇、投影、連接和除法運算。
比如:關系S1和關系S2
S1 ∩ S2
S1 ∪ S2
S1 - S2
S1 X S2 (笛卡爾積)
投影 π
6. 條件選擇 σ
7. 連接
五、數據庫范式
關系模型滿足的確定約束條件稱為范式,根據滿足約束條件的級別不同,范式由低到高分為 1NF(第一范式)、2NF(第二范式)、3NF(第三范式)、BCNF(BC 范式)、4NF(第四范式) 等。不同的級別范式性質不同。
把一個低一級的關系模型分解為高一級關系模型的過程,稱為關系模型的規范化。關系模型分解必須遵守兩個準則。
第一范式
1NF 是最低的規范化要求。如果關系 R 中所有屬性的值域都是簡單域,其元素(即屬性)不可再分,是屬性項而不是屬性組,那么關系模型 R 是第一范式的。
第二范式
如果一個關系 R 屬于 1NF,且所有的非主屬性都完全依賴于主屬性,則稱之為第二范式。
第三范式
如果一個關系 R 屬于 2NF,且每個非主屬性不傳遞依賴于主屬性。
BC 范式
如果一個關系 R 屬于 3NF,且每個主屬性間沒有函數依賴關系。
六、反規范化
數據庫中的數據規范化的優點是減少了數據冗余,節約了存儲空間,相應邏輯和物理的 I/O 次數減少,同時加快了增、刪、改的速度,但是對完全規范的數據庫查詢,通常需要更多的連接操作,從而影響查詢速度。 因此,有時為了提高某些查詢或應用的性能而破壞規范規則,即反規范化(非規范化處理)。
反規范化技術包括:
增加冗余列
增加冗余列是指在多個表中具有相同的列,它常用來在查詢時避免連接操作。
增加派生列
增加派生列指增加的列可以通過表中其他數據計算生成。它的作用是在查詢時減少計算量,從而加快查詢速度。
重新組表
重新組表指如果許多用戶需要查看兩個表連接出來的結果數據,則把這兩個表重新組成一個表來減少連接而提高性能。
分割表
有時對表做分割可以提高性能,比如: 水平分割 和 垂直分割。
七、 事務管理
數據庫系統運行的基本工作單位是事務,事務相當于操作系統中的進程,是用戶定義的一個數據庫操作序列,這些操作序列要么全做要么全不做,是一個不可分割的工作單位。事務具有以下特性:
1. 并發控制
在多用戶共享系統中,許多事務可能同時對同一數據進行操作,此時數據庫管理系統的并發控制子系統負責協調并發事務的執行,保證數據庫的完整性不受破壞,同時避免用戶得到不正確的數據。
數據庫的并發操作帶來的問題有:丟失更新問題、不一致分析問題(讀過時的數據)、依賴于未提交更新的問題(讀了“臟”數據)。這三個問題需要 DBMS 的并發控制子系統來解決。
處理并發控制的主要方法是采用封鎖技術。它有兩種類型:排他型封鎖(X 封鎖)和共享型封鎖(S 封鎖)。
2. 并發控制-封鎖協議
八、備份與恢復
數據庫中的數據一般都十分重要,不能丟失。事先制定一個合適的、可操作的備份和恢復計劃至關重要。
數據備份分為:冷備份(靜態備份,需要關閉服務)和熱備份(動態備份,無需關閉服務)。
1. 備份的方式
2. 數據恢復
九、分布式數據庫
分布式數據庫系統的模式結構有六個層次,如圖 所示,實際的系統并非都具有這種結構。在這種結構中各級模式的層次清晰,可以概括和說明任何分布式數據庫系統的概念和結構。
從整體上可以分為兩大部分:下半部分是集中式數據庫的模式結構,代表了各局部場地上局部數據庫系統的基本結構;上半部分是分布式數據庫系統增加的模式級別。
數據分片和透明性
將數據分片,使數據存放的單位不是關系而是片段,這既有利于按照用戶的需求較好地組織數據的分布,也有利于控制數據的冗余度。分片的方式有多種,水平分片和垂直分片是兩種基本的分片方式,混合分片和導出分片是較復雜的分片方式。
分布透明性指用戶不必關心數據的邏輯分片,不必關心數據存儲的物理位置分配細節,也不必關心局部場地上數據庫的數據模型。分布透明性包括:分片透明性、位置透明性和局部數據模型透明性。
十、數據倉庫與數據挖掘
數據倉庫(Data Warehouse)是一個面向主題的、集成的、相對穩定的、且隨時間變化的數據集合,用于支持管理決策。
1. 數據挖掘的方法
2. 數據挖掘方法分類
十一、擴展
1. 數據庫完整性約束
為了提高可靠性,需要對表數據進行約束,包括:
2. 分布式事物兩階段提交協議指:表決階段、收縮階段。
總結
以上是生活随笔為你收集整理的系统架构设计-数据库系统知识点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学生信息的那些操作:按姓名,查个人
- 下一篇: java信息管理系统总结_java实现科