【数据库复习】第一章绪论
目錄
- 一、數據庫系統概述
- 1.1四個基本概念
- 1.2數據庫管理技術的產生和發展
- 1.3數據庫系統的特點
- 二、數據模型
- 2.1兩類數據模型
- 2.2概念模型
- 2.3 數據模型的組成要素
- 2.4常用的數據模型
- 2.5層次模型
- 2.6網狀模型
- 2.7關系模型
- 三、數據庫系統的結構
- 3.1 數據庫系統模式的概念
- 3.2 數據庫系統的三級模式結構
- 3.3 數據庫的二級映像功能與數據獨立性
- 四、數據庫系統的組成
一、數據庫系統概述
1.1四個基本概念
數據:數據庫中存儲的基本對象
數據的定義:描述事物的符號記錄
數據的種類:數字、文字、圖形、圖像、音頻、視頻、學生的檔案記錄等
數據舉例:學生檔案中的學生記錄(李明,男,199505,江蘇南京市,計算機系,2013)語義:學生姓名、性別、出生年月、出生地、所在院系、入學時間解釋:李明是個大學生,1995年5月出生,江蘇南京市人, 2013年考入計算機系
數據庫
定義:長期存儲在計算機內、有組織、可共享的大量數據的集合
基本特征:
- 數據按一定的數據模型組織、描述和儲存
- 可為各種用戶共享
- 冗余度較小
- 數據獨立性較高
- 易擴展
數據庫管理系統
描述:
- 位于用戶與操作系統之間的一層數據管理軟件;是基礎軟件,是一個大型復雜的軟件系統
用途:
- 科學地組織和存儲數據、高效地獲取和維護數據
功能:
- 數據定義功能:提供數據定義語言(DDL)定義數據庫中的數據對象
- 數據組織、存儲和管理:分類組織、存儲和管理各種數據;確定組織數據的文件結構和存取方式;實現數據之間的聯系;提供多種存取方法提高存取效率
- 數據操縱功能:提供數據操縱語言(DML);實現對數據庫的基本操作 (查詢、插入、刪除和修改)
- 數據庫的事務管理和運行控制:數據庫在建立、運行和維護時由數據庫管理系統統一管理和控制;保證數據的安全性、完整性、多用戶對數據的并發使用;發生故障后的系統恢復
- 數據庫的建立和維護功能:數據庫初始數據的裝載和轉換;數據庫轉儲、恢復功能;數據庫的重組織;性能監視、分析等
- 其他功能:數據庫管理系統與網絡中其它軟件系統的通信;數據庫管理系統系統之間的數據轉換;異構數據庫之間的互訪和互操作
數據庫系統
構成:
1.2數據庫管理技術的產生和發展
數據管理:
- 對數據進行分類、組織、編碼、存儲、檢索和維護
- 數據處理的中心問題
發展過程:
- 人工管理階段(20世紀50年代中之前)
- 文件系統階段(20世紀50年代末–60年代中)
- 數據庫系統階段(20世紀60年代末–現在)
發展動力:
- 應用需求的推動
- 計算機硬件的發展
- 計算機軟件的發展
1.3數據庫系統的特點
數據結構化
數據的整體結構化是數據庫的主要特征之一
整體結構化:不再僅僅針對某一個應用,而是面向全組織;不僅數據內部結構化,整體是結構化的,數據之間具有聯系;數據記錄可以變長;數據的最小存取單位是數據項
數據的用數據模型加粗樣式描述,無需應用程序定義
數據的共享性高,冗余度低且易擴充
數據面向整個系統,可以被多個用戶、多個應用共享使用。
數據共享的好處:減少數據冗余,節約存儲空間;避免數據之間的不相容性與不一致性 ‘使系統易于擴充
數據獨立性高
物理獨立性:指用戶的應用程序與數據庫中數據的物理存儲是相互獨立的。當數據的物理存儲改變了,應用程序不用改變。
邏輯獨立性:指用戶的應用程序與數據庫的邏輯結構是相互獨立的。數據的邏輯結構改變了,應用程序不用改變。
數據獨立性由數據庫管理系統的二級映像功能來保證/
數據由數據庫管理系統統一管理和控制
數據庫管理系統提供的數據控制功能
(1)數據的安全性(Security)保護
保護數據以防止不合法的使用造成的數據的泄密和破壞。
(2)數據的完整性(Integrity)檢查
保證數據的正確性、有效性和相容性。
(3)并發(Concurrency)控制
對多用戶的并發操作加以控制和協調,防止相互干擾而得到錯誤的結果。
(4)數據庫恢復(Recovery)
將數據庫從錯誤狀態恢復到某一已知的正確狀態。
二、數據模型
2.1兩類數據模型
**概念模型:**也稱信息模型,它是按用戶的觀點來對數據和信息建模,用于數據庫設計。
邏輯模型和物理模型:
- 邏輯模型主要包括網狀模型、層次模型、關系模型、面向對象數據模型、對象關系數據模型、半結構化數據模型等。按計算機系統的觀點對數據建模,用于DBMS實現。
- 物理模型是對數據最底層的抽象,描述數據在系統內部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。
客觀對象的抽象過程—兩步抽象
- 現實世界中的客觀對象抽象為概念模型; 將現實世界抽象為信息世界
- 把概念模型轉換為某一數據庫管理系統支持的數據模型;將信息世界轉換為機器世界
2.2概念模型
用途:
- 概念模型用于信息世界的建模
- 是現實世界到機器世界的一個中間層次
- 是數據庫設計的有力工具
- 數據庫設計人員和用戶之間進行交流的語言
對概念模型的基本要求:
- 較強的語義表達能力
- 簡單、清晰、易于用戶理解
信息世界中的基本概念:
- 實體(Entity) :客觀存在并可相互區別的事物稱為實體。可以是具體的人、事、物或抽象的概念。
- 屬性(Attribute) :實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。
- 碼(Key): 唯一標識實體的屬性集稱為碼。
- 實體型(Entity Type):用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型
- 實體集(Entity Set) :同一類型實體的集合稱為實體集
- 聯系(Relationship): 現實世界中事物內部以及事物之間的聯系在信息世界中反映為實體(型)內部的聯系和實體(型)之間的聯系。實體內部的聯系通常是指組成實體的各屬性之間的聯系。實體之間的聯系通常是指不同實體集之間的聯系。實體之間的聯系有一對一、一對多和多對多等多種類型
實體-聯系方法(Entity-Relationship Approach):
- 用E-R圖來描述現實世界的概念模型
- E-R方法也稱為E-R模型
2.3 數據模型的組成要素
數據結構:
數據模型的數據結構:描述數據庫的組成對象,以及對象之間的聯系
描述的內容
數據結構是對系統靜態特性的描述。
數據操作:
對數據庫中各種對象(型)的實例(值)允許執行的操作的集合,包括操作及有關的操作規則
數據操作的類型:查詢、更新(包括插入、刪除、修改)
數據模型對操作的定義:操作的確切含義、操作符號、操作規則(如優先級)、實現操作的語言
數據操作是對系統動態特性的描述。
數據的完整性約束條件:
- 一組完整性規則的集合
- 完整性規則:給定的數據模型中數據及其聯系所具有的制約和依存規則
- 用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效和相容
數據模型對完整性約束條件的定義:
- 反映和規定必須遵守的基本的通用的完整性約束條件。
- 提供定義完整性約束條件的機制,以反映具體應用所涉及的數據必須遵守的特定的語義約束條件。
2.4常用的數據模型
- 層次模型(Hierarchical Model)
- 網狀模型(Network Model)
- 關系模型(Relational Model))
- 面向對象數據模型(Object Oriented Data Model)
- 對象關系數據模型(Object Relational Data Model)
- 半結構化數據模型(Semistruture Data Model)
2.5層次模型
數據庫系統中最早出現的數據模型
層次數據庫系統的典型代表是IBM公司的IMS(Information Management System)數據庫管理系統
層次模型用樹形結構來表示各類實體以及實體間的聯系
滿足下面兩個條件的基本層次聯系的集合為層次模型:
特點:
- 結點的雙親是唯一的
- 只能直接處理一對多的實體聯系
- 每個記錄類型可以定義一個排序字段,也稱為碼字段
- 任何記錄值只有按其路徑查看時,才能顯出它的全部意義
- 沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在
完整性約束條件 :
- 無相應的雙親結點值就不能插入子女結點值
- 如果刪除雙親結點值,則相應的子女結點值也被同時刪除
- 更新操作時,應更新所有相應記錄,以保證數據的一致性
優點:
層次模型的數據結構比較簡單清晰 ;查詢效率高,性能優于關系模型,不低于網狀模型;層次數據模型提供了良好的完整性支持
缺點:
結點之間的多對多聯系表示不自然;對插入和刪除操作的限制多,應用程序的編寫比較復雜;查詢子女結點必須通過雙親結點;層次命令趨于程序化
2.6網狀模型
滿足下面兩個條件的基本層次聯系的集合:
網狀數據庫系統(如DBTG)對數據操縱加了一些限制,提供了一定的完整性約束
- 碼:唯一標識記錄的數據項的集合
- 一個聯系中雙親記錄與子女記錄之間是一對多聯系
- 支持雙親記錄和子女記錄之間某些約束條件
優點:
- 能夠更為直接地描述現實世界,如一個結點可以有多個雙親
- 具有良好的性能,存取效率較高
缺點:
- 結構比較復雜,而且隨著應用環境的擴大,數據庫的結構就變得越來越復雜,不利于最終用戶掌握
- DDL、DML語言復雜,用戶不容易使用
- 記錄之間聯系是通過存取路徑實現的,用戶必須了解系統結構的細節
2.7關系模型
關系數據庫系統采用關系模型作為數據的組織方式.
在用戶觀點下,關系模型中數據的邏輯結構是一張二維表,它由行和列組成。
- 關系(Relation):一個關系對應通常說的一張表
- 元組(Tuple):表中的一行即為一個元組
- 屬性(Attribute):表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名
- 主碼(Key): 也稱碼鍵。表中的某個屬性組,它可以唯一確定一個元組
- 域(Domain): 是一組具有相同數據類型的值的集合。屬性的取值范圍來自某個域。
- 分量:元組中的一個屬性值。
- 關系模式:對關系的描述。關系名(屬性1,屬性2,…,屬性n)學生(學號,姓名,年齡,性別,系名,年級)
關系必須是規范化的,滿足一定的規范條件。
**最基本的規范條件:**關系的每一個分量必須是一個不可分的數據項,不允許表中還有表
關系的完整性約束條件:
- 實體完整性
- 參照完整性
- 用戶定義的完整性
優點:
- 建立在嚴格的數學概念的基礎上
- 概念單一:實體和各類聯系都用關系來表示;對數據的檢索結果也是關系
- 關系模型的存取路徑對用戶透明:具有更高的數據獨立性,更好的安全保密性;簡化了程序員的工作和數據庫開發建立的工作
缺點:
- 存取路徑對用戶透明,查詢效率往往不如格式化數據模型
- 為提高性能,必須對用戶的查詢請求進行優化,增加了開發數據庫管理系統的難度
三、數據庫系統的結構
從數據庫應用開發人員角度看,數據庫系統通常采用三級模式結構,是數據庫系統內部的系統結構 。
從數據庫最終用戶角度看,數據庫系統的結構分為:單用戶結構、主從式結構、分布式結構、客戶-服務器、瀏覽器-應用服務器/數據庫服務器多層結構等
3.1 數據庫系統模式的概念
- 型(Type): 對某一類數據的結構和屬性的說明 。學生記錄: (學號,姓名,性別,系別,年齡,籍貫)
- 值(Value): 是型的一個具體賦值。一個記錄值: (201315130,李明,男,計算機系,19,江蘇南京市)
- 模式(Schema):數據庫邏輯結構和特征的描述。是型的描述,不涉及具體值;反映的是數據的結構及其聯系;模式是相對穩定的
- 實例(Instance): 模式的一個具體值。反映數據庫某一時刻的狀態;同一個模式可以有很多實例;實例隨數據庫中的數據的更新而變動
3.2 數據庫系統的三級模式結構
模式(也稱邏輯模式):數據庫中全體數據的邏輯結構和特征的描述;所有用戶的公共數據視圖
一個數據庫只有一個模式。
模式的地位:是數據庫系統模式結構的中間層。與數據的物理存儲細節和硬件環境無關;與具體的應用程序、開發工具及高級程序設計語言無關。
模式的定義:
- 數據的邏輯結構(數據項的名字、類型、取值范圍等)
- 數據之間的聯系
- 數據有關的安全性、完整性要求
外模式(也稱子模式或用戶模式):
數據庫用戶(包括應用程序員和最終用戶)使用的局部數據的邏輯結構和特征的描述;數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。
外模式的地位:介于模式與應用之間
模式與外模式的關系:一對多
外模式與應用的關系:一對多
外模式的用途:保證數據庫安全性的一個有力措施;每個用戶只能看見和訪問所對應的外模式中的數據
內模式(也稱存儲模式):
是數據物理結構和存儲方式的描述
是數據在數據庫內部的表示方式:記錄的存儲方式(例如,順序存儲,按照B樹結構存儲,按hash方法存儲等);索引的組織方式;數據是否壓縮存儲;數據是否加密;數據存儲記錄結構的規定
一個數據庫只有一個內模式。
3.3 數據庫的二級映像功能與數據獨立性
外模式/模式映像:
- 模式:描述的是數據的全局邏輯結構
- 外模式:描述的是數據的局部邏輯結構
- 同一個模式可以有任意多個外模式
- 每一個外模式,數據庫系統都有一個外模式/模式映象,定義外模式與模式之間的對應關系
- 映象定義通常包含在各自外模式的描述中
保證數據的邏輯獨立性:當模式改變時,數據庫管理員對外模式/模式映象作相應改變,使外模式保持不變;應用程序是依據數據的外模式編寫的,應用程序不必修改,保證了數據與程序的邏輯獨立性,簡稱數據的邏輯獨立性
模式/內模式映像:
- 模式/內模式映象定義了數據全局邏輯結構與存儲結構之間的對應關系。例如,說明邏輯記錄和字段在內部是如何表示的
- 數據庫中模式/內模式映象是唯一的
- 該映象定義通常包含在模式描述中
保證數據的物理獨立性:當數據庫的存儲結構改變了(例如選用了另一種存儲結構),數據庫管理員修改模式/內模式映象,使模式保持不變。應用程序不受影響。保證了數據與程序的物理獨立性,簡稱數據的物理獨立性。
數據庫模式:即全局邏輯結構是數據庫的中心與關鍵 ;獨立于數據庫的其他層次 ;設計數據庫模式結構時應首先確定數據庫的邏輯模式
數據與程序之間的獨立性,使得數據的定義和描述可以從應用程序中分離出去 。
數據的存取由數據庫管理系統管理:簡化了應用程序的編制;大大減少了應用程序的維護和修改
四、數據庫系統的組成
數據庫
數據庫管理系統(及其開發工具)
應用程序
數據庫管理員(DBA)
硬件平臺及數據庫
軟件
人員
總結
以上是生活随笔為你收集整理的【数据库复习】第一章绪论的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【笔记】公钥密码学之RSA
- 下一篇: 【数据库复习】第二章关系数据库