數據庫知識點整理,參照《數據庫系統概論》第五版 王珊 配套學習指導,期末考、考研必備。
第1章 緒論
了解
- 數據管理技術的產生和發展過程
- 數據庫系統優點
- 層次數據模型及網狀數據模型基本概念
- 數據庫系統的組成
- 數據庫管理員(DBA)的職責
掌握
- 概念模型的基本概念
- 關系數據模型的相關概念
- 數據庫系統三級模式和兩級映像的體系結構
- 數據庫系統的邏輯獨立性和物理獨立性
知識點
- 數據、數據庫、數據庫管理系統、數據庫系統
- 數據(Data):描述事物的符號記錄稱為數據。數據與其語義是不可分的
- 數據庫(Data Base):數據庫是長期儲存在計算機內的、有組織的、可共享的
- 數據集合。數據庫中的數據按一定的數據模型組織、描述和儲存,具有較小的冗余度、較高的數據獨立性和易擴展性,並可為各種用戶共享。
- 數據庫系統(Data Base System):在計算機系統中引入數據庫后的系統構成。一般由數據庫、數據庫管理系統(及其開發工具)、應用系統、數據庫管理員構成。
- 數據庫管理系統(DataBase Management System):數據庫管理系統是位於用戶與操作系統之間的一層數據管理軟件,用於科學地組織和存儲數據、高效地獲取和維護數據。DBMS主要功能包括數據定義功能、數據操縱功能、數據庫的運行管理功能、數據庫的建立和維護功能。
- 數據庫的數據具有【永久儲存】、【有組織】、【可共享】三個基本特點
- 使用數據庫系統的好處
- 使用數據庫系統的好處是由數據庫管理系統的特點或優點決定的
- 可以大大提高應用開發的效率
- 當數據的邏輯結構需要改變時,開發人員不必修改應用程序,或者只需要修改很少的應用程序
- 可以減輕DBA維護系統的負擔
- 便於數據的集中管理、控制數據冗余、提高數據的利用率和一致性,又有利於應用程序的開發和維護
- 文件系統與數據庫系統的區別和聯系
- 區別
- 文件系統面向某一應用程序、共享性差、冗余度大、數據獨立性差、記錄內有結構、整體無結構、由應用程序自己控制
- 數據庫系統面向現實世界、共享度高、冗余度小、具有較高物理獨立性和一定的邏輯獨立性、整體結構化、用數據模型描述、由數據庫管理系統提供數據的安全性、完整性、並發控制和恢復能力
- 聯系
- 都是計算機系統中管理數據的軟件
- 文件系統是操作系統的重要組成部分,而DBMS是獨立於操作系統的軟件。但是DBMS是在操作系統的基礎上實現的,數據庫中的數據的組織和存儲是通過操作系統中的文件系統來實現的
- 區別
- 適用於文件系統或數據庫系統的例子
- 適用於文件系統:數據的備份、軟件或應用程序使用過程中的臨時數據存儲;早期功能比較簡單、比較固定的應用系統(照片、短信、微信)
- 適用於數據庫系統:企業或部門的信息系統(人事管理系統、學生管理系統)
- 數據庫系統特點
- 數據結構化(數據庫系統與文件系統的本質區別)
- 數據共享性高,冗余度低,易擴充
- 數據獨立性高
- 數據獨立性包括數據的【物理獨立性】和數據的【邏輯獨立性】
- 【物理獨立性】:用戶的應用程序與數據庫中數據的物理存儲是相互獨立的
- 【邏輯獨立性】:用戶的應用程序與數據庫的邏輯結構是相互獨立的
- 數據庫管理系統的模式結構和二級映像功能保證了數據庫中的數據具有很高的物理獨立性和邏輯獨立性。
- 數據由DBMS統一管理和控制。提供統一的數據控制功能
- 數據的安全性保護:保護數據以防止不合法的使用造成的數據的泄密和破壞
- 數據的完整性檢查:將數據控制在有效的范圍內或保證數據之間滿足一定的關系
- 並發控制:對多用戶的並發操作加以控制和協調,保證並發操作的正確性
- 數據庫恢復:當計算機系統發生硬件故障、軟件故障,或者由於操作員的失誤以及故意的破壞影響數據庫中數據的正確性,甚至造成數據庫部分或全部數據的丟失時,能將數據庫從錯誤狀態恢復到某一已知的正確狀態(亦稱為完整狀態或一致狀態)
- 什么是數據庫
- 數據庫是長期存儲在計算機內有組織的大量的共享的數據集合。它可以供各種用戶共享,具有最小冗余度和較高的數據獨立性。
- DBMS在數據庫建立、運用和維護時對數據庫進行統一控制,以保證數據的完整性、安全性,並在多用戶同時使用數據庫時進行並發控制,在發生故障后對系統進行恢復。
- 數據庫系統的出現使信息系統從以加工數據的程序為中心轉向圍繞共享的數據庫為中心的新階段。
- DBMS的主要功能
- 數據庫定義功能
- 數據組織、存儲和管理功能
- 數據操縱功能
- 數據庫的事務管理和運行管理
- 數據庫的建立和維護功能
- 其他功能,如不同數據庫之間的互訪和互操作功能等
- 概念模型、邏輯模型和物理模型
- 概念模型實際上是現實世界到機器世界的一個中間層次。概念模型用於信息世界的建模,是現實世界到信息世界的第一層抽象,是數據庫設計人員進行數據庫設計的有力工具,也是數據庫設計人員和用戶之間進行交流的語言。
- 概念模型強調語義表達能力,簡單清晰易於用戶理解
- 邏輯模型(數據模型):按計算機系統的觀點對數據建模,用於數據庫管理系統的實現。
- 物理模型:是對數據最底層的抽象,描述數據在系統內部的表示方法和存取方法,或在磁盤或磁帶上的存儲方式和存取方法,是面向計算機系統的。
- 實體、實體型、實體集、實體之間的聯系、屬性、碼、實體聯系圖( E-R圖)
- 實體:客觀存在並可相互區分的事物
- 實體型:用實體名及其屬性名集合來抽象和刻畫同類實體
- 實體集:同型實體的集合
- 實體之間的聯系
- 實體(型)內部的聯系:組成實體的各屬性之間的聯系
- 實體(型)之間聯系:不同實體集之間的聯系。一對一、一對多、多對多
- 屬性:實體所具有的某一特性,一個實體可由若干個屬性來刻畫。
- 碼:唯一標識實體的屬性集稱為碼。
- 實體聯系圖(E-R圖):提供了表示實體型、屬性和聯系的方法
- 實體型:用矩形表示,矩形框內寫明實體名。
- 屬性:用橢圓形表示,並用無向邊將其與相應的實體連接起來。
- 聯系:用菱形表示,菱形框內寫明聯系名,並用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型(1 : 1,1 : n或m : n)。
- 數據模型、數據模型的作用、數據模型三要素
- 數據模型是數據庫系統中最重要的概念之一。數據模型是數據庫中用來對現實世界進行抽象的工具,是數據庫中用於提供信息表示和操作手段的形式構架
- 一般地講,數據模型是嚴格定義的概念的集合。這些概念精確地描述系統的靜態特性、動態特性和完整性約束條件。
- 數據模型是數據庫系統的基礎。任何一個DBMS都以某一個數據模型為基礎,或者說支持某一個數據模型
- 數據模型通常由【數據結構】、【數據操作】、【完整性約束條件】三部分組成
- 層次模型概念
- 有且只有一個結點沒有雙親結點,這個節點稱為根節點
- 根以外的其他結點有且只有一個雙親結點
- 網狀模型概念
- 允許一個以上的結點無雙親
- 一個結點可以有多於一個的雙親
- 層次數據庫、網狀數據庫的優缺點
- 層次數據庫
- 優點
- 層次模型數據結構簡單清晰
- 層次數據庫查詢效率高
- 層次數據模型提供了良好的完整性支持
- 缺點:現實世界很多聯系是非層次性的,層次模型不能自然地表示這類聯系
- 優點
- 網狀數據庫
- 優點
- 能夠更為直接地描述現實世界
- 具有良好的性能,存取效率較高
- 缺點
- 結構比較復雜,而且隨着應用環境的擴大,數據庫的結構就變得越來越復雜,不利於最終用戶掌握。
- 網狀數據庫的數據定義語言(DDL)、數據操縱語言(DML)比較復雜,要求用戶掌握數據庫結構和存取路徑,不容易使用
- 優點
- 層次數據庫
- 關系、屬性、域、元組、碼、分量、關系模式
- 關系模型由【關系數據結構】、【關系操作集合】、【關系完整性約束】三部分組成。在用戶觀點下,關系模型中數據的邏輯結構是一張二維表,它由行和列組成
- 關系:一個關系對應通常說的一張表
- 屬性:表中的一列
- 域:屬性的取值范圍
- 元組:表中的一行
- 碼:表中的某個屬性組,它可以唯一確定一個元組
- 分量:元組中的一個屬性值
- 關系模式:對關系的描述,一般表示為 關系名(屬性1,屬性2,…,屬性n)
- 關系數據庫的特點
- 優點
- 關系模型與非關系模型不同,它具有嚴格的數學基礎
- 關系模型的概念單一
- 關系模型的存取路徑對用戶透明,從而具有更高的數據獨立性、更好的安全保密性,也簡化了程序員的工作和數據庫開發建立的工作。
- 缺點:存取路徑對用戶透明,查詢效率往往不如非關系數據模型
- 優點
- 數據庫系統三級模式、兩級映像
- 三級模式結構由外模式、模式、內模式組成
- 外模式:亦稱子模式或用戶模式,局部數據的邏輯結構和特征的描述,是數據庫用戶的數據視圖
- 模式:亦稱邏輯模式,是數據庫中全體數據的邏輯結構和特性的描述,是所有用戶的公共數據視圖。模式描述的是數據的全局邏輯結構。外模式通常是模式的子集
- 內模式:亦稱存儲模式,對數據的物理結構和存儲方式的描述
- 兩級映像:外模式/模式映像、模式/內模式映像。在內部實現了三個抽象層次的聯系和轉換,保證了數據庫系統中的數據能夠具有較高的邏輯獨立性和物理獨立性
- 數據定義語言、數據操縱語言
- 數據定義語言:用來定義數據庫模式、外模式和內模式的語言
- 數據操縱語言:用來對數據庫中的數據進行查詢、插入、刪除和修改的語句
- 數據與程序的物理獨立性、邏輯獨立性
- 【數據與程序的物理獨立性】:當數據庫的存儲結構改變了,由數據庫管理員對模式/內模式映像作相應改變,可以使模式保持不變,從而應用程序也不必改變,這就是數據與程序的物理獨立性,簡稱數據的物理獨立性。
- 【數據與程序的物理獨立性】:當數據的邏輯結構即模式改變時,由數據庫管理員對各個外模式/模式的映像作相應改變,可以使外模式保持不變,從而應用程序不必修改,這就是數據與程序的邏輯獨立性,簡稱數據的邏輯獨立性。
- DBMS在三級模式之間提供的兩級映像保證了數據庫系統中的數據能夠具有較高的邏輯獨立性和物理獨立性。
- 數據庫系統組成
- 數據庫系統一般由數據庫、數據庫管理系統(及其開發工具)、應用系統、數據庫管理員構成。
- 數據庫管理員、系統分析師、數據庫設計人員、應用程序員的職責
- 數據庫管理員:全面負責管理和控制數據庫系統。具體職責包括:
- 決定數據庫的信息內容和結構
- 決定數據庫的存儲結構和存取策略
- 定義數據的安全性要求和完整性約束條件
- 監控數據庫的使用和運行
- 數據庫系統的改進和重組重構
- 系統分析員:負責應用系統的需求分析和規范說明,他要和用戶及DBA相結合,確定系統的硬件軟件配置,並參與數據庫系統的概要設計
- 數據庫設計人員:負責數據庫中數據的確定和數據庫各級模式的設計。參加用戶需求調查和系統分析,然后進行數據庫設計
- 應用程序員:負責設計和編寫應用程序的程序模塊,並進行調試和安裝
- 數據庫管理員:全面負責管理和控制數據庫系統。具體職責包括:
- 補充
- 數據庫的核心和基礎是【數據模型】
- 實現時將現實世界抽象為信息世界的是【概念模型】
- 文件系統階段比人工管理階段的優勢是【數據可以長期保存】
- 保證數據庫系統數據具有較高邏輯獨立性的是【外模式/模式映像】
- IBM公司的IMS數據庫管理系統采用【層次模型】
- DBMS是一類系統軟件,建立在【操作系統】之上
- 網狀數據庫【一個結點可以由多於一個的雙親】
- 從邏輯模型到物理模型的轉換一般由DBMS完成
- 長期存儲在計算機內,有組織的、可共享的大量數據集合是【數據庫】
- 【人工管理階段】需要應用程序管理數據
- 通常情況下,外模式是模式的子集
- 通常按照數據結構的類型來命名數據模型
- 常用的數據模型有:層次模型、網狀模型、關系模型、面向對象數據模型、對象關系數據模型、半結構化數據模型
- 最經常使用的概念模型是【E-R圖】
- 數據庫管理系統提供的數據控制方面的功能包括:數據的【安全性】保護、數據的【完整性】檢查、【並發控制】、數據庫恢復
- 層次模型和網狀模型中的單位是基本層次聯系,這是指兩個【記錄(型)】以及它們之間的【一對多】(包括一對一)的聯系
- 數據模型的組成要素中描述系統的靜態特性和動態特性的分別是【數據結構】和【數據操縱】
- 試述數據管理的文件管理階段和數據庫系統階段“數據獨立性”有何不同?
- 文件系統中數據被組織成相互獨立的數據文件,程序按照文件名訪問數據,“數據獨立性”是一種“設備獨立性”。數據庫系統的“數據獨立性”包括“物理獨立性”和“邏輯獨立性”,物理獨立性是指用戶的應用程序與存儲在磁盤上的數據庫中的數據是相互獨立的;邏輯獨立性是指用戶的應用與數據庫的邏輯結構是相互獨立的。
- 文件系統管理數據的缺點:數據共享性差,冗余度大;數據獨立性差
- 三級模式中,描述數據庫中全體數據的全局邏輯結構和特征的是【模式】
- 層次模型不能直接表示【m:n關系】
- DBS是一個集合體,包含數據庫、計算機硬件、軟件和【數據庫管理員】
- 數據庫(DB),數據庫系統(DBS)和數據庫管理系統(DBMS)之間的關系是【DBS包括DB和DBMS】
- 【人工管理階段】沒有專門的軟件對數據進行管理
- 【數據冗余度高】不屬於數據庫系統特點
- 數據庫系統的數據獨立性體現在【不會因為系統數據存儲結構與數據邏輯結構的變化而影響應用程序】
- 要保證數據庫的數據獨立性,需要修改的是【三層之間的兩種映射】
- 要保證數據庫的邏輯數據獨立性,需要修改的是【模式與外模式的映射】
- 用戶或應用程序看到的那部分局部邏輯結構和特征的描述是【子模式】,它是模式的邏輯子集
- 【數據庫管理系統設計】不是DBA數據庫管理員的職責
- 給出三個實際部門的E-R圖,要求實體型之間具有一對一,一對多,多對多各種不同的聯系(結合教材進行練習)
