【数据库】数据库系统
目錄
一、數(shù)據(jù)庫系統(tǒng)四個概念
1、數(shù)據(jù)(Data)
2、數(shù)據(jù)庫(Database)
3、數(shù)據(jù)庫管理系統(tǒng)(Database Management System )?
4、數(shù)據(jù)庫系統(tǒng)(Database System)?
二、數(shù)據(jù)模型
1、數(shù)據(jù)模型的組成
2、常見的數(shù)據(jù)模型
3、概念模型
4、層次模型
5、網(wǎng)狀模型
6、關(guān)系模型?
三、數(shù)據(jù)庫系統(tǒng)的三級模式
模式(Schema)
外模式(External Schema)
內(nèi)模式(Internal Schema)
三級模式結(jié)構(gòu)圖
數(shù)據(jù)庫系統(tǒng)的二級映像功能
一、數(shù)據(jù)庫系統(tǒng)四個概念
1、數(shù)據(jù)(Data)
數(shù)據(jù)是數(shù)據(jù)庫中存儲的基本對象,它是描述事物的符號記錄。
數(shù)據(jù)的種類:文本、圖形、圖像、音頻、視頻、學生的檔案記錄、貨物的運輸情況等
數(shù)據(jù)的特點:數(shù)據(jù)與其語義是不可分的
2、數(shù)據(jù)庫(Database)
數(shù)據(jù)庫(Database,簡稱?DB?)是長期儲存在計算機內(nèi)、有組織、可共享的大量數(shù)據(jù)的集合。
數(shù)據(jù)庫的特點:
- 數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存
- 可為各種用戶共享
- 具有最小冗余度?
- 數(shù)據(jù)獨立性較高
- 易擴展
3、數(shù)據(jù)庫管理系統(tǒng)(Database Management System )?
數(shù)據(jù)庫管理系統(tǒng)(Database management system ,簡稱 DBMS),是位于用戶和操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,是一個大型復(fù)雜的軟件系統(tǒng),是計算機中的基礎(chǔ)軟件。它主要用于科學地組織和存儲數(shù)據(jù)、高效地獲取和維護數(shù)據(jù)。
數(shù)據(jù)庫管理系統(tǒng)的主要功能:
- 數(shù)據(jù)定義功能
提供數(shù)據(jù)定義語言(DDL)
定義數(shù)據(jù)庫中的數(shù)據(jù)對象
- 數(shù)據(jù)組織、存儲和管理
分類組織、存儲和管理各種數(shù)據(jù)
確定組織數(shù)據(jù)的文件結(jié)構(gòu)和存取方式
實現(xiàn)數(shù)據(jù)之間的聯(lián)系
提供多種存取方法提高存取效率
- 數(shù)據(jù)操縱功能
提供數(shù)據(jù)操縱語言(DML)
實現(xiàn)對數(shù)據(jù)庫的基本操作 (查詢、插入、刪除和修改)
- 數(shù)據(jù)庫的事務(wù)管理和運行管理
數(shù)據(jù)庫在建立、運行和維護時由DBMS統(tǒng)一管理和控制
保證數(shù)據(jù)的安全性、完整性、多用戶對數(shù)據(jù)的并發(fā)使用
發(fā)生故障后的系統(tǒng)恢復(fù)
- 數(shù)據(jù)庫的建立和維護功能(實用程序)
數(shù)據(jù)庫初始數(shù)據(jù)裝載轉(zhuǎn)換
數(shù)據(jù)庫轉(zhuǎn)儲
介質(zhì)故障恢復(fù)
數(shù)據(jù)庫的重組織
性能監(jiān)視分析等
- 其它功能
DBMS與網(wǎng)絡(luò)中其它軟件系統(tǒng)的通信
兩個DBMS系統(tǒng)的數(shù)據(jù)轉(zhuǎn)換
異構(gòu)數(shù)據(jù)庫之間的互訪和互操作
4、數(shù)據(jù)庫系統(tǒng)(Database System)?
數(shù)據(jù)庫系統(tǒng)(database system, 簡稱 DBS),主要是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、數(shù)據(jù)庫管理員以及應(yīng)用程序所構(gòu)成的一套人機系統(tǒng)。
數(shù)據(jù)庫系統(tǒng)的特點:
1) 數(shù)據(jù)結(jié)構(gòu)化(與文件系統(tǒng)的本質(zhì)區(qū)別)
2) 共享性高,冗余度低且易擴展
3) 數(shù)據(jù)獨立性高(獨立性指應(yīng)用程序與邏輯結(jié)構(gòu)、物理存儲相互獨立)
- ????物理獨立性
指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。當數(shù)據(jù)的物理存儲改變了,應(yīng)用程序不用改變。
- 邏輯獨立性
指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的。數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。
- 數(shù)據(jù)獨立性是由DBMS的二級映像功能來保證的
4)?數(shù)據(jù)統(tǒng)一管理和控制
- 數(shù)據(jù)的安全性(Security)保護·
保護數(shù)據(jù),以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞。
- 數(shù)據(jù)的完整性(Integrity)檢查
將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系。
- 并發(fā)(Concurrency)控制
對多用戶的并發(fā)操作加以控制和協(xié)調(diào),防止相互干擾而得到錯誤的結(jié)果。
- 數(shù)據(jù)庫恢復(fù)(Recovery)
將數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。
二、數(shù)據(jù)模型
在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息。
1)數(shù)據(jù)模型分類:
- 概念模型( 也稱? 信息模型)
它是按用戶的觀點來對數(shù)據(jù)和信息建模,用于數(shù)據(jù)庫設(shè)計。
- 邏輯模型和物理模型
邏輯模型主要包括網(wǎng)狀模型、層次模型、關(guān)系模型、面向?qū)ο竽P偷?#xff0c;按計算機系統(tǒng)的觀點對數(shù)據(jù)建模,用于DBMS實現(xiàn)。
物理模型是對數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。
?
2)數(shù)據(jù)模型建立過程
1、數(shù)據(jù)模型的組成
?1)數(shù)據(jù)結(jié)構(gòu)
描述數(shù)據(jù)庫的組成對象,以及對象之間的聯(lián)系,它是對系統(tǒng)靜態(tài)特性的描述。
包括兩個方面:
(1)數(shù)據(jù)本身:類型、內(nèi)容、性質(zhì)。例如關(guān)系模型中的域、屬性、關(guān)系等。
(2)數(shù)據(jù)之間的聯(lián)系:數(shù)據(jù)之間是如何相互關(guān)聯(lián)的,例如關(guān)系模型中的主碼、外碼聯(lián)系等。
?2)? 數(shù)據(jù)操作
對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則,它是對系統(tǒng)動態(tài)特性的描述。
數(shù)據(jù)操作的類型:
(1)查詢 (select)
(2)更新(包括插入 insert 、刪除、修改 alter)
?3)? 數(shù)據(jù)完整性約束條件
是一組完整性規(guī)則的集合,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容。
完整性規(guī)則:給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則。
2、常見的數(shù)據(jù)模型
- 層次模型(Hierarchical Model)
- 網(wǎng)狀模型(Network Model)
- 關(guān)系模型(Relational Model))
- 面向?qū)ο髷?shù)據(jù)模型(Object Oriented Data Model)
- 對象關(guān)系數(shù)據(jù)模型(Object Relational Data Model)
- 半結(jié)構(gòu)化數(shù)據(jù)模型(Semistruture Data Model)
3、概念模型
1)概念模型的表示
實體-聯(lián)系方法,用E-R圖來描述現(xiàn)實世界的概念模型,E-R方法也稱為E-R模型。
2)信息世界中的基本概念
- 實體(Entity)
客觀存在并可相互區(qū)別的事物稱為實體。
- 屬性(Attribute)
實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。例如學生實體可以由學號、姓名、性別、出生年份、系、入學時間等屬性組成。(94002268,張山,男,1976,計算機系,1994)這些屬性組合起來表征了一個學生。
- 碼(Key)
唯一標識實體的屬性集稱為碼。例如學號是學生實體的碼。
- 域(Domain)
屬性的取值范圍稱為該屬性的域。例如,學號的域為8位整數(shù),姓名的域為字符串集合,年齡的域為小于38的整數(shù),性別的域為(男,女)。
- 實體型(Entity Type)
具有相同屬性的實體必然具有共同的特征和性質(zhì)。用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。例如,學生(學號,姓名,性別,出生年份,系,入學時間)就是一個實體型。
- 實體集(Entity Set)
同型實體的集合稱為實體集。例如,全體學生就是一個實體集。
- 聯(lián)系(Relationship)
在現(xiàn)實世界中,事物內(nèi)部以及事物之間是有聯(lián)系的,這些聯(lián)系在信息世界中反映為實體(型)內(nèi)部的聯(lián)系和實體(型)之間的聯(lián)系。實體內(nèi)部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系。實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系。
3)兩個實體型之間的聯(lián)系
- 一對一聯(lián)系(1 : 1)
如果對于實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系,記為1 : 1。例如,學校里面,一個班級只有一個正班長,而一個班長只在一個班中任職,則班級與班長之間具有一對一聯(lián)系。
- 一對多聯(lián)系(1 : n)
如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系,記為1 : n。例如,一個班級中有若干名學生,而每個學生只在一個班級中學習,則班級與學生之間具有一對多聯(lián)系。
- 多對多聯(lián)系(m : n)
如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯(lián)系,則稱實體集A與實體集B具有多對多聯(lián)系,記為m : n。
4、層次模型
層次數(shù)據(jù)模型是用樹狀層次結(jié)構(gòu)來組織數(shù)據(jù)的數(shù)據(jù)模型。
層次模型滿足下面兩個條件:
- 有且只有一個結(jié)點沒有雙親結(jié)點,這個結(jié)點稱為根結(jié)點。
- 根以外的其它結(jié)點有且只有一個雙親結(jié)點。
特點:
- 結(jié)點的雙親是唯一的。
- 只能直接處理一對多的實體聯(lián)系。
- 每個記錄類型可以定義一個排序字段,也稱為碼字段。
- 任何記錄值只有按其路徑查看時,才能顯出它的全部意義。
- 沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在。
優(yōu)缺點:
優(yōu)點
- 層次模型的數(shù)據(jù)結(jié)構(gòu)比較簡單清晰。
- 查詢效率高,性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型。
- 層次數(shù)據(jù)模型提供了良好的完整性支持。
缺點
- 結(jié)點之間的多對多聯(lián)系表示不自然。
- 對插入和刪除操作的限制多,應(yīng)用程序的編寫比較復(fù)雜。
- 查詢子女結(jié)點必須通過雙親結(jié)點。
- 層次命令趨于程序化。
?
?5、網(wǎng)狀模型
用有向圖表示實體和實體之間的聯(lián)系的數(shù)據(jù)結(jié)構(gòu)模型稱為網(wǎng)狀數(shù)據(jù)模型。
網(wǎng)狀數(shù)據(jù)模型滿足下面兩個條件:
- 允許一個以上的結(jié)點無雙親。
- 一個結(jié)點可以有多于一個的雙親。
?優(yōu)缺點:
優(yōu)點
- 能夠更為直接地描述現(xiàn)實世界,如一個結(jié)點可以有多個雙親。
- 具有良好的性能,存取效率較高。
缺點
- 結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握。
- DDL、DML語言復(fù)雜,用戶不容易使用。
- 記錄之間聯(lián)系是通過存取路徑實現(xiàn)的,用戶必須了解系統(tǒng)結(jié)構(gòu)的細節(jié)。
?
6、關(guān)系模型?
使用表格表示實體和實體之間關(guān)系的數(shù)據(jù)模型稱之為關(guān)系數(shù)據(jù)模型。
關(guān)系型數(shù)據(jù)庫是目前最流行的數(shù)據(jù)庫,同時也是被普遍使用的數(shù)據(jù)庫,如MySQL就是一種流行的數(shù)據(jù)庫。
特點:
- 關(guān)系數(shù)據(jù)模型中,無論是是實體、還是實體之間的聯(lián)系都是被映射成統(tǒng)一的關(guān)系—一張二維表,在關(guān)系模型中,操作的對象和結(jié)果都是一張二維表,它由行和列組成。
- 關(guān)系型數(shù)據(jù)庫可用于表示實體之間的多對多的關(guān)系
- 關(guān)系必須是規(guī)范化的關(guān)系,即每個屬性是不可分割的實體,不允許表中表的存在。
?
優(yōu)缺點:
- 優(yōu)點
- 建立在嚴格的數(shù)學概念的基礎(chǔ)上。
- 概念單一。
- 關(guān)系模型的存取路徑對用戶透明。
- 缺點
- 存取路徑對用戶透明,查詢效率往往不如格式化數(shù)據(jù)模型。
- 為提高性能,必須對用戶的查詢請求進行優(yōu)化,增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度。
三、數(shù)據(jù)庫系統(tǒng)的三級模式
-
模式(Schema)
模式(也稱邏輯模式),數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。
所有用戶的公共數(shù)據(jù)視圖。
-
外模式(External Schema)
外模式(也稱子模式或用戶模式),數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。
數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。
-
內(nèi)模式(Internal Schema)
內(nèi)模式(也稱存儲模式),是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述。
- 數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。
- 記錄的存儲方式(例如,順序存儲,按照B樹結(jié)構(gòu)存儲,按hash方法存儲等)。
- 索引的組織方式。
- 數(shù)據(jù)是否壓縮存儲。
- 數(shù)據(jù)是否加密。
- 數(shù)據(jù)存儲記錄結(jié)構(gòu)的規(guī)定。
三級模式結(jié)構(gòu)圖
數(shù)據(jù)庫系統(tǒng)的二級映像功能
三級模式是對數(shù)據(jù)的三個抽象級別,二級映象在數(shù)據(jù)庫管理系統(tǒng)內(nèi)部實現(xiàn)這三個抽象層次的聯(lián)系和轉(zhuǎn)換:
- 外模式/模式映像(保證數(shù)據(jù)的邏輯獨立性。)
(1)當模式改變時,數(shù)據(jù)庫管理員對外模式/模式映象作相應(yīng)改變,使外模式保持不變。
(2)應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。
- 模式/內(nèi)模式映像(保證數(shù)據(jù)的物理獨立性)
(1)當數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了(例如選用了另一種存儲結(jié)構(gòu)),數(shù)據(jù)庫管理員修改模式/內(nèi)模式映象,使模式保持不變。
(2)應(yīng)用程序不受影響。保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。
數(shù)據(jù)庫的二級映像的主要功能:
保證了數(shù)據(jù)庫外模式的穩(wěn)定性。從底層保證了應(yīng)用程序的穩(wěn)定性,除非應(yīng)用需求本身發(fā)生變化,否則應(yīng)用程序一般不需要修改。
?
參考:https://blog.csdn.net/weixin_43914604/article/details/105071566
總結(jié)
以上是生活随笔為你收集整理的【数据库】数据库系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式数据库系统体系结构
- 下一篇: 一篇文章了解数据库系统