




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章數據庫概述主要內容1.1數據庫系統概述1.2概念模型1.3數據模型1.4數據庫系統的模式結構1.5本章小結1.1數據庫系統概述信息當今社會發展的重要戰略資源。對信息資源的開發利用,可以有效地降低社會的運營成本,使各種社會資源得到最大限度的節約和更加合理的調配。信息系統對信息進行有效的管理和利用。MIS、ERP、CRM、OA、DSS、ES、GIS……數據庫對信息進行有效的組織和管理。為信息系統的正常運行和作用發揮提供最基礎的數據支持,是信息系統賴以成功的重要保障。衡量一個國家信息化程度的重要指標。Oracle、DB2、SQLServer、MySQL、MongDB、OceanBase……
1.1.1數據庫系統的基本概念數據信息的具體表示形式(即載體)。98、2009、¥300、(張三,男,2001,計算機科學與技術)……
給定了不同的解釋,同一個數據就可以表達不同的語義(即信息)。
數據庫(Database,DB)數據庫是長期存儲在計算機內的、可供不同用戶共享的、按照一定結構組織在一起的相關數據的集合。例如,學生社團數據庫社團表(表1.1)學生表(表1.2)參加表(表1.3)1.1.1數據庫系統的基本概念1.1.1數據庫系統的基本概念具有相應操作權限的輔導員可以很方便地查詢出每個社團的學生人數和社團負責人的姓名、學號和聯系電話:1.1.1數據庫系統的基本概念數據庫管理系統(DatabaseManagementSystem,DBMS)負責對數據庫進行統一管理和統一控制的系統軟件。用戶對數據庫的任何操作都是通過它來完成的。作為用戶和數據庫之間的橋梁,數據庫管理系統在整個數據庫系統中處于核心地位。Oracle、DB2、SQLServer、MySQL、MongDB、OceanBase……
主要功能數據定義功能(DDL)數據操縱功能(DML)數據庫的運行管理數據庫的建立和維護功能1.1.1數據庫系統的基本概念數據庫系統(DatabaseSystem,DBS)數據庫系統是在計算機系統中引入數據庫后的一個人-機系統。一般由數據庫、計算機硬件系統、操作系統、數據庫管理系統(及其開發工具)、應用系統、數據庫設計開發人員、數據庫管理員和用戶構成,如圖1.1所示。1.1.1數據庫系統的基本概念工作過程1.1.2數據管理技術的發展三階段人工管理、文件系統、數據庫系統文件系統數據是分離的,缺乏整體結構。數據冗余度大,共享性差,難以擴充。數據獨立性差。1.1.2數據管理技術的發展數據庫系統數據的整體結構化。數據的統一管理和統一控制。數據的共享性高,冗余度低,易擴充。
數據的獨立性高。1.1.2數據管理技術的發展數據的整體結構化返回1.1.2數據管理技術的發展
綜上所述,數據庫是長期存儲在計算機內的、可供不同用戶共享的、按照一定結構組織在一起的相關數據的集合,它具有最低的數據冗余度和較高的數據獨立性,由數據庫管理系統負責統一管理和統一控制,可以保證數據的安全性和完整性,在多用戶同時使用數據庫時進行并發控制,并在發生故障時對數據庫進行恢復。
數據庫系統的出現使信息系統的開發從以加工數據的應用程序為中心轉向以共享的數據庫為中心的新階段,這和數據在各行各業的基礎地位是相符合的。這樣既便于數據的搜集、組織和集中管理,又有利于應用程序的研制和維護,通過提高數據的安全性、完整性、共享性、可靠性和可用性,最終提高決策的科學性。1.2概念模型計算機不能直接處理現實世界中的客觀對象,首先需要對其進行抽象,將其轉換為計算機能夠處理的數據。數據庫用數據模型(DataModel)來對現實世界進行抽象和模擬,并且按照數據模型對數據進行組織。數據模型不同,數據庫中數據的組織方式以及由此引發的操作方式不同,數據庫的類型就有所不同。因此,理解數據模型是學習數據庫的基礎。層次數據庫→網狀數據庫→關系數據庫→…
…兩類數據模型概念模型(信息模型)邏輯模型(狹義的數據模型)和物理模型1.2.1客觀對象的抽象過程1.2.2概念模型的基本內容概念模型是現實世界到機器世界的一個中間層次,是數據庫設計人員和用戶之間交流的工具,通過用戶的認可可以確保隨后轉換得到的數據模型能夠對現實世界中數據的真實結構進行正確模擬,從而實現用戶的各種應用需求。概念模型應具有以下特點:較強的語義表達及擴充能力。概念模型應能方便、直接、準確地表達現實世界中的各種語義,并能方便地進行擴充,這是對概念模型最起碼的要求。簡單、清晰、便于用戶理解。這是由概念模型作為數據庫設計人員和用戶之間交流的工具所決定的。便于向數據模型如關系模型進行轉換。1.2.2概念模型的基本內容概念模型涉及的基本概念實體(Entity)現實世界中客觀存在并可相互區分的對象,如一名學生、一門課程等。屬性(Attribute)實體具有的特征。碼(Key)能唯一標識一個實體的屬性或屬性的最小組合。某個屬性(組)能否成為碼依賴于現實世界的具體語義,如學生的姓名。域(Domain)具有相同數據類型的值的集合,如{‘男’,‘女’}。實體型(EntityType)和實體集(EntitySet)具有相同屬性的同類實體。型(Type)和值(Value)的關系。1.2.2概念模型的基本內容聯系(Relationship)反映系統中存在的各種業務活動。最常見的聯系是兩個實體型之間的聯系,可分為以下三類:一對一聯系(1:1)一對多聯系(1:n)多對多聯系(m:n)兩個以上的實體型之間也可能存在如上3類聯系。供應商、項目和零件之間具有多對多的供應聯系。3個實體型之間的一個聯系和3個實體型兩兩之間的3個聯系在語義上是不同的!同一個實體型內部各實體之間也可能存在如上3類聯系。學生實體型內部具有一對多的領導聯系。實體之間具有什么樣的聯系依賴于人們對現實世界具體情況的具體分析:聯系究竟涉及哪些實體、人們到底關心哪些內容等。1.2.3E-R模型和E-R圖實體型1.2.3E-R模型和E-R圖聯系1.2.3E-R模型和E-R圖例如,某工廠的庫存管理系統。該系統涉及的實體有:倉庫:屬性有倉庫號、面積、位置、電話號碼,其中,倉庫號是碼。零件:屬性有零件號、名稱、規格、單價、描述,其中,零件號是碼。產品:屬性有產品號、名稱、生產日期、單價、描述,其中,產品號是碼。職工:屬性有職工號、姓名、性別、年齡、職稱,其中,職工號是碼。1.2.3E-R模型和E-R圖這些實體之間存在如下聯系:一個倉庫可以存放多種零件,一種零件也可以存放在多個倉庫中,因此,倉庫和零件之間具有多對多的庫存聯系,某個倉庫存放某種零件會有一個庫存量。一個倉庫可以存放多種產品,一種產品也可以存放在多個倉庫中,因此,倉庫和產品之間具有多對多的存放聯系,某個倉庫存放某種產品會有一個存放量。一種零件可以用在多種產品上,一種產品也由多種零件制造而成,因此,產品和零件之間具有多對多的使用聯系,某種產品使用某種零件會有一個使用量。一個倉庫有多名職工,但一名職工只能在一個倉庫工作,因此,倉庫和職工之間具有一對多的工作聯系。在這些職工中,除倉庫主任外,其他職工都被自己所在倉庫的倉庫主任直接領導,因此,職工內部具有一對多的領導聯系。1.2.3E-R模型和E-R圖該系統的E-R圖1.2.3E-R模型和E-R圖該系統的E-R圖1.2.3E-R模型和E-R圖用E-R圖表達的概念模型獨立于具體的數據庫管理系統,比數據模型更接近于現實世界,用戶也更容易理解,因此,它是用戶能夠參與到數據庫設計中來的關鍵,也是今后設計的各種數據模型的共同基礎。1.3數據模型概念模型雖然能很好地模擬現實世界,但卻獨立于具體的數據庫管理系統。因此,數據庫的計算機實現還需要將概念模型進一步轉換為某一數據庫管理系統支持的數據模型(包括邏輯模型和物理模型,這就是上述的第二步抽象),然后據此在計算機上創建數據庫。數據模型應具有以下特點:能比較真實地模擬現實世界。和概念模型一樣,這也是對數據模型最起碼的要求。容易為人所理解,這里的人一般指數據庫設計開發人員和數據庫管理員等。便于在計算機上實現,這是概念模型所不具有的。1.3.1數據模型的組成要素為了精確地描述數據賴以計算機實現的邏輯結構,數據模型提供了一組嚴格定義的概念,這些概念精確地描述了數據的靜態特性、動態特性和完整性約束條件。數據結構所研究對象的數據類型的集合。是對數據的組織方式及其類型,即靜態特性的描述,是刻畫一個數據模型性質最重要的方面。樹型結構→圖結構→關系結構→…
…數據操作對數據庫中各種數據對象的實例(即數據)允許執行的操作集合,包括操作及其操作規則。主要包括查詢和更新(包括插入、修改和刪除)兩大類。完整性約束條件為了使數據能夠符合現實世界的要求、保證數據的正確性、有效性和相容性而設定的一組完整性規則的集合。1.3.2常見的數據模型層次模型(HierarchicalModel)網狀模型(NetworkModel)關系模型(RelationalModel)對象-關系模型(Object-RelationalModel)面向對象模型(Object-OrientedModel)1.3.2常見的數據模型層次模型樹型結構
1.3.2常見的數據模型網狀模型圖結構1.3.2常見的數據模型關系模型關系在用戶的眼中,一個關系就是一張二維表。元組、屬性、候選碼、主碼…
…
關系模式對關系的結構及其特征的抽象描述,相對穩定。一般表示:關系名(屬性1,……,屬性n)規范條件最基本的規范條件:關系的每一列都不可再分。關系數據操作高度非過程化SQL(StructuredQueryLanguage,結構化查詢語言)完整性約束條件實體完整性、參照完整性、用戶定義的完整性以文件的形式存儲1.3.2常見的數據模型面向對象模型和對象-關系模型
為了表達現實世界中更為復雜的客觀對象及其聯系,人們將諸如C++和Java等面向對象編程語言所具有的面向對象功能和數據庫功能結合起來,從而形成了面向對象模型和面向對象數據庫。面向對象模型具有以下幾個核心概念:對象屬性方法消息類封裝性繼承性多態性1.3.2常見的數據模型面向對象模型和對象-關系模型然而,純粹的面向對象數據庫系統并不支持SQL語言,在通用性方面丟失了關系數據庫的優勢。對象-關系模型將面向對象方法引入到關系模型中,在以下幾個方面對關系模型進行了擴展:允許用戶擴充基本數據類型支持對復雜對象的處理支持子類對超類的繼承和函數重載等面向對象的核心概念提供強大而通用的規則系統,并與其它的對象-關系能力集成為一體1.3.2常見的數據模型NoSQL和NewSQL數據模型
常見的NoSQL數據模型有以下4種:鍵值對存儲模式文檔存儲模式列族存儲模式圖存儲模式傳統關系數據庫+NoSQL數據庫→NewSQL數據庫1.4數據庫系統的模式結構數據的獨立性模式(Schema)數據庫中全體數據的邏輯結構及其特征的抽象描述。不涉及數據的具體取值,因此,模式是相對穩定的。模式的實例(Instance)數據庫系統的三級模式結構模式外模式內模式1.4.1數據庫系統的三級模式結構1.4.1數據庫系統的三級模式結構模式(Schema)又稱邏輯模式,是數據庫中全體數據的邏輯結構及其特征的抽象描述。綜合考慮了所有用戶的需求,是所有用戶的公共數據視圖。一個數據庫只有一個模式。模式就是數據庫在邏輯級上的視圖,位于三級模式結構的中間層,既不涉及數據的物理存儲細節和硬件環境,也與具體的應用程序和所使用的應用開發工具無關。在設計數據庫的模式結構時首先應確定數據庫的模式。1.4.1數據庫系統的三級模式結構外模式(ExternalSchema)又稱用戶模式(UserSchema)、子模式(Subschema),是數據庫用戶或應用程序使用的那一部分數據的局部邏輯結構及其特征的抽象描述,是與某一用戶或應用程序有關的那一部分數據的局部邏輯表示。外模式定義在模式的基礎之上,面向具體的用戶或應用程序,獨立于數據的物理存儲細節和硬件環境。一個數據庫可以有多個外模式。一個外模式可以供多個用戶或應用程序所共享,但一個用戶或應用程序卻只能使用一個外模式。保證數據安全性的一個有力措施。在設計外模式時,應充分考慮到應用的擴充性。1.4.1數據庫系統的三級模式結構內模式(InternalSchema)又稱物理模式(PhysicalSchema)、存儲模式(StorageSchema),是數據庫中數據的物理存儲結構和存取方式的抽象描述,是數據在數據庫內部的表示方式。堆存儲,還是有序存儲、聚簇存儲等B+索引,還是Hash索引等是否壓縮存儲、加密存儲等一條記錄是否允許跨頁存儲等依賴于模式,由于面向物理存儲,獨立于外模式和具體應用,但也獨立于具體的存儲設備。一個數據庫只有一個內模式。在設計內模式時主要考慮它的時間和空間效率。1.4.2數據庫系統的兩級映像功能為了實現這三級模式之間的聯系和轉換,保證數據的獨立性,數據庫管理系統在這三級模式之間提供了兩級映像功能:外模式/模式映像模式/內模式映像正是這兩級映像功能保證了數據庫中的數據具有較高的邏輯獨立性和物理獨立性。1.4.2數據庫系統的兩級映像功能外模式/模式映像一個數據庫只有一個模式,卻可以有多個外模式,分別面向具有不同數據需求的用戶或應用程序。對于每一個外模式,數據庫系統都會相應地存在一個外模式/模式映像,用來定義該外模式和模式之間的對應關系,包含在該外模式的定義之中。保證數據的邏輯獨立性。1.4.2數據庫系統的兩級映像功能模式/內模式映像一個數據庫只有一個模式,也只有一個內模式,因此,模式和內模式之間的對應關系是唯一的,這就是模式/內模式映像,該映像通常包含在模式的定義之中。保證數據的物理獨立性。1.4.2數據庫系統的兩級映像功能應用程序從數據庫中讀取數據的步驟:應用程序向數據庫管理系統發出讀數據的命令。數據庫管理系統對該命令進行語法和語義檢查,并調用該應用程序對應的外模式,檢查該應用程序對將要讀取的數據擁有什么樣的存取權限,決定是否執行該命令,如果拒絕執行,則返回錯誤信息。在決定執行該命令后,數據庫管理系統調用模式,根據外模式/模式映像,確定應該讀取模式中的哪些數據記錄。數據庫管理系統調用內模式,根據模式/內模式映像,確定應該從哪些文件、采用什么樣的存取方法、讀取哪些物理記錄。數據庫管理系統向操作系統發出讀物理記錄的命令。操作系統執行讀物理記錄的有關操作,將物理記錄送至緩沖區。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論