高級數據庫技術第1章-緒論課件_第1頁
高級數據庫技術第1章-緒論課件_第2頁
高級數據庫技術第1章-緒論課件_第3頁
高級數據庫技術第1章-緒論課件_第4頁
高級數據庫技術第1章-緒論課件_第5頁
已閱讀5頁,還剩93頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

高級數據庫技術湯庸葉小平湯娜吉永杰高等教育出版社(課件制作中山大學葉小平胡蘇)10/5/20231高級數據庫技術湯庸葉小平湯娜吉永杰8/5/20231第1章緒論

1.1數據庫系統基本概念1.1.1數據庫系統數據庫系統(DatabaseSystem,DBS)是指一個計算機存儲記錄信息的系統,即:●DBS首先是一個計算機系統。●該系統的目標是存儲數據信息并支持用戶檢索和更新所需要的數據信息。10/5/20232第1章緒論

1.1數據庫系統基本概念8/5/20232在人們的使用當中,DBS通常有下述兩種含義。●DBS的個體含義:指一個具體的數據庫管理系統軟件和它建立起來的數據庫。●DBS的學科含義:指研究、開發、建立、維護和應用數據庫系統所涉及的理論、方法和技術所構成的科學領域。在這一含義下,數據庫系統是軟件研究領域的一個重要的分支,常稱為數據庫領域。本書中DBS正是基于這種學科含義的。10/5/20233在人們的使用當中,DBS通常有下述兩種含義。8/5/2023數據庫系統由數據庫、數據庫管理系統、支持數據庫運行的軟、硬件環境以及用戶相互獨立而又相互聯系的四部分組成。10/5/20234數據庫系統由數據庫、數據庫管理系統、支持數據庫運行的軟、硬件(1)數據庫數據庫可以看作是一個電子文件柜,它是基于計算機系統的持久性數據的“倉庫”或者“容器”。是一個長期存儲在計算機內、有組織的和可共享的數據集合。其特點是集中了各種應用的數據,并對其進行統一的構造與存儲,同一數據庫可以為不同的應用服務。10/5/20235(1)數據庫8/5/20235(2)數據庫管理系統(DBMS)數據庫是一個多級系統結構,需要一組軟件提供相應的工具進行數據的管理和控制,以達到保證數據的安全性和一致性的基本要求。這樣一組軟件就是數據庫管理系統(DatabaseManagementSystem,DBMS)。它具有數據組織定義、數據操作與查詢優化、數據控制及數據維護、數據管理以及提供各種接口等功能。10/5/20236(2)數據庫管理系統(DBMS)8/5/20236(3)支持數據庫系統的硬件/軟件平臺●硬件平臺數據庫系統中的硬件平臺可以有狹義和廣義之分。狹義硬件平臺是指數據存儲和數據處理所必不可少的硬件設施廣義硬件平臺是指具有廣泛應用和較強功能的硬件設施10/5/20237(3)支持數據庫系統的硬件/軟件平臺8/5/20237●軟件平臺操作系統數據庫系統開發工具接口軟件10/5/20238●軟件平臺8/5/20238(4)用戶一般認為,存在著三類數據庫用戶

●第一類用戶:應用程序員●第二類用戶:最終用戶●第三類用戶:數據庫管理員10/5/20239(4)用戶8/5/202391.1.2數據庫體系結構

在實際應用當中,DBS的種類很多,它們可以支持不同的數據模型,使用不同的數據庫語言,建立在不同的操作系統之上,數據的存儲結構也各不相同,但它們在體系結構上通常都具有相同的特征,即采用三級模式結構(早期微機上的小型數據庫系統除外)并提供兩級映像功能。掌握數據庫的三級結構及其聯系與轉換應當是深入學習和掌握數據庫理論、技術與方法的必由之路。10/5/2023101.1.2數據庫體系結構

在實際應用當中,DBS的種類很多模式(Schema)是數據庫中全體數據的邏輯結構和特征的描述,其主體就是數據模型,此外,一般還包括允許的各種操作、數據完整性和安全性等方面的控制。模式的一個具體值稱為模式的一個實例(Instance)。同一模式可以有很多實例。模式是相對穩定的,而實例是經常變動的;模式反映數據的結構及其聯系,而實例反映數據庫某一時刻的狀態。10/5/202311模式(Schema)是數據庫中全體數據的邏輯結構和特征的描述DBS體系結構分為三層:外模式、概念模式和內模式。1.外模式(1)外模式概念外模式(ExternalSchema),也稱用戶模式(User’sSchema)或子模式(Subschema)。外模式就是用戶所看到的數據視圖,它最接近用戶,是用戶和數據庫系統的接口,是用戶給出的對數據的描述。10/5/202312DBS體系結構分為三層:外模式、概念模式和內模式。8/5/2(2)外模式的不惟一性不同的用戶由于需求的不同,看待數據的方式也會不同,對數據的保密要求及使用的程序設計語言也會不同,從而不同用戶的外模式的描述方式一般是互不相同的。10/5/202313(2)外模式的不惟一性8/5/202313(3)外模式DDL在一般的DBMS中都提供相關的外模式描述語言(外模式DDL)。外模式DDL在嵌入形式下和用戶選用的程序設計語言具有相容的語法格式。例如在PowerBuild中使用外模式DDL必須符合PowerBuild的語法要求。10/5/202314(3)外模式DDL8/5/2023142.概念模式(1)概念模式概念模式(ConceptualSchema),也稱公共邏輯模式或邏輯模式,它是介于內模式和外模式之間的層次,與結構數據模型對應。概念模式是數據庫系統中全局數據邏輯結構和特征的描述,是全體用戶的公共數據視圖,這種描述是一種抽象描述,不涉及具體硬件平臺與軟件環境。10/5/2023152.概念模式8/5/202315(2)概念模式DDLDBMS提供概念模式的DDL語言——概念DDL來嚴格定義概念模式。定義模式時不僅要定義數據的邏輯結構,而且還要定義數據之間的聯系,定義與數據有關的安全性和完整性要求。10/5/202316(2)概念模式DDL8/5/2023163.內模式(1)內模式概念內模式(InternalSchema)也稱為存儲模式(StorageSchema)或物理模式(PhysicalSchema),是數據庫物理結構和存儲方式的描述,即數據庫的“內部視圖”。內部視圖是整個數據庫的底層表示,它由內部記錄型中各個類型的值組成。10/5/2023173.內模式8/5/202317(2)內模式不深入到設備級內模式雖然稱為物理模式,但它的物理性質主要表現在操作系統級和文件級上,本身并不深入到設備級上(如磁盤及磁盤操作),內部視圖仍然不是物理層,它不涉及物理記錄的形式,例如物理塊或頁,也不考慮具體設備的柱面與磁道大小。10/5/202318(2)內模式不深入到設備級8/5/202318(3)內模式DDLDBMS一般提供相關的內模式描述語言(內模式DDL)來嚴格定義內模式。當前,許多DBMS產品基本上都可以自動完成內模式的大部分定義工作,幾乎不需要用戶介入。當用戶使用內模式DDL定義模式的同時,通常DBMS也就自動完成了相應的內模式的定義工作。10/5/202319(3)內模式DDL8/5/2023194.三種模式的關系在數據庫系統體系結構當中,內模式處于最低層,它最接近于反映數據在計算機物理結構中的實際存儲形式;概念模式處于中層,它反映了設計者的數據全局邏輯要求;而外模式處于最外層,它反映了用戶對數據的實際要求。10/5/2023204.三種模式的關系8/5/202320在關系系統當中,一般成立:概念模式一定是關系的,在該層可見的實體是關系的表和關系的操作符。外部視圖也是關系的或接近是關系的。內模式不是關系的,因為該層的實體不是關系表的照搬。事實上,不管是什么系統,其內模式都是一樣的(如存儲記錄、指針、索引、哈希表等),關系模式與內模式無關。10/5/202321在關系系統當中,一般成立:8/5/2023211.1.3數據庫二級映射

數據庫系統體系結構三級模式實質上是對數據的3個級別抽象,它的基本意義在于將DBS中數據的具體物理實現留給物理模式,使得用戶與全局設計者不必關心數據庫的具體實現與物理背景。為了能夠保證在數據庫系統內部實現這3個抽象層次的聯系和轉換,還必須在這3個模式之間提供兩個(兩級)映射,這就是概念模式/內模式映射和外模式/概念模式映射。10/5/2023221.1.3數據庫二級映射

數據庫系統體系結構三級模式實質上1.概念模式/內模式映射該映射定義了概念視圖和數據庫的對應關系,它說明了概念記錄和字段在內部層次怎樣表示。如果數據庫的存儲結構發生改變,即變動了存儲結構的定義,概念模式/內模式映射也必須進行相應的改變,以保證概念模式能夠保持不變(這是數據庫管理員的工作)。10/5/2023231.概念模式/內模式映射8/5/2023232.外模式/概念模式映射該映射定義了特定的外部視圖和概念視圖之間的對應關系。一般而言,這兩層之間存在的差異與概念模式和內模式之間的差異類似。10/5/2023242.外模式/概念模式映射8/5/20232410/5/2023258/5/2023251.2數據模型

數據模型(datamodel)是一種抽象模型。數據是現實世界中事物及其特征的抽象,數據模型則是數據特征的抽象。事物個體特征通過各個事物個體之間的相互關系表現出來,數據模型從本質上來說,是數據間相互聯系或者說約束條件的描述。數據模型正是從一般抽象的層面上模擬和描述了數據庫系統的靜態特征、動態行為和約束條件。10/5/2023261.2數據模型

數據模型(datamodel)是一種抽象1.2.1概念數據模型

概念數據模型(ConceptualDataModel)也稱為信息模型。概念數據模型的實質是面向用戶的模型,它是用戶所容易理解的現實世界特征的數據抽象,其基本特征是按用戶觀點對數據和信息進行建模,與具體DBMS無關。概念數據模型作為數據庫設計員與用戶之間進行交流的語言,服務于數據庫設計的應用目的。10/5/2023271.2.1概念數據模型

概念數據模型(Conceptual概念數據模型經過轉換就可以變為DBMS支持的邏輯數據模型,進而在DBMS中得以實現。最常用和最著名的概念模型是實體-聯系(E-R)模型,簡稱E-R模型。E-R模型的圖示形式就稱為E-R圖。E-R圖提供了用圖形表示實體型、屬性和聯系的方法10/5/202328概念數據模型經過轉換就可以變為DBMS支持的邏輯數據模型,進實體型:用矩形表示,矩形框內寫明實體名。屬性:用橢圓形表示,并用無向邊將其與相應的實體連接起來。聯系:用菱形表示,菱形框內寫明聯系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型(1:1、1:n或m:n)。10/5/202329實體型:用矩形表示,矩形框內寫明實體名。8/5/2023291.2.2結構數據模型

結構數據模型(StructureDataModel)又稱為邏輯數據模型(LogicDataModel),它是既面向用戶又面向系統的數據模型,其特征是按計算機系統觀點對數據和信息進行建模,服務于DBMS的應用實現。10/5/2023301.2.2結構數據模型

結構數據模型(StructureD一般來說,結構數據模型是嚴格定義的一組概念的集合,主要由數據結構、數據操作和完整性約束3部分組成,通常稱為數據模型3要素。10/5/202331一般來說,結構數據模型是嚴格定義的一組概念的集合,主要由數據1。數據結構數據結構用于描述系統的靜態特性,研究與數據類型、內容、性質有關的對象,例如關系模型中的域、屬性、關系等。一般認為,數據結構是計算機數據組織方式和數據之間聯系的框架描述,而數據文件中的數據就按照這種框架描述進行組織。10/5/2023321。數據結構8/5/2023322。數據操作數據操作是指對數據庫中各種對象的實例(或取值)所允許執行的操作的集合,其中包括操作方法及相應操作規則,它是對數據庫動態特性的描述。在數據庫中,數據操作主要有數據查詢和數據更新(插入、刪除和修改)兩大類。10/5/2023332。數據操作8/5/2023333。完整性約束數據的約束條件是一組完整性規則(約束條件)的集合。完整性規則是給定的數據模型中數據及其聯系所具有的制約和儲存規則,用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效、相容。10/5/2023343。完整性約束8/5/2023341.2.3層次模型

1.層次模型的基本結構層次模型用樹形結構來表示各類實體以及實體間的聯系。每個結點表示一個記錄類型,結點之間的連線表示記錄類型間的聯系,這種聯系只能是父子聯系。每個記錄類型可包含若干個字段,這里,記錄類型描述的是實體,字段描述實體的屬性。10/5/2023351.2.3層次模型

1.層次模型的基本結構8/5/2023任何一個給定的記錄值只有按其路徑查看時,才能顯出它的全部意義,沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在。限制:只有一個結點沒有雙親結點,稱之為根結點根以外的其它結點有且只有一個雙親結點這就使得層次數據庫系統只能處理一對多的實體關系。10/5/202336任何一個給定的記錄值只有按其路徑查看時,才能顯出它的全部意義2.多對多聯系在層次模型中的表示用層次模型表示多對多聯系,必須首先將其分解成一對多聯系。分解方法有兩種:冗余結點法和虛擬結點法。10/5/2023372.多對多聯系在層次模型中的表示8/5/202337系號系名系主任名系室號室名室主任課程號課程名學時數任課教員教研室課程姓名年齡職稱辦公室專長教員10/5/202338系號系名系主任名系室號室名室主任課程號課程名學時數任課教員教層次數據模型的操縱與完整性約束層次數據模型的操縱主要有查詢、插入、刪除和更新。進行插入、刪除、更新操作時要滿足層次模型的完整性約束條件。進行插入操作時,如果沒有相應的雙親結點值就不能插入子女結點值。進行刪除操作時,如果刪除雙親結點值,則相應的子女結點值也被同時刪除。進行更新操作時,應更新所有相應記錄,以保證數據的一致性。10/5/202339層次數據模型的操縱與完整性約束8/5/2023391.2.4網狀模型

網狀數據模型是一種比層次模型更具普遍性的結構,它去掉了層次模型的兩個限制,允許多個結點沒有雙親結點,允許結點有多個雙親結點,此外它還允許兩個結點之間有多種聯系(稱之為復合聯系)。10/5/2023401.2.4網狀模型

網狀數據模型是一種比層次模型更具普遍性的網狀模型概念建立在連通有向圖基礎之上,它滿足以下兩個條件:模型中允許一個以上的結點無雙親。模型中一個結點可以有多于一個的雙親。10/5/202341網狀模型概念建立在連通有向圖基礎之上,它滿足以下兩個條件:8兩個結點之間具有兩種以上聯系工人設備工人與設備10/5/202342工人設備工人與設備8/5/202342一對多的網狀模型學號姓名系別課程號學分課程名學號課程號成績學生選課課程10/5/202343學號姓名系別課程號學分課程名學號課程號成績學生選課課8/5/網狀模型的數據操作與數據約束網狀數據模型不像層次模型那樣具有嚴格的完整性約束條件,但網狀模型在模式DDL中提供了定義網狀數據庫完整性的若干概念和語句,主要有:。10/5/202344網狀模型的數據操作與數據約束8/5/202344支持記錄鍵的概念,而鍵(key)是唯一標識記錄的數據項集合。保證一個聯系中雙親記錄和子女記錄之間是一對多聯系。支持雙親記錄和子女記錄之間的某些約束條件,例如在例1-4中,當插入一條選課記錄時,只有數據庫中存在該學生及其課程時,系統才認為是合法操作10/5/202345支持記錄鍵的概念,而鍵(key)是唯一標識記錄的數據項集合。網狀模型的優缺點網狀模型的主要優點能夠更為直接地描述現實世界。具有良好的性能和較高的存取效率。網狀模型的主要缺點結構比較復雜,不利于最終用戶掌握。其DDL和DML語言復雜,用戶不易使用。10/5/202346網狀模型的優缺點8/5/2023461.2.5關系模型

關系模型的數據結構關系模型是用二維表格表示實體集的結構數據模型,其數據結構具有下述特征:在關系模型中,基本的數據結構是表格,表格由行和列組成。表格簡單直觀,用戶只需要用簡單的查詢語句就能夠對關系數據進行操作,不需涉及數據的存儲結構、訪問技術等細節。10/5/2023471.2.5關系模型

關系模型的數據結構8/5/202347關系模型與層次和網狀模型等非關系模型的根本區別在于關系模型是用“鍵”而不是用指針導航數據,記錄之間聯系通過表格中的鍵實現。由于表格可以看作一個集合,同時表格中的行又可以看作一個命題,因此集合論與數理邏輯的理論與方法就能夠引入到關系模型中來,關系模型就成為一種數學化的模型。10/5/202348關系模型與層次和網狀模型等非關系模型的根本區別在于關系模型是關系模型的數據操作關系模型的數據操作主要包括查詢和更新(插入、刪除和更新)兩類。關系數據操作具有兩個顯著特點:關系數據操作是集合操作,即數據操作的對象和操作結果均為若干元組的集合(關系);而在非關系數據操作中,操作對象和結果一般而言都是單個記錄。關系模型將操作中存取路徑向用戶屏蔽起來,用戶只要說明“干什么”而不必關注“怎樣干”,大大提高數據獨立性和用戶進行數據操作的效率。10/5/202349關系模型的數據操作8/5/202349關系模型的數據約束對關系模型中的數據操作必須滿足關系完整性約束條件,這些約束條件可以分為3類:實體完整性、參照完整性和用戶定義的完整性。10/5/202350關系模型的數據約束8/5/202350關系模型的優缺點關系模型的優點關系模型是規范化的,建立在嚴格的數學與邏輯基礎之上。關系模型的數據結構簡單清晰,用戶易懂易用,這主要是由于實體和實體間聯系表現為關系,數據操作的對象和所得到的結果都是關系,關系模型涉及到的概念單一明了。關系模型存儲路徑對用戶透明,具有更好的數據獨立性和安全保密性。10/5/202351關系模型的優缺點8/5/202351關系模型的不足之處由于關系模型中數據存儲路徑對用戶“透明”,隨之帶來數據查詢效率往往不及非關系模型,為了提高關系數據的查詢性能,必須對用戶的查詢請求進行必要的優化,從而增加了開發數據庫管理系統的負擔。10/5/202352關系模型的不足之處8/5/2023521.2.6面向對象模型

面向對象模型(Object-orientedModel)是近幾年來迅速崛起并得到很大發展的一種數據模型,該模型在吸取層次、網狀和關系等各種模型優點并借鑒了面向對象的設計方法,可以表達上述幾種模型難以處理的許多復雜數據結構。例如,對于非傳統的數據領域中CAD、工程領域和多媒體等復雜、嵌套遞歸數據關系等具有極強的表達能力。面向對象數據模型是面向對象概念與數據庫技術相結合的產物。10/5/2023531.2.6面向對象模型

面向對象模型(Object-orie面向對象模型能描述復雜的現實世界,具有較強的靈活性、可擴充性和可重用性。應用該模型可以使數據庫具有結構清晰、對象具有獨立性,便于維護、需求變更時程序與數據庫重用率高,修改少等優點。它的動態特性描述、對象標識符、類的普化與特化、類的聚合與分解和消息功能等都比前面介紹的概念模式要好。面向對象模式可以說既可以作為一種概念模型,又可以依據其直接構造結構數據模型。10/5/202354面向對象模型能描述復雜的現實世界,具有較強的靈活性、可擴充性1.3數據庫理論基礎

本節簡要回顧數據庫(主要是關系數據庫)中幾個重要的基礎理論:關系數據庫規范化理論、數據庫完整性、數據庫事務處理、數據索引技術與查詢處理。10/5/2023551.3數據庫理論基礎

本節簡要回顧數據庫(主要是關系數據庫)1.3.1關系數據庫規范化

在一個數據庫中構造“好的”、“合適”的關系模式,本身涉及一系列的理論與方法,形成了關系數據庫的模式設計理論和技術。由于合適的關系模式要符合一定的規范化要求,所以又稱其為關系數據庫的規范化理論。10/5/2023561.3.1關系數據庫規范化

在一個數據庫中構造“好的”、“函數依賴設R(U)是屬性集U上的關系模式。X,Y是U的子集。若對于R(U)的任意一個可能的關系r,r中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數確定Y或Y函數依賴于X,記作X→Y。10/5/202357函數依賴8/5/202357函數依賴可以分為3種基本情形:(1)平凡與非平凡函數依賴如果X→Y,但Y不是X的子集,則稱X→Y是非平凡函數依賴(NontrivialFunctionalDependence),否則稱為平凡函數依賴(TrivialFunctionalDependence)。10/5/202358函數依賴可以分為3種基本情形:8/5/202358(2)部分與完全函數依賴如果X→Y,但對于X中的任意一個真子集X',都有Y不依賴于X',則稱Y完全依賴(FullFunctionalalDependency)于X,否則稱為Y不完全依賴于X。如果X→Y,但Y不完全函數依賴于X,則稱Y對X部分函數依賴(PartialFunctionalDependency)10/5/202359(2)部分與完全函數依賴8/5/202359(3)傳遞與直接函數依賴設有兩個非平凡函數依賴X→Y和Y→Z,而且X不函數依賴于Y,則稱Z傳遞函數(TransitiveFunctionalDependency)依賴于X。10/5/202360(3)傳遞與直接函數依賴8/5/202360范式第一范式—1NF:如果一個關系模式R中每個屬性值都是一個不可分解的數據量,則稱該關系模式滿足第一范式(FirstNormalForm),記為R∈1NF。10/5/202361范式8/5/202361第二范式—2NF:如果關系模式R(U)∈1NF,并且R(U)中的每一個非主屬性完全函數依賴于R(U)的候選鍵,則稱該關系模式R(U)滿足第二范式,記為R(U)∈2NF。10/5/202362第二范式—2NF:如果關系模式R(U)∈1NF,并且R(U)第三范式—3NF:如果關系模式R(U)∈1NF,且R(U)中的每一個非主屬性都不傳遞依賴于R的候選鍵,則稱關系模式R(U)屬于第三范式,記為R(U)∈3NF。10/5/202363第三范式—3NF:如果關系模式R(U)∈1NF,且R(U)中Boyce-Codd范式——BCNF:設關系模式R(U)∈1NF,如果R(U)中每一個屬性都不傳遞依賴于R(U)的候選鍵,則稱關系模式R(U)滿足Boyce-Codd范式,簡稱BC范式,記為R(U)∈BCNF。10/5/202364Boyce-Codd范式——BCNF:設關系模式R(U)∈1多值依賴與4NF多值依賴設有關系模式R(U),X、Y是屬性集U中的兩個子集,而r是R(U)中任意給定的一個關系。如果有下述條件成立,則稱Y多值依賴(MultivaluedDependency)于X,記為X→→Y:對于關系r在X上的一個確定的值(元組),都有r在Y中一組值(元組的集合)與之對應。Y的這組對應值(元組的集合)與r在屬性集Z=U-X-Y中的屬性值無關。10/5/202365多值依賴與4NF8/5/202365第四范式—4NF對于R(U)中的任意兩個屬性子集X和Y,當X→→Y是非平凡多值依賴時,X必為超鍵,則稱R(U)滿足第四范式,記為R(U)∈4NF。10/5/202366第四范式—4NF8/5/2023661.3.2數據庫完整性

通常所講到的數據庫的完整性(Integrity)的基本含義是指數據庫的正確性、有效性和相容性,其主要目的是防止錯誤的數據進入數據庫。正確性:正確性是指數據的合法性,例如數值型數據中只能含有數字而不能含有字母。有效性:有效性是指數據是否屬于所定義域的有效范圍。相容性:相容性是指表示同一事實的兩個數據應當一致,不一致即是不相容。10/5/2023671.3.2數據庫完整性

通常所講到的數據庫的完整性(InteDBMS必須提供一種功能使得數據庫中數據合法,以確保數據的正確性;同時還要避免非法的不符合語義的錯誤數據的輸入和輸出,以保證數據的有效性;另外,還要檢查先后輸入數據是否一致,以保證數據的相容性。檢查數據庫中數據是否滿足規定的條件稱為“完整性檢查”。數據庫中數據應當滿足的條件稱為“完整性約束條件”,有時也稱為完整性規則。10/5/202368DBMS必須提供一種功能使得數據庫中數據合法,以確保數據的正完整性規則關系模型的完整性規則就是對關系的某種約束條件。關系模型中有3類完整性規則,即實體完整性規則、參照完整性規則和用戶定義完整性規則。實體完整性規則和參照完整性規則是任何一個關系模型都必須滿足的完整性約束條件,被稱為關系模型的兩個不變性,通常由DBMS自動支持。10/5/202369完整性規則8/5/202369實體完整性規則(EntityIntegrityRule):當屬性A是基本關系R的主屬性時,屬性A不能取空值。10/5/202370實體完整性規則(EntityIntegrityRule)參照完整性規則(ReferenceIntegrityRule):如果屬性或屬性組F是基本關系R的外鍵,它與基本關系S的主鍵Ks相對應(這里R和S不一定是兩個不同的關系),則對于R中每個元組在F上的取值應當滿足:或者取空值,即F的每個屬性值均為空值。或者等于S中某個元組的主鍵值。10/5/202371參照完整性規則(ReferenceIntegrityRu用戶完整性規則(UserdefinedIntegrityRule):它針對一個具體的應用環境,反映其涉及到數據的一個必須滿足的特定的語義要求。用戶完整性規則的要點是針對數據環境由用戶具體設置規則,它反映了具體應用中數據的語義要求。10/5/202372用戶完整性規則(UserdefinedIntegrity1.3.3數據庫的事務處理

所謂事務(Transaction),就是構成單一邏輯工作單元的操作集合。例如,一條或一組SQL語句構成一個事務,運行過程中整個程序也是一個事務。事務的根本特征是集中了數據庫應用方面的若干操作,這些操作構成了一個操作序列,序列中的操作要么全做,要么全不做,整個序列是一個不可分割的操作單位。10/5/2023731.3.3數據庫的事務處理

所謂事務(Transaction1.3.1事務的ACID性質

DBMS在數據管理過程中需要保證事務的“并發執行”,也要保證事務本身的有效性,同時還要有相應的措施進行數據庫故障恢復,這樣就必須采取必要措施來分別維持事務的一些重要特性。在事務處理過程中,事務必須具有的重要特性可以由“ACID”性質刻畫,其中ACID是由下述討論中的4個英文單詞的第一個字母組成。10/5/2023741.3.1事務的ACID性質

DBMS在數據管理過程中需要(1)原子性(Atomicity)(2)一致性(Consistency)(3)隔離性(Isolation)(4)持久性(Durability)10/5/202375(1)原子性(Atomicity)8/5/2023751.3.2事務的基本操作與活動狀態

事務操作可以看作由若干個部分組成。事務開始(BeginTransaction):事務開始執行。事務讀寫(Read/WriteTransaction):事務進行數據操作。事務提交(CommitTransaction):事務完成所有數據操作,同時保存操作結果,它標志著事務的成功完成。事務回滾(RollbackTransaction):事務未完成所有數據操作,重新返回到事務開始,它標志著事務的撤銷。10/5/2023761.3.2事務的基本操作與活動狀態

事務操作可以看作由若干

事務活動過程10/5/2023778/5/2023771.3.4數據索引與查詢處理

1.4.1索引設計索引(Index)設計是數據庫物理設計的基本問題,對關系選擇有效的索引對提高數據庫的訪問效率有很大的作用。索引也是按照關系的某些屬性列建立的,它主要用于常用的或重要的查詢中。10/5/2023781.3.4數據索引與查詢處理

1.4.1索引設計8/5/1.4.2查詢處理與優化查詢處理是關系數據庫系統最主要的功能。關系數據庫的查詢一般都使用SQL語句實現。對于同一個用SQL表達的查詢要求,通常可以對應于多個不同形式但相互“等價”的關系代數表達式。10/5/2023791.4.2查詢處理與優化8/5/202379關系數據庫中,查詢優化技術有兩個基本要點:設置一個查詢優化器,從該優化器上輸入關系語言,例如SQL的查詢語句,經優化器處理后產生優化的查詢表達式。使用優化的查詢表達式進行查詢操作,從而提高查詢的效率。10/5/202380關系數據庫中,查詢優化技術有兩個基本要點:8/5/20238查詢優化的一般準則(1)選擇優先操作規則:及早進行選擇操作。(2)投影優先操作規則:及早進行投影操作。(3)笛卡爾乘積“合并”規則:盡量避免單純進行笛卡爾乘積操作。10/5/202381查詢優化的一般準則8/5/2023811.4數據庫新技術概述

1.4.1數據模型的新特征現代應用所涉及的范圍很廣泛,所呈現出的特征行為非常復雜,對數據庫的要求也十分多樣,例如數據庫要有主動性,數據庫能表達數據的時間屬性等。現代應用對數據庫的要求的一個具體體現是對數據模型的要求。數據模型主要是指數據庫的數據結構、對數據的操作以及數據的約束條件。現代數據庫對數據模型的新要求主要體現在以下方面。10/5/2023821.4數據庫新技術概述

1.4.1數據模型的新特征8/1.數據特征(1)多維性(2)易變性(3)多態性10/5/2023831.數據特征8/5/2023832.數據結構在數據結構的表示方面,現代應用的要求更高。(1)數據類型不僅要求能表達傳統的基本數據類型,如整型、實型和字符型等,還要求能表達更復雜的數據類型,如集合、向量、矩陣、時間類型和抽象數據類型等。10/5/2023842.數據結構8/5/202384(2)數據之間的聯系數據之間有了各種復雜的聯系,如n-元聯系;多種類型之間的聯系,如時間、空間、模態聯系;非顯式的聯系,如對象之間隱含的關系。10/5/202385(2)數據之間的聯系8/5/202385(3)數據的表示除了表示結構化、格式化的數據,還要表示非結構化、半結構化的數據,非格式、超格式的數據。10/5/202386(3)數據的表示8/5/2023863.數據的操作對數據的操作在現代應用中也表現出了新的特征,主要有:(1)數據操作的類型數據操作的類型不僅包含通常意義下的插入、刪除、修改和查詢,還要進行各種其他類型的特殊操作,如執行、領域搜索、瀏覽和時態查詢等。另外還要能夠進行用戶自己定義的操作。10/5/2023873.數據的操作8/5/202387(2)數據的互操作性要求數據對象可以在不同模式下的交互操作,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論