『数据库』朴实无华的数据库绪论
『數(shù)據庫』 樸實無華且枯燥的數(shù)據庫教程–入門必看!(不收藏,真的吃虧了)
文章目錄
- 數(shù)據庫系統(tǒng)概述
- 數(shù)據模型
- 概念模型
- 數(shù)據庫系統(tǒng)結構
- 數(shù)據庫系統(tǒng)的組成
數(shù)據庫系統(tǒng)概述
一、四個基本概念
1.數(shù)據(Data):數(shù)據是數(shù)據庫中存儲的基本對象
1)定義:描述事物的符號記錄
2)種類:文本、圖形、圖像、音頻、視頻、學生的檔案記錄、貨物的運輸情況等
3)特點:數(shù)據與其語義是不可分的
2.數(shù)據庫(Database):
1)定義:數(shù)據庫是長期儲存在計算機內、有組織的、可共享的大量數(shù)據的集合。
2)基本特征:
- 數(shù)據按一定的數(shù)據模型組織、描述和儲存
- 可為各種用戶共享
- 冗余度較小
- 數(shù)據獨立性較高
- 易擴展
3.數(shù)據庫管理系統(tǒng)(DBMS)
1)定義:
位于用戶與操作系統(tǒng)之間的一層數(shù)據管理軟件。
是基礎軟件,是一個大型復雜的軟件系統(tǒng)
2)用途:
科學地組織和存儲數(shù)據、高效地獲取和維護數(shù)據
3)功能:
-
數(shù)據定義功能
提供數(shù)據定義語言(DDL)
定義數(shù)據庫中的數(shù)據對象 -
數(shù)據組織、存儲和管理
分類組織、存儲和管理各種數(shù)據
確定組織數(shù)據的文件結構和存取方式
實現(xiàn)數(shù)據之間的聯(lián)系
提供多種存取方法提高存取效率 -
數(shù)據操縱功能
提供數(shù)據操縱語言(DML)
實現(xiàn)對數(shù)據庫的基本操作 (查詢、插入、刪除和修改)
數(shù)據庫的事務管理和運行管理
數(shù)據庫在建立、運行和維護時由DBMS統(tǒng)一管理和控制
保證數(shù)據的安全性、完整性、多用戶對數(shù)據的并發(fā)使用
發(fā)生故障后的系統(tǒng)恢復 -
數(shù)據庫的建立和維護功能(實用程序)
數(shù)據庫初始數(shù)據裝載轉換
數(shù)據庫轉儲
介質故障恢復
數(shù)據庫的重組織
性能監(jiān)視分析等 -
其它功能
DBMS與網絡中其它軟件系統(tǒng)的通信
兩個DBMS系統(tǒng)的數(shù)據轉換
異構數(shù)據庫之間的互訪和互操作
4.數(shù)據庫系統(tǒng)(DBS)
1)定義:
在計算機系統(tǒng)中引入數(shù)據庫后的系統(tǒng)構成
2)構成:
- 數(shù)據庫
- 數(shù)據庫管理系統(tǒng)(及其開發(fā)工具)
- 應用系統(tǒng)
- 數(shù)據庫管理員
5.數(shù)據與信息
數(shù)據是信息的載體
信息是數(shù)據的內涵
6.i數(shù)據的分類
- 格式化數(shù)據:EXCEL表格,XML;THML;文件格式;特殊約定的格式
- 非格式化的數(shù)據:語言,音頻,視頻
二、數(shù)據管理技術的產生和發(fā)展
1.什么是數(shù)據管理
對數(shù)據進行分類、組織、編碼、存儲、檢索和維護
數(shù)據處理的中心問題
2.數(shù)據管理技術的發(fā)展過程
1)動力:應用需求的推動;計算機硬件的發(fā)展;計算機軟件的發(fā)展
2)人工管理階段(20世紀40年代中–50年代中):
A.背景:
應用需求——科學計算
硬件水平——無直接存取存儲設備
軟件水平——沒有操作系統(tǒng)
處理方式——批處理
B.特點:
數(shù)據的管理者:用戶(程序員),數(shù)據不保存
數(shù)據面向的對象:某一應用程序
數(shù)據的共享程度:無共享、冗余度極大
數(shù)據的獨立性:不獨立,完全依賴于程序
數(shù)據的結構化:無結構
數(shù)據控制能力:應用程序自己控制
3)文件系統(tǒng)階段(20世紀50年代末–60年代中)
A.背景:
應用需求——科學計算、管理
硬件水平——磁盤、磁鼓
軟件水平——有文件系統(tǒng)
處理方式——聯(lián)機實時處理、批處理
B.特點:
數(shù)據的管理者:文件系統(tǒng),數(shù)據可長期保存
數(shù)據面向的對象:某一應用程序
數(shù)據的共享程度:共享性差、冗余度大
數(shù)據的結構化:記錄內有結構,整體無結構
數(shù)據的獨立性:獨立性差,數(shù)據的邏輯結構改變必須
修改應用程序
數(shù)據控制能力:應用程序自己控制
C.文件系統(tǒng)中數(shù)據的結構:
記錄內有結構
數(shù)據的結構是靠程序定義和解釋的
文件間是獨立的,因此數(shù)據整體無結構
可以間接實現(xiàn)數(shù)據整體的有結構,但必須在應用程序中描述數(shù)據間的聯(lián)系
數(shù)據的最小存取單位是記錄
4)數(shù)據庫系統(tǒng)階段(20世紀60年代末–現(xiàn)在)
A.背景:
應用背景——大規(guī)模管理
硬件背景——大容量磁盤、磁盤陣列
軟件背景——有數(shù)據庫管理系統(tǒng)
處理方式——聯(lián)機實時處理,分布處理,批處理
3.數(shù)據庫系統(tǒng)的特點
1)數(shù)據結構化
2)數(shù)據的共享性高,冗余度低,易擴充
3)數(shù)據獨立性高
4)數(shù)據由DBMS統(tǒng)一管理和控制
數(shù)據模型
在數(shù)據庫中用數(shù)據模型這個工具來抽象、表示和處理現(xiàn)實世界中的數(shù)據和信息。
通俗地講數(shù)據模型就是現(xiàn)實世界的模擬。
數(shù)據模型應滿足三方面要求:能比較真實地模擬現(xiàn)實世界;容易為人所理解;便于在計算機上實現(xiàn)
一、.兩類數(shù)據模型
1. 概念模型:也稱信息模型,它是按用戶的觀點來對數(shù)據和信息建模,用于數(shù)據庫設計。
2.邏輯模型和物理模型
1)邏輯模型:主要包括網狀模型、層次模型、關系模型、面向對象模型等,按計算機系統(tǒng)的觀點對數(shù)據建模,用于DBMS實現(xiàn)。
2)物理模型:是對數(shù)據最底層的抽象,描述數(shù)據在系統(tǒng)內部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。
客觀對象的抽象過程—兩步抽象
現(xiàn)實世界中的客觀對象抽象為概念模型;
把概念模型轉換為某一DBMS支持的數(shù)據模型。
二、數(shù)據模型的組成要素
1.數(shù)據結構:
1)定義:描述數(shù)據庫的組成對象,以及對象之間的聯(lián)系
2)內容:
與數(shù)據類型、內容、性質有關的對象
與數(shù)據之間聯(lián)系有關的對象
3)數(shù)據結構是對系統(tǒng)靜態(tài)特性的描述
2.數(shù)據操作
1)定義:對數(shù)據庫中各種對象(型)的實例(值)允許執(zhí)行的操作及有關的操作規(guī)則
2)類型:
查詢
更新(包括插入、刪除、修改)
3)數(shù)據模型對操作的定義
操作的確切含義
操作符號
操作規(guī)則(如優(yōu)先級)
實現(xiàn)操作的語言
4)數(shù)據操作是對系統(tǒng)動態(tài)特性的描述
3.數(shù)據的完整性約束條件
1)數(shù)據的完整性約束條件
一組完整性規(guī)則的集合。
完整性規(guī)則:給定的數(shù)據模型中數(shù)據及其聯(lián)系所具有的制約和儲存規(guī)則
用以限定符合數(shù)據模型的數(shù)據庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據的正確、有效、相容。
2)數(shù)據模型對完整性約束條件的定義
反映和規(guī)定本數(shù)據模型必須遵守的基本的通用的完整性約束條件。例如在關系模型中,任何關系必須滿足實體完整性和參照完整性兩個條件。
提供定義完整性約束條件的機制,以反映具體應用所涉及的數(shù)據必須遵守的特定的語義約束條件。
概念模型
一、信息世界中的基本概念
1. 實體(Entity)
客觀存在并可相互區(qū)別的事物稱為實體。
可以是具體的人、事、物或抽象的概念。
2.屬性(Attribute)
實體所具有的某一特性稱為屬性。
一個實體可以由若干個屬性來刻畫。
3.碼(Key)
唯一標識實體的屬性集稱為碼。
4. 域(Domain)
屬性的取值范圍稱為該屬性的域。
5.實體型(Entity Type)
用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型
6.實體集(Entity Set)
同一類型實體的集合稱為實體集
7.聯(lián)系(Relationship)
現(xiàn)實世界中事物內部以及事物之間的聯(lián)系在信息世界中反映為實體內部的聯(lián)系和實體之間的聯(lián)系。
實體內部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系
實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系
二、兩個實體型之間的聯(lián)系
1.一對一聯(lián)系(1:1)
如果對于實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系,記為1:1 。
2.一對多聯(lián)系(1:n)
如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系,記為1:n。
3.多對多聯(lián)系(m:n)
如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯(lián)系,則稱實體集A與實體B具有多對多聯(lián)系,記為m:n
三、兩個以上實體型之間的聯(lián)系
1.兩個以上實體型之間一對多聯(lián)系
若實體集E1,E2,…,En存在聯(lián)系,對于實體集Ej(j=1,2,…,i-1,i+1,…,n)中的給定實體,最多只和Ei中的一個實體相聯(lián)系,則我們說Ei與E1,E2,…,Ei-1,Ei+1,…,En之間的聯(lián)系是一對多的
2.兩個以上實體型間的多對多聯(lián)系
四、單個實體型內的聯(lián)系
1.一對多聯(lián)系
2.一對一聯(lián)系
3.多對多聯(lián)系
五、 概念模型的一種表示方法
1.實體-聯(lián)系方法(E-R方法)
用E-R圖來描述現(xiàn)實世界的概念模型
E-R方法也稱為E-R模型
1)實體型
用矩形表示,矩形框內寫明實體名。
2)屬性
用橢圓形表示,并用無向邊將其與相應的實體連接起來
3)聯(lián)系
用菱形表示,菱形框內寫明聯(lián)系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯(lián)系的類型(1:1、1:n或m:n)
聯(lián)系的屬性:
聯(lián)系本身也是一種實體型,也可以有屬性。如果一個聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來
四、最常用的數(shù)據模型
1.非關系模型
1)層次模型(Hierarchical Model)
層次模型是數(shù)據庫系統(tǒng)中最早出現(xiàn)的數(shù)據模型
層次模型用樹形結構來表示各類實體以及實體間的聯(lián)系
條件:
- 有且只有一個結點沒有雙親結點,這個結點稱為根結點
- 根以外的其它結點有且只有一個雙親結點
特點:
- 結點的雙親是唯一的
- 只能直接處理一對多的實體聯(lián)系
- 每個記錄類型可以定義一個排序字段,也稱為碼字段
- 任何記錄值只有按其路徑查看時,才能顯出它的全部意義
- 沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在
層次模型的完整性約束條件:
- 無相應的雙親結點值就不能插入子女結點值
- 如果刪除雙親結點值,則相應的子女結點值也被同時刪除
- 更新操作時,應更新所有相應記錄,以保證數(shù)據的一致性
層次數(shù)據模型的存儲結構
- 鄰接法
- 鏈接法:子女-兄弟鏈接法;層次序列鏈接法
優(yōu)點
- 層次模型的數(shù)據結構比較簡單清晰
- 查詢效率高,性能優(yōu)于關系模型,不低于網狀模型
- 層次數(shù)據模型提供了良好的完整性支持
缺點
- 多對多聯(lián)系表示不自然
- 對插入和刪除操作的限制多,應用程序的編寫比較復雜
- 查詢子女結點必須通過雙親結點
- 由于結構嚴密,層次命令趨于程序化
2)網狀模型(Network Model)
網狀數(shù)據庫系統(tǒng)采用網狀模型作為數(shù)據的組織方式
條件:
- 允許一個以上的結點無雙親
- 一個結點可以有多于一個的雙親
表示方法
實體型:用記錄類型描述每個結點表示一個記錄類型(實體)
屬性:用字段描述每個記錄類型可包含若干個字段
聯(lián)系:用結點之間的連線表示記錄類型(實體)之間的一對多的父子聯(lián)系
網狀模型與層次模型的區(qū)別
- 網狀模型允許多個結點沒有雙親結點
- 網狀模型允許結點有多個雙親結點
- 網狀模型允許兩個結點之間有多種聯(lián)系(復合聯(lián)系)
- 網狀模型可以更直接地去描述現(xiàn)實世界
- 層次模型實際上是網狀模型的一個特例
多對多聯(lián)系在網狀模型中的表示:將多對多聯(lián)系直接分解成一對多聯(lián)系
網狀模型完整性約束
碼:唯一標識記錄的數(shù)據項的集合
一個聯(lián)系中雙親記錄與子女記錄之間是一對多聯(lián)系
支持雙親記錄和子女記錄之間某些約束條件
網狀模型存儲常用方法
- 單向鏈接
- 雙向鏈接
- 環(huán)狀鏈接
- 向首鏈接
優(yōu)點
- 能夠更為直接地描述現(xiàn)實世界,如一個結點可以有多個雙親
- 具有良好的性能,存取效率較高
缺點
- 結構比較復雜,而且隨著應用環(huán)境的擴大,數(shù)據庫的結構就變
- 得越來越復雜,不利于最終用戶掌握
- DDL、DML語言復雜,用戶不容易使用
2.關系模型(Relational Model)
關系數(shù)據庫系統(tǒng)采用關系模型作為數(shù)據的組織方式
關系數(shù)據模型的數(shù)據結構
1)關系(Relation)
一個關系對應通常說的一張表
2)元組(Tuple)
表中的一行即為一個元組
3)屬性(Attribute)
表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名
4)主碼(Key)
表中的某個屬性組,它可以唯一確定一個元組。
5)域(Domain)
屬性的取值范圍。
6)分量
元組中的一個屬性值。
7)關系模式
對關系的描述
8)關系名(屬性1,屬性2,…,屬性n)
學生(學號,姓名,年齡,性別,系,年級)
關系模式最基本的規(guī)范條件:關系的每一個分量必須是一個不可分的數(shù)據項, 不允許表中還有表
關系的完整性約束條件
- 實體完整性
- 參照完整性
- 用戶定義的完整性
優(yōu)點
- 建立在嚴格的數(shù)學概念的基礎上
- 概念單一
實體和各類聯(lián)系都用關系來表示
對數(shù)據的檢索結果也是關系 - 關系模型的存取路徑對用戶透明
具有更高的數(shù)據獨立性,更好的安全保密性
簡化了程序員的工作和數(shù)據庫開發(fā)建立的工作
缺點
- 存取路徑對用戶透明導致查詢效率往往不如非關系數(shù)據模型
- 為提高性能,必須對用戶的查詢請求進行優(yōu)化增加了開發(fā)DBMS的難度
3.面向對象模型(Object Oriented Model)
4.對象關系模型(Object Relational Model)
數(shù)據庫系統(tǒng)結構
1.從數(shù)據庫管理系統(tǒng)角度看,數(shù)據庫系統(tǒng)通常采用三級模式結構,是數(shù)據庫系統(tǒng)內部的系統(tǒng)結構
2.從數(shù)據庫最終用戶角度看(數(shù)據庫系統(tǒng)外部的體系結構) ,數(shù)據庫系統(tǒng)的結構分為:
- 單用戶結構
- 主從式結構
- 分布式結構
- 客戶/服務器
- 瀏覽器/應用服務器/數(shù)據庫服務器多層結構等
一、數(shù)據庫系統(tǒng)模式的概念
1.“型” 和“值” 的概念
型(Type)
對某一類數(shù)據的結構和屬性的說明
值(Value)
是型的一個具體賦值
模式(Schema)
數(shù)據庫邏輯結構和特征的描述
是型的描述
反映的是數(shù)據的結構及其聯(lián)系
模式是相對穩(wěn)定的
實例(Instance)
模式的一個具體值
反映數(shù)據庫某一時刻的狀態(tài)
同一個模式可以有很多實例
實例隨數(shù)據庫中的數(shù)據的更新而變動
二、數(shù)據庫系統(tǒng)的三級模式結構
1.模式(Schema)
- 模式(也稱邏輯模式)
數(shù)據庫中全體數(shù)據的邏輯結構和特征的描述
所有用戶的公共數(shù)據視圖,綜合了所有用戶的需求 - 一個數(shù)據庫只有一個模式
- 模式的地位:是數(shù)據庫系統(tǒng)模式結構的中間層
與數(shù)據的物理存儲細節(jié)和硬件環(huán)境無關
與具體的應用程序、開發(fā)工具及高級程序設計語言無關
定義
- 數(shù)據的邏輯結構(數(shù)據項的名字、類型、取值范圍等)
- 數(shù)據之間的聯(lián)系
- 數(shù)據有關的安全性、完整性要求
2.外模式(External Schema)
-
數(shù)據庫用戶(包括應用程序員和最終用戶)使用的局部數(shù)據的邏輯結構和特征的描述
-
數(shù)據庫用戶的數(shù)據視圖,是與某一應用有關的數(shù)據的邏輯表示
用途 -
保證數(shù)據庫安全性的一個有力措施
-
每個用戶只能看見和訪問所對應的外模式中的數(shù)據
3.內模式(Internal Schema)
- 是數(shù)據物理結構和存儲方式的描述
- 是數(shù)據在數(shù)據庫內部的表示方式
- 一個數(shù)據庫只有一個內模式
三、數(shù)據庫的二級映像功能與數(shù)據獨立性
- 三級模式是對數(shù)據的三個抽象級別
- 二級映象在DBMS內部實現(xiàn)這三個抽象層次的聯(lián)系和轉換
外模式/模式映像
模式/內模式映像
1.外模式/模式映象
- 模式:描述的是數(shù)據的全局邏輯結構
- 外模式:描述的是數(shù)據的局部邏輯結構
- 同一個模式可以有任意多個外模式
- 每一個外模式,數(shù)據庫系統(tǒng)都有一個外模式/模式映象,定義外模式與模式之間的對應關系
- 映象定義通常包含在各自外模式的描述中
2.模式/內模式映象
- 模式/內模式映象定義了數(shù)據全局邏輯結構與存儲結構之間的對應關系。
- 數(shù)據庫中模式/內模式映象是唯一的
- 該映象定義通常包含在模式描述中
數(shù)據庫系統(tǒng)的組成
一、數(shù)據庫
1.硬件平臺及數(shù)據庫
(1) 足夠大的內存
操作系統(tǒng)
DBMS的核心模塊
數(shù)據緩沖區(qū)
應用程序
(2) 足夠大的外存
磁盤或磁盤陣列
數(shù)據庫
光盤、磁帶
數(shù)據備份
(3) 較高的通道能力,提高數(shù)據傳送率
2.軟件
DBMS
支持DBMS運行的操作系統(tǒng)
與數(shù)據庫接口的高級語言及其編譯系統(tǒng)
以DBMS為核心的應用開發(fā)工具
為特定應用環(huán)境開發(fā)的數(shù)據庫應用系統(tǒng)
3.人員
數(shù)據庫管理員
系統(tǒng)分析員和數(shù)據庫設計人員
應用程序員
用戶
二、數(shù)據庫管理系統(tǒng)(及其開發(fā)工具)
三、應用系統(tǒng)
四、數(shù)據庫管理員
- 監(jiān)控數(shù)據庫的使用和運行
周期性轉儲數(shù)據庫:數(shù)據文件;日志文件
系統(tǒng)故障恢復
介質故障恢復
監(jiān)視審計文件 - 數(shù)據庫的改進和重組
性能監(jiān)控和調優(yōu)
定期對數(shù)據庫進行重組織,以提高系統(tǒng)的性能
需求增加和改變時,數(shù)據庫需要重構造
寫在最后:
本數(shù)據庫專欄是由愛吃老談酸菜的DV一同完成的,博客鏈接在主頁友鏈,是我的好哥們?
Name:風骨散人,目前是一名雙非在校大學生,預計考研,熱愛編程,熱愛技術,喜歡分享,知識無界,希望我的分享可以幫到你!名字的含義:我想有一天我能有能力隨心所欲不逾矩,不總是向生活低頭,有能力讓家人擁有富足的生活而不是為了生計而到處奔波。“世人慌慌張張,不過是圖碎銀幾兩。偏偏這碎銀幾兩,能解世間惆悵,可讓父母安康,可護幼子成長 …”
文章主要內容:
Python,C++,C語言,JAVA,C#等語言的教程
ACM題解、模板、算法等,主要是數(shù)據結構,數(shù)學和圖論
設計模式,數(shù)據庫,計算機網絡,操作系統(tǒng),計算機組成原理
Python爬蟲、深度學習、機器學習
計算機系408考研的所有專業(yè)課內容
目前還在更新中,先關注不迷路。微信公眾號,cnblogs(博客園),CSDN同名“風骨散人”
如果有什么想看的,可以私信我,如果在能力范圍內,我會發(fā)布相應的博文!
感謝大家的閱讀!😘你的點贊、收藏、關注是對我最大的鼓勵!
總結
以上是生活随笔為你收集整理的『数据库』朴实无华的数据库绪论的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3万买“埃尔法”不是梦!国产新能源未奥B
- 下一篇: linux cmake编译源码,linu