自考《數(shù)據(jù)庫系統(tǒng)原理》筆記課件_第1頁
自考《數(shù)據(jù)庫系統(tǒng)原理》筆記課件_第2頁
自考《數(shù)據(jù)庫系統(tǒng)原理》筆記課件_第3頁
自考《數(shù)據(jù)庫系統(tǒng)原理》筆記課件_第4頁
自考《數(shù)據(jù)庫系統(tǒng)原理》筆記課件_第5頁
已閱讀5頁,還剩254頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

自考04735

《數(shù)據(jù)庫系統(tǒng)原理》

筆記原創(chuàng);雷神2018-08-20自考《數(shù)據(jù)庫系統(tǒng)原理》筆記第一部分課程說明

《數(shù)據(jù)庫系統(tǒng)原理》課程學習目標:數(shù)據(jù)庫是計算機科學的一個重要研究領域,是專門研究數(shù)據(jù)處理、數(shù)據(jù)管理和數(shù)據(jù)分析的技術,從20世紀60年代末開始,經(jīng)過40多年的發(fā)展,已成為計算機軟件學科的一個重要分支。

《數(shù)據(jù)庫系統(tǒng)原理》課程的主要目的:使同學們了解數(shù)據(jù)庫的基本原理,掌握數(shù)據(jù)庫技術的基本方法和應用技術,能夠有效的使用現(xiàn)有的數(shù)據(jù)庫管理系統(tǒng),掌握數(shù)據(jù)庫結構的設計和數(shù)據(jù)庫應用系統(tǒng)的開發(fā)方式,同時能夠利用前端開發(fā)工具完成企業(yè)管理信息系統(tǒng)的開發(fā)。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記《數(shù)據(jù)庫系統(tǒng)原理》課程地位圖示B/S結構C/S結構瀏覽器端:HTML/CSS/JavaScript/VBScript服務器端:ASP(.NET)/PHP/JSPC/S結構:VB/VC/VC#/Delphi/Java/.NET系列數(shù)據(jù)庫支持:SQLServer/Oracle/Sybase/MySQL/Informix/Access兩大語法體系:Basic系:VB/VBScript/VBAC系:Java/JavaScript/C++/C#自考《數(shù)據(jù)庫系統(tǒng)原理》筆記參考教材介紹自學教材《數(shù)據(jù)庫系統(tǒng)原理》,全國高等教育自學考試指導委員會組編,丁寶康主編,經(jīng)濟科學出版社2007年版。本教材共分為9章,詳細介紹了數(shù)據(jù)庫系統(tǒng)的基本原理、方法和應用技術。內(nèi)容包括:數(shù)據(jù)庫系統(tǒng)基本概念(第一章)、數(shù)據(jù)庫的設計和ER模型(第二章)、關系模式設計理論(第三章)、關系運算(第四章)、SQL語言(第五章)、數(shù)據(jù)庫管理(第六章)、SQLServer2000簡介及應用(第七章)、PowerBuilder9.0簡介及應用(第八章)、數(shù)據(jù)庫的技術的發(fā)展(第九章)。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記第二部分內(nèi)容串講我們分章節(jié)進行串講,在串講每一章前我把本章的考核的目標和重點、難點做簡要說明。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記第一章數(shù)據(jù)庫基礎知識

學習目的與要求:本章屬于基礎知識,主要是對一些概念的理解和記憶。沒有難點,相對的重點是數(shù)據(jù)模型的四個層次,數(shù)據(jù)庫管理系統(tǒng)的功能,數(shù)據(jù)庫系統(tǒng)的全局結構。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記考核知識點與考核要求1.1數(shù)據(jù)管理技術的發(fā)展階段(識記)1.2數(shù)據(jù)描述的術語(領會)1.3數(shù)據(jù)抽象的級別(領會)1.4數(shù)據(jù)庫管理系統(tǒng)(DBMS)(領會)1.5數(shù)據(jù)庫系統(tǒng)(DBS)(領會)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記1.1數(shù)據(jù)管理技術的發(fā)展幾個數(shù)據(jù)庫的基本術語:數(shù)據(jù):描述事物的符號記錄數(shù)據(jù)處理:是指從某些已知的數(shù)據(jù)出發(fā),推導加工出一些新的數(shù)據(jù),這些新的數(shù)據(jù)又表示了新的信息。數(shù)據(jù)管理:是指數(shù)據(jù)的收集、整理、組織、存儲、維護、檢索、傳送等操作,這部分操作是數(shù)據(jù)處理業(yè)務的基本環(huán)節(jié),而且是任何數(shù)據(jù)處理業(yè)務中必不可少的共有部分。數(shù)據(jù)管理技術:對數(shù)據(jù)的收集、整理、組織、存儲、維護、檢索、傳送等操作,基本目的就是從大量的,雜亂無章的,難以理解的數(shù)據(jù)中篩選出有意義的數(shù)據(jù)。數(shù)據(jù)處理是與數(shù)據(jù)管理相聯(lián)系的,數(shù)據(jù)管理技術的優(yōu)劣,將直接影響數(shù)據(jù)處理的效率。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記1.1數(shù)據(jù)管理技術的發(fā)展1.人工管理階段(20世紀50年代中期以前)1)數(shù)據(jù)不保存在機器中;2)沒有專用軟件對數(shù)據(jù)進行管理;3)只有程序的概念,沒有文件的概念;4)數(shù)據(jù)面向程序。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

2.文件系統(tǒng)階段特點與缺陷(20世紀50年代后期至60年代中期)1)數(shù)據(jù)可長期保存在磁盤上;2)數(shù)據(jù)的邏輯結構與物理結構有了區(qū)別;3)文件組織呈現(xiàn)多樣化;4)數(shù)據(jù)不再屬于某個特定程序,可以重復使用;5)對數(shù)據(jù)的操作以記錄為單位。

文件系統(tǒng)三個缺陷:1)數(shù)據(jù)冗余性2)數(shù)據(jù)不一致性3)數(shù)據(jù)聯(lián)系弱自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

3.數(shù)據(jù)庫階段(20世紀60年代后~至今)數(shù)據(jù)管理技術進入數(shù)據(jù)庫階段的標志是20世紀60年代末三件大事:1)1968年美國IBM公司推出層次模型的IMS系統(tǒng);2)1969年美國CODASYL組織發(fā)布了DBTG報告??偨Y了當時各式各樣的數(shù)據(jù)庫,提出網(wǎng)狀模型,爾后于1971年4月正式通過。3)1970年美國IBM公司的E.F.Codd連續(xù)發(fā)表論文,提出關系模型,奠定了關系數(shù)據(jù)庫的理論基礎。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

數(shù)據(jù)庫管理階段特點:1)采用數(shù)據(jù)模型表示復雜的數(shù)據(jù)結構;2)有較高的數(shù)據(jù)獨立性;3)數(shù)據(jù)庫系統(tǒng)為用戶提供了方便的用戶接口。4)數(shù)據(jù)庫系統(tǒng)提供以下四個方面的數(shù)據(jù)控制功能:①數(shù)據(jù)庫的恢復;②數(shù)據(jù)庫的并發(fā)控制;③數(shù)據(jù)庫的完整性;④數(shù)據(jù)庫的安全性;5)增加了系統(tǒng)的靈活性。增加了系統(tǒng)的靈活性對數(shù)據(jù)的操作不一定以記錄為單位,可以以數(shù)據(jù)項為單位。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記數(shù)據(jù)庫技術中的四個名詞:DB、DBMS、DBS、數(shù)據(jù)庫技術。其概念是不同的,要分清。

DB:數(shù)據(jù)庫(Database)長期存儲在計算機內(nèi)、有組織的、統(tǒng)一管理的相關數(shù)據(jù)的集合。

DBMS:數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem),DBMS是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應用程序提供訪問DB的方法,包括DB的建立、查詢、更新及各種數(shù)據(jù)控制。DBMS總是基于某種數(shù)據(jù)模型,可以分為層次型、網(wǎng)狀型、關系型、面向對象型DBMS。

DBS:數(shù)據(jù)庫系統(tǒng)(DatabaseSystem),DBS是實現(xiàn)有組織地、動態(tài)地存儲大量關聯(lián)數(shù)據(jù),方便多用戶訪問的計算機軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng),即采用了數(shù)據(jù)庫技術的計算機系統(tǒng)。數(shù)據(jù)庫技術:是一門研究數(shù)據(jù)庫結構、存儲、管理和使用的一門軟件學科。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記4.高級數(shù)據(jù)庫階段:1)面向對象的概念建模2)開放數(shù)據(jù)庫互連技術自考《數(shù)據(jù)庫系統(tǒng)原理》筆記1.2數(shù)據(jù)描述在數(shù)據(jù)處理中,數(shù)據(jù)描述將涉及不同的范疇。從事物的特性到計算機中的具體表示,數(shù)據(jù)描述經(jīng)歷了三個階段———概念設計、邏輯設計和物理設計。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記1.概念設計中的的數(shù)據(jù)描述1)實體2)實體集3)屬性4)實體標識符2.邏輯設計中的數(shù)據(jù)描述1)字段2)記錄3)文件4)關鍵碼自考《數(shù)據(jù)庫系統(tǒng)原理》筆記3.物理設計中的數(shù)據(jù)描述物理存儲介質層次1)高速緩沖存儲器2)主存儲器3)快擦寫存儲器4)磁盤存儲器5)光盤存儲器6)磁帶物理存儲中的數(shù)據(jù)描述位、字節(jié)、字、塊、桶和卷。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記4.數(shù)據(jù)聯(lián)系的描述聯(lián)系及元數(shù)定義:二元聯(lián)系有以下三種類型:

1:1聯(lián)系:如果實體集E1中的每個實體最多只能和實體集E2中的一個實體有聯(lián)系,反之亦然,好么實體集E1對E2的聯(lián)系稱為“一對一聯(lián)系”,記為“1:1”。

1:N聯(lián)系:如果實體集E1中每個實體與實體集E2中任意個(零個或多個)實體有聯(lián)系,而E2中每個實體至多和E1中的一個實體有聯(lián)系,那么E1對E2的聯(lián)系是“一對多聯(lián)系”,記為“1:N”。

M:N聯(lián)系:如果實體集E1中每個實體與實體集E2中任意個(零個或多個)實體有聯(lián)系,反之亦然,那么E1對E2的聯(lián)系是“多對多聯(lián)系”,記為“M:N”。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記1.3數(shù)據(jù)抽象的級別1.數(shù)據(jù)抽象的過程根據(jù)抽象的級別定義了四種模型:1)概念數(shù)據(jù)模型2)邏輯數(shù)據(jù)模型3)外部數(shù)據(jù)模型4)內(nèi)部數(shù)據(jù)模型自考《數(shù)據(jù)庫系統(tǒng)原理》筆記2.概念模型1)四種模型中,概念模型的抽象級別最高。2)概念模型的特點:(p12)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記3.邏輯模型邏輯模型的特點:(p13)(1)~(4)邏輯模型的分類:1)層次模型2)網(wǎng)狀模型3)關系模型三種邏輯數(shù)據(jù)模型的比較?如P17圖自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

4.外部模型外部模型的特點:(p17)從整個系統(tǒng)考察,外部模型的優(yōu)點。

5.內(nèi)部模型是數(shù)據(jù)庫最底的抽象,它描述數(shù)據(jù)在磁盤或磁帶上的存儲方式、存取設備和存取方法。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

6.三層模式和兩級映象三層模式體系結構1)外模式:是用戶與數(shù)據(jù)庫系統(tǒng)的接口,是用戶用到的那部分數(shù)據(jù)的描述。2)邏輯模式:是數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結構的描述。3)內(nèi)模式:是數(shù)據(jù)庫在物理存儲方面的描述,定義所有內(nèi)部記錄類型、索引和文件的組織方式,以及數(shù)據(jù)控制方面的細節(jié)。

兩級映象外模式/邏輯模式映象:用于定義概念模式和內(nèi)模式之間的對應性。一般在內(nèi)模式中描述。

邏輯模式/內(nèi)模式映象:用于定義外模式和概念模式間的對應性。一般在外模式中描述。

自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

7.高度的數(shù)據(jù)獨立性什么叫數(shù)據(jù)獨立性?是指應用程序和數(shù)據(jù)庫的數(shù)據(jù)結構之間相互獨立,不受影響。在修改數(shù)據(jù)結構時,盡可能不修改應用程序,則稱系統(tǒng)達到了數(shù)據(jù)獨立性目標。數(shù)據(jù)獨立性分為物理數(shù)據(jù)獨立性和邏輯數(shù)據(jù)獨立性:物理數(shù)據(jù)獨立性:修改內(nèi)模式時盡量不影響概念模式及外模式,則達到物理數(shù)據(jù)獨立性。邏輯數(shù)據(jù)獨立性:修改概念模式時盡量不影響外模式和應用程序。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記1.4數(shù)據(jù)庫管理系統(tǒng)(DBMS)

1.DBMS的目標與任務:

數(shù)據(jù)庫管理系統(tǒng)的主要任務是完成用戶對數(shù)據(jù)庫的存取請求,即檢索、插入、更新或刪除等操作。

DBMS的目標:用戶界面友好、功能完善、結構清晰、高效率、開放性2.DBMS的工作模式(p20圖)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記3.DBMS的主要功能:1)數(shù)據(jù)庫的定義功能2)數(shù)據(jù)庫的操縱功能3)數(shù)據(jù)庫的保護功能(數(shù)據(jù)庫恢復、數(shù)據(jù)庫并發(fā)控制、數(shù)據(jù)庫完整性和數(shù)據(jù)庫安全性)4)數(shù)據(jù)庫的維護功能5)數(shù)據(jù)字典自考《數(shù)據(jù)庫系統(tǒng)原理》筆記1.5數(shù)據(jù)庫系統(tǒng)(DBS)1.DBS由四部分組成:數(shù)據(jù)庫、硬件、軟件、數(shù)據(jù)庫管理員。2.數(shù)據(jù)庫管理員定義及職責。(素質+職責)3.DBS的全局結構及DBS的效益。(數(shù)據(jù)庫用戶+界面+DBMS+磁盤+DBS的效益)本章結束自考《數(shù)據(jù)庫系統(tǒng)原理》筆記第二章數(shù)據(jù)庫設計和ER模型學習目的與要求:本章總的目的要求是了解和掌握數(shù)據(jù)庫應用系統(tǒng)設計的全過程。首先掌握ER模型和關系模型的基本概念,然后掌握概念設計中ER模型的設計方法,邏輯設計中ER模型向關系模型轉換方法。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記考核知識點與考核要求2.1數(shù)據(jù)庫系統(tǒng)生存期(領會)2.2ER模型的基本概念(綜合應用)2.3關系模型的基本概念(綜合應用)2.4ER模型到關系模型的轉換規(guī)則(綜合應用)2.5ER模型實例分析(簡單應用)2.6增強ER模型(簡單應用)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

從軟件生存期談起軟件生存期:是指從軟件的規(guī)劃、研制、實現(xiàn)、投入運行后的維護、直到它被新的軟件所取代而停止使用的整個期間。它包括六個階段:(規(guī)需設編試運維)

(1)規(guī)劃階段

(2)需求分析階段

(3)設計階段

(4)程序編制階段

(5)調試階段

(6)運行維護階段自考《數(shù)據(jù)庫系統(tǒng)原理》筆記2.1數(shù)據(jù)系統(tǒng)生存期

1.什么叫數(shù)據(jù)庫系統(tǒng)生存期?我們把數(shù)據(jù)庫應用系統(tǒng)從開始規(guī)劃、設計、實現(xiàn)、維護到最后被新的系統(tǒng)取代而停止使用的整個期間,稱為數(shù)據(jù)庫系統(tǒng)生存期。

2.這個生存期一般可劃分成以下七個階段:

規(guī)劃、需求分析、概念設計、邏輯設計、物理設計、實現(xiàn)、運行維護。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記2.2

ER模型的基本概念1.ER模型的基本元素實體、聯(lián)系和屬性2.屬性的分類(簡單屬性和復合屬性、單值屬性和多值屬性、存儲屬性和派生屬性)3.聯(lián)系的設計4.ER模型的操作(分裂、合并和增刪)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記5.采用ER模型的數(shù)據(jù)庫概念設計步驟采用ER方法進行數(shù)據(jù)庫概念設計分成三步進行:首先設計局部ER模式然后把各局部ER模式綜合成全局ER模式最后對全局ER模式進行優(yōu)化自考《數(shù)據(jù)庫系統(tǒng)原理》筆記2.3關系模型的基本概念1.關系模型定義:用二維表格結構表示實體集、外鍵表示實體間聯(lián)系的數(shù)據(jù)模型稱為關系模型。

2.基本術語有:字段(屬性)、字段值(屬性值)、記錄(元組)、二維表格(元組集合、關系或實例)。在這里,括號中的表述為關系模型中的術語。它與表格中術語可以一一對應。還有,關系中屬性個數(shù)稱為元數(shù),元組個數(shù)為基數(shù)。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

3.鍵:由一個或幾個屬性組成。(注意鍵不一定是唯一的一個屬性)。

1)超鍵:在關系中能唯一標識元組的屬性集稱為關系模式的超鍵。(注意,超鍵也是一個屬性集,不一定只是一個屬性)

2)候選鍵:不含有多余屬性的超鍵稱為候選鍵。

3)主鍵:用戶選作元組標識的一個候選鍵為主鍵。

4)外鍵:某個關系的主鍵相應的屬性在另一關系中出現(xiàn),此時該主鍵在就是另一關系的外鍵,如有兩個關系S和SC,其中S#是關系S的主鍵,相應的屬性S#在關系SC中也出現(xiàn),此時S#就是關系SC的外鍵。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記4.關系的定義和性質1)關系定義:關系是一個屬性數(shù)目相同的元組的集合。2)關系性質(p53)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

5.三類完整性規(guī)則1)實體完整性規(guī)則:要求關系中組成主鍵的屬性上不能有空值。

2)參照完整性規(guī)則:要求不引用不存在的實體。

3)用戶定義完整性規(guī)則:由具體應用環(huán)境決定,系統(tǒng)提供定義和檢驗這類完整性的機制。

自考《數(shù)據(jù)庫系統(tǒng)原理》筆記2.4

E-R模型向關系模型的轉換

E-R模型可以向現(xiàn)有的各種數(shù)據(jù)庫模型轉換,對不同的數(shù)據(jù)庫模型有不同的轉換規(guī)則。這里只討論E-R模型向關系模型的轉換方法。

1.E-R模型向關系模型的轉換規(guī)則:(1)實體類型的轉換將每個實體類型轉換成一個關系模式,實體的屬性即為關系的屬性,實體標識符即為關系的鍵。(2)聯(lián)系類型的轉換

1)實體間的聯(lián)系是1:1可以在兩個實體類型轉換成兩個關系模式中的任意一個關系模式的屬性中加入另一個關系模式的鍵和聯(lián)系類型的屬性。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記系關系模式(校名,地址,電話,系主任名,任職年月)系主任關系模式(姓名,性別,年齡,職稱)職稱11系主任系姓名性別年齡校名地址任職年月主管電話系主任關系模式(姓名,性別,年齡,職稱,學校名,任職年月)系關系模式(校名,地址,電話)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記N1工號年齡職工車間姓名性別車間號車間名電話聘用聘期

2)如實體間的聯(lián)系是1:N則在N端實體類型轉換成的關系模式中加入1端實體類型轉換成的關系模式的鍵和聯(lián)系類型的屬性。車間關系模式(車間號,車間名,電話)職工關系模式(工號,姓名,性別,年齡,車間號,聘期)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

3)如實體間的聯(lián)系是M:N則將聯(lián)系類型也轉換成關系模式,其屬性為兩端實體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實體鍵的組合。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記學生關系模式S(S#,SNAME,AGE,SEX)課程關系模式C(C#,CNAME,TEACHE-R)GRADESCMNSS#SNAMEAGESEXCC#CNAMETEACHE-R學生課程關系模式SC(S#,C#,GRADE)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記以上各轉換規(guī)則,給出了一般情況下E-R模型向關系模型的轉換方法。但在實際應用中往往還需要根具實際情況進行具體處理。下面以圖書借閱系統(tǒng)的E-R模型轉換為關系模型為例。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記借期借閱MN讀者編號姓名讀者類型已借數(shù)量圖書編號書名出版社還期自考《數(shù)據(jù)庫系統(tǒng)原理》筆記該例中,由于允許同一本書在不同的時間借給多個讀者,特別是一個讀者在不同的時間可以借同一本書。因而,在多對多聯(lián)系“借閱”轉換為關系模式時,僅有讀者的編號和圖書的編號是不能構成碼的。例如:(,F(xiàn)33.33,2006-10-10:10:10,2007-02-20:3:00)(,F33.33,2007-5-26:4:00,NULL)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記借期借閱MN讀者編號姓名讀者類型已借數(shù)量圖書編號書名出版社還期讀者關系模式讀者(編號,書名,出版社,出版日期,定價)讀者圖書關系模式借閱

(讀者編號,圖書編號,借期,還期)圖書關系模式圖書(編號,姓名,讀者類型,已借數(shù)量)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記說明,按照上述介紹的轉換方法得到的關系模型不一定是最好的。實際應用中,往往還要對得到的關系模型進行規(guī)范化。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記2.5和2.6實例分析,同學們多看書!1.庫存管理系統(tǒng)的ER模型及轉換2.人事管理信息系統(tǒng)的ER模型3.住院管理信息系統(tǒng)的ER模型4.公司車隊信息系統(tǒng)的ER模型本章結束自考《數(shù)據(jù)庫系統(tǒng)原理》筆記第三章關系模式設計理論學習目的與要求:本章特點是理論性較強,學習者應從概念著手,搞清概念間的聯(lián)系和作用。本章總的要求是:了解關系數(shù)據(jù)庫規(guī)范化理論及其在數(shù)據(jù)庫設計中的作用。本章的重點是函數(shù)依賴、無損分解、保持依賴和范式。掌握這些概念并能運用它們分析模式分解的特點。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記考核知識點與考核要求

3.1關系模式的設計準則(簡單應用)

3.2函數(shù)依賴(FD)(簡單應用)

3.3關系模式的分解特性(簡單應用)

3.4范式

1NF、2NF、3NF(簡單應用)BCNF(領會)

分解成BCNF模式集的“分解算法”(識記)分解成3NF模式集的“合成算法”(綜合應用)模式設計方法小結(領會)

3.5多值依賴和第四范式(識記)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記3.1關系模式的設計準則1.關系模式的冗余和異常問題1)數(shù)據(jù)冗余2)操作異常(修改異常、插入異常和刪除異常)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

2.關系模式的非形式化設計準則1)關系模式的設計應盡可能只包含有直接聯(lián)系的屬性,不包括有間接聯(lián)系的屬性2)關系模式的設計應盡可能使得相應關系中不出現(xiàn)插入、刪除和修改異常。3)關系模式的設計應盡可能使得相應關系中避免放置經(jīng)常為空值的屬性。4)關系模式的設計應盡可能使得關系的等值連接在主鍵和外鍵的屬性上進行,并且保證連接以后不會生成額外的元組。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記3.2函數(shù)依賴

1.函數(shù)依賴的定義設有關系模式R(A1,A2,...An)或簡記為R(U),X,Y是U的子集,r是R的任一具體關系,如果對r的任意兩個元組t1,t2,由t1[X]=t2[X]導致t1[Y]=t2[Y],則稱X函數(shù)決定Y,或Y函數(shù)依賴于X,記為X→Y。X→Y為模式R的一個函數(shù)依賴。

這個定義可以這樣理解:有一張設計好的二維表,X,Y是表的某些列(可以是一列,也可以是多列),若在表中的第t1行,和第t2行上的X值相等,那么必有t1行和t2行上的Y值也相等,這就是說Y函數(shù)依賴于X。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

2.函數(shù)依賴的邏輯蘊涵設F是關系模式R的一個函數(shù)依賴集,X,Y是R的屬性子集,如果從F中的函數(shù)依賴能夠推出X→Y,則稱F邏輯蘊涵X→Y,記為F|=X→Y。而函數(shù)依賴的閉包F+是指被F邏輯蘊涵的函數(shù)依賴的全體構成的集合。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

3.鍵和FD的關系鍵是唯一標識實體的屬性集。對于鍵和函數(shù)依賴的關系:有兩個條件:設關系模式R(A1,A2...An),F(xiàn)是R上的函數(shù)依賴集,X是R的一個子集:

1

X→A1A2...An∈F+(它的意思是X能夠決定唯一的一個元組)

2

不存在X的真子集Y,使得Y也能決定唯一的一個元組,則X就是R的一個候選鍵。(它的意思是X能決定唯一的一個元組但又沒有多余的屬性集)包含在任何一個候選鍵中的屬性稱為主屬性,不包含在任何鍵中的屬性為非主屬性(非鍵屬性),(注意)

主屬性應當包含在候選鍵中。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

4.函數(shù)依賴(FD)的推理規(guī)則前面我們舉的例子中是以實際經(jīng)驗來確定一個函數(shù)依賴的邏輯蘊涵,但是我們需要一個推理規(guī)則才能完全確定F或F+的所有函數(shù)依賴。設有關系模式R(U),X,Y,Z,W均是U的子集,F(xiàn)是R上只涉及到U中屬性的函數(shù)依賴集,推理規(guī)則如下:

A1

自反性:如果YXU,則X→Y在R上成立。

A2

增廣性:如果X→Y為F所蘊涵,ZU,則XZ→YZ在R上成立。(XZ表示X∪Z,下同)

A3

傳遞性:如果X→Y和Y→Z在R上成立,則X→Z在R上成立。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記A4

合并性:如果X→Y和X→Z成立,那么X→YZ成立。A6

分解性:如果X→Y和ZY成立,那么X→Z成立。A5

偽傳性:如果X→Y和WY→Z成立,那么WX→Z成立。A7

復合性:{X→Y,W→Z}|=XW→YZ。A8

通用一致性定理:{X→Y,W→Z}|=x∪(X-Y)→YZ。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

5.函數(shù)依賴推理規(guī)則的完備性函數(shù)依賴推理規(guī)則系統(tǒng)(自反性、增廣性和傳遞性)是完備的。由推理規(guī)則的完備性可得到兩個重要結論:

1

屬性集X+

中的每個屬性A,都有X→A被F邏輯蘊涵,即X+

是所有由F邏輯蘊含X→A的屬性A的集合。

2

F+是所有利用Amstrong推理規(guī)則從F導出的函數(shù)依賴的集合。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

6.函數(shù)依賴集的等價和覆蓋在關系模式R(U)上的兩個函數(shù)依賴集F和G,如果滿足F+=G+

,則稱F和G是等價的,稱F和G等價也稱F覆蓋G或G覆蓋F。每個函數(shù)依賴集F都可以被一個右部只有單屬性的函數(shù)依賴集G所覆蓋。如果函數(shù)依賴集合F滿足:

(1)F中每一個函數(shù)依賴的右部都是單屬性;

(2)F中的任一函數(shù)依賴X→A,其F-{X→A}是不等價的;

(3)F中的任一函數(shù)依賴X→A,Z為X的子集。(F-{X→A})∪{Z→A}與F不等價。則稱F為最小函數(shù)依賴集合。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記如果函數(shù)依賴集F和G等價,并且G是最小集,那么稱G是F的一個最小覆蓋。這一段并不要求掌握最小集的求法,但是應當通過其求法理解最小集的概念。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記3.3關系模式分解特性

1.模式分解中存在的問題

模式分解就是將一個泛關系模式R分解成數(shù)據(jù)庫模式ρ,以ρ代替R的過程。它不僅僅是屬性集合的分解,它是對關系模式上的函數(shù)依賴集、以及關系模式的當前值分解的具體表現(xiàn)。分解一個模式有很多方法,但是有的分解會出現(xiàn)失去函數(shù)依賴、或出現(xiàn)插入、刪除異常等情況,而有的分解則不出現(xiàn)相關問題。衡量一個分解的標準有三種:分解具有無損聯(lián)接;分解要保持函數(shù)依賴;分解既要保持依賴,又要具有無損聯(lián)接。那么什么是無損聯(lián)接呢?什么又是保持依賴?自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

2.無損聯(lián)接的定義和性質設R是一關系模式,分解成ρ={R1,R2,...,Rk},F(xiàn)是R上的一個函數(shù)依賴集。無損聯(lián)接就是指R中每一個滿足F的關系r(也就是一個關系實例)都有r=πR1(r)|X|πR2(r)...|X|πR3(r),即r為它在Ri上的投影的自然聯(lián)接。

最簡單的理解,也就是說,分解后的關系自然連接后完全等于分解前的關系,則這個分解相對于F是無損聯(lián)接分解。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記設R的分解為ρ={R1,R2},F為R所滿足的函數(shù)依賴集,則分解ρ具有無損聯(lián)接性的充分必要條件是:

R1∩R2→(R1-R2)

R1∩R2→(R2-R1)也就是說,分解后的兩個模式的交能決定這兩個模式的差集,即R1、R2的公共屬性能夠函數(shù)決定R1或R2中的其他屬性,這樣的分解就必定是無損聯(lián)接分解。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

3.保持函數(shù)依賴的分解在分解過程中,要求模式分解的無損聯(lián)接是必要的,只有無損聯(lián)接分解才能保證任何一個關系能由它的那些投影進行自然聯(lián)接得到恢復。同時,分解關系模式時還應保證關系模式的函數(shù)依賴集在分解后仍在數(shù)據(jù)庫模式中保持不變,這就是保持函數(shù)依賴的問題。也就是所有分解出的模式所滿足的函數(shù)依賴的全體應當?shù)葍r于原模式的函數(shù)依賴集。只有這樣才能確保整個數(shù)據(jù)庫中數(shù)據(jù)的語義完整性不受破壞。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記3.4范式

1.1NF、2NF、3NF、BCNF的定義:

1NF:第一范式即關系模式中的屬性的值域中每一個值都是不可再分解的值。如果某個數(shù)據(jù)庫模式都是第一范式的,則稱該數(shù)據(jù)庫模式是屬于第一范式的數(shù)據(jù)庫模式。

2NF:第二范式如果關系模式R為第一范式,并且R中每一個非主屬性完全函數(shù)依賴于R的某個候選鍵,則稱為第二范式模式。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記非主屬性、完全函數(shù)依賴、候選鍵三個名詞的含義。候選鍵就是指可以唯一決定關系模式R中某元組值且不含有多余屬性的屬性集。非主屬性也就是非鍵屬性,指關系模式R中不包含在任何建中的屬性。設有函數(shù)依賴W→A,若存在X?W,有X→A成立,那么稱W→A是局部依賴,否則就稱W→A是完全函數(shù)依賴。

在分析是否為第2范式時,應首先確定候選鍵,然后把關系模式中的非主屬性與鍵的依賴關系進行考察,是否都為完全函數(shù)依賴,如是,則此關系模式為2NF。如果數(shù)據(jù)庫模式中每個關系模式都是2NF的,則此數(shù)據(jù)庫模式屬于2NF的數(shù)據(jù)庫模式。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

3NF:第三范式如果關系模式R是第二范式,且每個非主屬性都不傳遞依賴于R的候選鍵,則稱R為第三范式的模式。這里首先要了解傳遞依賴的含義:在關系模式中,如果Y→X,X→A,且X不決定Y和A不屬于X,那么Y→A是傳遞依賴。注意的是,這里要求非主屬性都不傳遞依賴于候選鍵。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

BCNF:這個范式和第三范式有聯(lián)系,它是3NF的改進形式。若關系模式R是第一范式,且每個屬性都不傳遞依賴于R的候選鍵。這種關系模式就是BCNF模式。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記縱觀四種范式,可以發(fā)現(xiàn)它們之間存在如下關系:自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

5.分解成BCNF模式集的算法對于任一關系模式,可找到一個分解達到3NF,且具有無損聯(lián)接和保持函數(shù)依賴性。而對于BCNF分解,則可以保證無損聯(lián)接但不一定能保證保持函數(shù)依賴集。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記無損聯(lián)接分解成BCNF模式集的算法:

(1)置初值ρ={R};

(2)如果ρ中所有關系模式都是BCNF,則轉(4);

(3)如果ρ中有一個關系模式S不是BCNF,則S中必能找到一個函數(shù)依賴集X→A有X不是S的鍵,且A不屬于X,設S1=XA,S2=S-A,用分解S1,S2代替S,轉(2);

(4)分解結束。輸出ρ。在這個過程中,重點在于(3)步,判斷哪個關系不是BCNF,并找到X和A。這里,S的判斷用BCNF的定義,而X不是S的鍵則依靠分析。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

6.分解成3NF模式集算法:

(1)如果R中的某些屬性在F的所有依賴的左邊和右邊都不出現(xiàn),那么這些屬性可以從R中分出去,單獨構成一個關系模式。

(2)如果F中有一個依賴X→A有XA→R,則ρ={R},轉(4)

(3)對于F中每一個X→A,構成一個關系模式XA,如果F有有X→A1,X→A2...X→An,則可以用模式XA1A2...An代替n個模式XA1,XA2...XAn;

(4)w分解結束,輸入ρ。這個過程的重點是這一句“對于F中每一個X→A,構成一個關系模式XA”,這使我們的分解十分容易,然后依據(jù)合并律(合并律:如果X→Y和X→Z成立,那么X→YZ成立)將有關模式合并即得到所需3NF模式。

自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

7.模式設計方法的原則關系模式R相對于函數(shù)依賴集F分解成數(shù)據(jù)庫模式ρ={R1,R2...Rk},一般具有下面四項特性:

ρ中每個關系模式Ri上應具有某種范式性質(3NF或BCNF)無損聯(lián)接性。保持函數(shù)依賴集。最小性,即ρ中模式個數(shù)應最少且模式中屬性總數(shù)應最少。一個好的模式設計方法應符合下列三條原則:表達性分離性最小冗余性自考《數(shù)據(jù)庫系統(tǒng)原理》筆記8.多值依賴與第四范式(4NF)

例:學校中某一門課程由多個教師講授,他們使用相同的一套參考書。關系模式Teaching(C,T,B)課程C、教師T和參考書B自考《數(shù)據(jù)庫系統(tǒng)原理》筆記………課程C教員T參考書B

物理

數(shù)學

計算數(shù)學李勇王軍

李勇張平

張平周峰

普通物理學光學原理物理習題集

數(shù)學分析微分方程高等代數(shù)

數(shù)學分析

表5.1自考《數(shù)據(jù)庫系統(tǒng)原理》筆記普通物理學光學原理物理習題集普通物理學光學原理物理習題集數(shù)學分析微分方程高等代數(shù)數(shù)學分析微分方程高等代數(shù)…李勇李勇李勇王軍王軍王軍李勇李勇李勇張平張平張平…物理物理物理物理物理物理數(shù)學數(shù)學數(shù)學數(shù)學數(shù)學數(shù)學…參考書B教員T課程C用二維表表示Teaching自考《數(shù)據(jù)庫系統(tǒng)原理》筆記多值依賴與第四范式

Teaching∈BCNF:

Teach具有唯一候選碼(C,T,B),即全碼

Teaching模式中存在的問題(1)數(shù)據(jù)冗余度大:有多少名任課教師,參考書就要存儲多少次。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記(2)插入操作復雜:當某一課程增加一名任課教師時,該課程有多少本參照書,就必須插入多少個元組。例如物理課增加一名教師劉關,需要插入兩個元組:(物理,劉關,普通物理學)(物理,劉關,光學原理)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記(3)刪除操作復雜:某一門課要去掉一本參考書,該課程有多少名教師,就必須刪除多少個元組。(4)修改操作復雜:某一門課要修改一本參考書,該課程有多少名教師,就必須修改多少個元組。

產(chǎn)生原因存在多值依賴。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記1)多值依賴設R(U)是一個屬性集U上的一個關系模式,X、Y和Z是U的子集,并且Z=U-X-Y,多值依賴

X→→Y成立當且僅當對R的任一關系r,r在(X,Z)上的每個值對應一組Y的值,這組值僅僅決定于X值而與Z值無關。例Teaching(C,T,B)對于C的每一個值,T有一組值與之對應,而不論B取何值。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記2)第四范式(4NF)關系模式R<U,F(xiàn)>∈1NF,如果對于R的每個非平凡多值依賴X→→Y(Y

X),X都含有候選碼,則R∈4NF。如果R∈4NF,則R∈BCNF不允許有非平凡且非函數(shù)依賴的多值依賴允許的是函數(shù)依賴(是非平凡多值依賴)本章結束自考《數(shù)據(jù)庫系統(tǒng)原理》筆記第四章關系運算學習目的與要求:本章總的要求是:深刻理解關系模型的運算理論,了解查詢優(yōu)化的意義和啟發(fā)式優(yōu)化算法。本章的重點是關系代數(shù)運算,應熟練掌握。關系演算是本章的難點。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記考核知識點和考核要求

4.1關系代數(shù)

4.1.1關系代數(shù)的五個基本操作(并、差、笛卡兒積、投影、選擇)(綜合運用)

4.1.2關系代數(shù)的四個組合操作(交、連接、自然連接、除法)(綜合運用)

4.1.3關系代數(shù)表達式的應用(綜合運用)

4.1.4關系代數(shù)的兩個擴充操作(外連接、外部并)(領會)

4.2關系演算

4.2.1元組關系演算的定義及表達式的含義(簡單應用)

4.2.2域關系演算的定義及表達式的含義(領會)

4.2.3關系運算的安全約束和等價性(領會)

4.3關系代數(shù)表達式的優(yōu)化(領會)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記關系模型有三個重要組成部分:1)數(shù)據(jù)結構2)數(shù)據(jù)操縱3)數(shù)據(jù)完整性規(guī)則關系查詢語言根據(jù)其理論基礎的不同分成兩類:1)關系代數(shù)語言2)關系演算語言自考《數(shù)據(jù)庫系統(tǒng)原理》筆記4.1關系代數(shù)

1.關系代數(shù)的五個基本操作:并、差、笛卡爾積、投影和選擇。并(∪):兩個關系需有相同的關系模式,并的對象是元組,由兩個關系所有元組構成。差(-):同樣,兩個關系有相同的模式,R和S的差是由屬于R但不屬于S的元組構成的集合。笛卡兒積(×):對于兩個關系作運算,列:(n+m)列的元組的集合,元組的前n列是關系R的一個元組后m列是關系S的一個元組,行:k1×k2個元組。投影(σ):對關系進行垂直分割,消去某些列,并重新安排列的順序。選擇(π):根據(jù)某些條件關系作水平分割,即選擇符合條件的元組。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

2.關系代數(shù)的四個組合操作:交、聯(lián)接、自然聯(lián)接和除法交(∩):R和S的交是由既屬于R又屬于S的元組構成的集合。聯(lián)接包括θ聯(lián)接和F聯(lián)接,是選擇R×S中滿足iθ(r+j)或F條件的元組構成的集合,特別注意等值聯(lián)接(θ為等號“=”)。自然聯(lián)接(R|X|S):在R×S中,選擇R和S公共屬性值均相等的元組,并去掉R×S中重復的公共屬性列。如果兩個關系沒有公共屬性,則自然聯(lián)接就轉化為笛卡爾積。除法(÷):首先除法的結果中元數(shù)為兩個元數(shù)的差,可以直接用觀察法來得到結果,把S看作一個塊,拿到R中去和相同屬性集中的元組作比較,如果有相同的塊,且除去此塊后留下的相應元組均相同,那么可以得到一條元組,所有這些元組的集合就是除法的結果。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記對于上述的五個基本操作和組合操作,應當從實際運算方面進行理解和運用,對其形式定義可不必深究。注意課本上的例子。

關系代數(shù)運算的三個要素:運算對象:關系運算結果:關系運算符:四類自考《數(shù)據(jù)庫系統(tǒng)原理》筆記集合運算符將關系看成元組的集合運算是從關系的“水平”方向即行的角度來進行專門的關系運算符不僅涉及行而且涉及列算術比較符輔助專門的關系運算符進行操作邏輯運算符輔助專門的關系運算符進行操作自考《數(shù)據(jù)庫系統(tǒng)原理》筆記廣義笛卡爾積(ExtendedCartesianProduct)Rn目關系,k1個元組Sm目關系,k2個元組R×S

列:(n+m)列的元組的集合元組的前n列是關系R的一個元組后m列是關系S的一個元組行:k1×k2個元組R×S={tr

ts|tr

R∧ts

S}自考《數(shù)據(jù)庫系統(tǒng)原理》筆記ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR×S

ABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1自考《數(shù)據(jù)庫系統(tǒng)原理》筆記選擇(Selection)

1)選擇又稱為限制(Restriction)

2)選擇運算符的含義在關系R中選擇滿足給定條件的諸元組

σF(R)={t|t

R∧F(t)='真'}

F:選擇條件,是一個邏輯表達式,基本形式為:

[(]

X1θY1[)][φ[(]X2θY2[)]]…

θ:比較運算符(>,≥,<,≤,=或<>)

X1,Y1等:屬性名、常量、簡單函數(shù);屬性名也可以用它的序號來代替;

φ:邏輯運算符(∧或∨)

[]:表示任選項

…:表示上述格式可以重復下去自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

3)選擇運算是從行的角度進行的運算

4)舉例設有一個學生-課程數(shù)據(jù)庫,包括學生關系Student、課程關系Course和選修關系SC。σ自考《數(shù)據(jù)庫系統(tǒng)原理》筆記學號Sno姓名Sname性別Ssex年齡Sage所在系Sdept95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19IS(a)

Student自考《數(shù)據(jù)庫系統(tǒng)原理》筆記(b)Course課程號課程名先行課學分CnoCnameCpnoCcredit1數(shù)據(jù)庫542數(shù)學

23信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結構746數(shù)據(jù)處理

27PASCAL語言64自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

(c)SC學號課程號成績SnoCnoGrade9500119295001285950013889500229095002380自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

[例1]查詢信息系(IS系)全體學生

σSdept

='IS'(Student) 或σ5='IS'(Student)結果:SnoSnameSsexSageSdept95002劉晨女19IS95004張立男19IS自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

[例2]查詢年齡小于20歲的學生

σSage<20(Student)或σ4<20(Student)結果:SnoSnameSsexSageSdept95002劉晨女19IS95003王敏女18MA95004張立男19IS

自考《數(shù)據(jù)庫系統(tǒng)原理》筆記投影(Projection)

1)投影運算符的含義從R中選擇出若干屬性列組成新的關系

πA(R)={t[A]|t

R}

A:R中的屬性列自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

2)投影操作主要是從列的角度進行運算但投影之后不僅取消了原關系中的某些列,而且還可能取消某些元組(避免重復行)π自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

3)舉例

[例3]查詢學生的姓名和所在系即求Student關系上學生姓名和所在系兩個屬性上的投影

πSname,Sdept(Student)或π2,5(Student)結果:自考《數(shù)據(jù)庫系統(tǒng)原理》筆記SnameSdept李勇CS劉晨IS王敏MA張立IS自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

[例4]查詢學生關系Student中都有哪些系

πSdept(Student)結果:SdeptCSISMA自考《數(shù)據(jù)庫系統(tǒng)原理》筆記連接(Join)

1)連接也稱為θ連接

2)連接運算的含義從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組

RS={|tr

R∧ts

S∧tr[A]θts[B]}

A和B:分別為R和S上度數(shù)相等且可比的屬性組

θ:比較運算符

連接運算從R和S的廣義笛卡爾積R×S中選?。≧關系)在A屬性組上的值與(S關系)在B屬性組上值滿足比較關系的元組。

AθBtrts自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

3)兩類常用連接運算等值連接(equijoin)什么是等值連接

θ為“=”的連接運算稱為等值連接等值連接的含義從關系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為:

RS={|tr

R∧ts

S∧tr[A]=ts[B]}A=Btrts自考《數(shù)據(jù)庫系統(tǒng)原理》筆記自然連接(Naturaljoin)什么是自然連接自然連接是一種特殊的等值連接兩個關系中進行比較的分量必須是相同的屬性組在結果中把重復的屬性列去掉自然連接的含義

R和S具有相同的屬性組B

R

S={|tr

R∧ts

S∧tr[B]=ts[B]}trts自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

4)一般的連接操作是從行的角度進行運算。自然連接還需要取消重復列,所以是同時從行和列的角度進行運算。

AθBRS自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

5)舉例

[例5]ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RS自考《數(shù)據(jù)庫系統(tǒng)原理》筆記R

S

AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310

C<E自考《數(shù)據(jù)庫系統(tǒng)原理》筆記等值連接R

SR.B=S.B

AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

自然連接R

S

ABCEa1b153a1b267a2b3810a2b382自考《數(shù)據(jù)庫系統(tǒng)原理》筆記外連接例:列出老師的有關信息,包括姓名、工資、所教授的課程∏P#,PN,SAL,C#,CN((PROF)PCC)500李三P04600700800SAL孫立P03錢廣P02趙明P01PNP#化學C03數(shù)學C02物理C01CNC#P04C02P02C02P01C01P#C#數(shù)學C02500李三P04數(shù)學C02700錢廣P02物理C01800趙明P01CNC#SALPNP#問題:有關P03號職工的姓名和工資信息沒有顯示出來自考《數(shù)據(jù)庫系統(tǒng)原理》筆記外連接為避免自然連接時因失配而發(fā)生的信息丟失,可以假定往參與連接的一方表中附加一個取值全為空值的行,它和參與連接的另一方表中的任何一個未匹配上的元組都能匹配,稱之為外連接外連接=自然連接+失配的元組外連接的形式:左外連接、右外連接、全外連接左外連接=自然連接+左側表中失配的元組右外連接=自然連接+右側表中失配的元組全外連接=自然連接+兩側表中失配的元組自考《數(shù)據(jù)庫系統(tǒng)原理》筆記500李三P04600700800SAL孫立P03錢廣P02趙明P01PNP#化學C03數(shù)學C02物理C01CNC#P04C02P02C02P01C01P#C#數(shù)學C02500李三P04數(shù)學C02700錢廣P02物理C01800趙明P01CNC#SALPNP#所有老師的信息自考《數(shù)據(jù)庫系統(tǒng)原理》筆記500李三P04600700800SAL孫立P03錢廣P02趙明P01PNP#化學C03數(shù)學C02物理C01CNC#P04C02P02C02P01C01P#C#數(shù)學C02500李三P04數(shù)學C02700錢廣P02物理C01800趙明P01CNC#SALPNP#所有課程的信息自考《數(shù)據(jù)庫系統(tǒng)原理》筆記500李三P04600700800SAL孫立P03錢廣P02趙明P01PNP#化學C03數(shù)學C02物理C01CNC#P04C02P02C02P01C01P#C#數(shù)學C02500李三P04數(shù)學C02700錢廣P02物理C01800趙明P01CNC#SALPNP#所有老師和課程的信息自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

重要內(nèi)容分析1.(1)一般規(guī)則對于只涉及到選擇、投影、聯(lián)接的查詢可用下列表達式表示:

π…(σ…(R×S)) 或者π…(σ…(R?S))對于否定的操作,一般要用差操作表示,例如“檢索不學C2課的學生姓名”。對于檢索具有“全部”特征的操作,一般要用除法操作表示,例如“檢索學習全部課程的學生姓名”。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

(2)“檢索不學C2課的學生姓名”,決不能用下式表示:

πSNAME,AGE(σC#≠'C2'(S?SC))一定要用“差”的形式:

πSNAME,AGE(S)-πSNAME,AGE(σC#='C2'(S?SC))(3)“檢索學習全部課程的學生學號”,要用πS#,C#(SC)÷πC#(C)表示,而不能寫成 πS#(SC÷πC#(C))形式。這是因為一個學生學的課程的成績可能是不一樣的。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

2.非過程性語言與過程性語言的區(qū)別編程時必須指出“干什么”及“怎么干”的語言,稱為過程性語言;編程時只須指出“干什么”,不必指出“怎么干”的語言,稱為非過程性語言。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記4.2關系演算把數(shù)理邏輯的謂詞演算引入關系運算中,就可得到以關系演算為基礎的運算。關系演算分為元組關系演算或域關系演算,前者以元組為變量,后者以域為變量。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記元組關系演算形式化定義{t|P(t)}表示所有使謂詞P為真的元組集合

t為元組變量如果元組變量前有“全稱”(

)或“存在”(

)量詞,則稱其為約束變量,否則稱為自由變量。

P是公式由原子公式和運算符組成自考《數(shù)據(jù)庫系統(tǒng)原理》筆記原子公式s∈Rs是關系R中的一個元組s[x]

u[y]s[x]與u[y]為元組分量,他們之間滿足比較關系

s[x]

c分量s[x]與常量c之間滿足比較關系

自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

公式的遞歸定義原子公式是公式如果P是公式,那么┑P也是公式如果P1,P2是公式,則P1

P2,

P1

P2,P1

P2也是公式如果P(t)是公式,R是關系,則

t

R(P(t))和t

R(P(t))

也是公式。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記公式的等價性P1

P2

┑(┑P1

┑P2)

t

R(P(t))

t

R(┑P(t))P1

P2

┑P1

P2pq┑ppq┑p

qTTFTTTFFFFFTTTTFFTTT自考《數(shù)據(jù)庫系統(tǒng)原理》筆記ABC123456789ABC123346569RSABC346569{t|t

St[A]>2}ABC456789{t|t

R

┑t

S}自考《數(shù)據(jù)庫系統(tǒng)原理》筆記ABC123346{t|tS

u

R(t[C]<u[B])}ABC456789{t|t

R

u

S(t[C]<u[A])}R.BS.CR.A534837867897{t|v

S(

u

R(u[A]>v[B]t[A]=u[B]t[B]=v[C]t[C]=u[A]))}自考《數(shù)據(jù)庫系統(tǒng)原理》筆記表達式的安全性元組關系演算有可能會產(chǎn)生無限關系,這樣的表達式是不安全的。如{t|┑(t

R)},求所有不在R中的元組引入公式P的域概念,用dom(P)表示

dom(P)=顯式出現(xiàn)在P中的值+在P中出現(xiàn)的關系的元組中出現(xiàn)的值(不必是最小集)如dom(t|┑(t

R))是R中出現(xiàn)的所有值的集合如果出現(xiàn)在表達式{t|P(t)}結果中的所有值均來自dom(P),則稱{t|P(t)}是安全的。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記ABA1B1A1B2A2B3dom(┑(t

R))={{A1,A2},{B1,B2,B3}}ABA1B3A2B1A2B2R{t|┑(t

R)}自考《數(shù)據(jù)庫系統(tǒng)原理》筆記示例:找出工資在800元以上的老師{t|t

PROF

t[SAL]>800}找出工資在800元以上的老師的姓名

{t|sPROF(t[PNAME]s[PNAME]

s[SAL]>800)}給出計算機系老師的姓名

{t|uDEPT(u[DNAME]=“計算機系”

sPROF(s[DNO]=u[DNO]

t[PNAME]s[PNAME]))}自考《數(shù)據(jù)庫系統(tǒng)原理》筆記求選修了全部課程的學生號{t|uC(sSC(s[CNO]=u[CNO]

t[SNO]s[SNO]))}求選修了張軍同學所選修的全部課程的學生姓名課程,張軍選之

所求同學選之{t|uC(sSCwS(s[CNO]=u[CNO]

w[SNO]s[SNO]w[SNAME]=“張軍”

))自考《數(shù)據(jù)庫系統(tǒng)原理》筆記元組關系演算與關系代數(shù)的等價性投影∏A(R)={t|

s

R(s[A]=t[A])}選擇

F(A)(R)={t|t

R

F(t[A])}廣義笛卡兒積R(A)

S(B)={t|uRsS(t[A]=u[A]

t[B]=s[B])}并

R

S={t|t

R

tS}交

R

S={t|t

R

┑tS}自考《數(shù)據(jù)庫系統(tǒng)原理》筆記域關系演算形式化定義{<x1,

x2,…,xn>|P(x1,

x2,…,xn

)}xi代表域變量,P為由原子構成的公式原子公式

<x1,

x2,…,xn>R

xi是域變量或域常量

x

y域變量x與y之間滿足比較關系

x

c域變量x與常量c之間滿足比較關系

自考《數(shù)據(jù)庫系統(tǒng)原理》筆記ABC123456789ABC123346569RSABC456R1={<x,y,z>|<x,y,z>R

x<5y>3}ABC123456789346R2={<x,y,z>|<x,y,z>R

(<x,y,z>S

y=4)}DE7548WBDA574877847R2={<x,y,z>|(

u)(v)(<z,x,u>R

<y,v>W

u>v)}自考《數(shù)據(jù)庫系統(tǒng)原理》筆記示例:找出工資在800元以上的老師{<a,b,c,d,e>|<a,b,c,d,e>

PROF

e>800}找出工資在800元以上的老師的姓名{<b>|

a,c,d,e(<a,b,c,d,e>

PROF

e>800

)}自考《數(shù)據(jù)庫系統(tǒng)原理》筆記4.3關系代數(shù)表達式的優(yōu)化問題

目的在關系代數(shù)中找一種好的操作步驟,既省空間,查詢效率又比較高。在關系代數(shù)中,笛卡兒積和聯(lián)結運算是最費時間和空間的,在關系很大的時候,必須要考慮怎樣做才能合理的安排,做到省時省力。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記一個例子設關系R和S都是二元關系,屬性名分別是A、B和C、D。那么如下查詢:E1=πA(σB=C

D=‘99’(R×S))也可以是

E2=πA(σB=C(

R×σD=‘99’(S))或E3=πA(RσD=‘99’(S))B=C自考《數(shù)據(jù)庫系統(tǒng)原理》筆記這三個代數(shù)表達式的等價的,但是執(zhí)行的效率不一樣。第一種:先做笛卡兒積。假設每個物理塊可以存儲R的B1個元組,或者S的B2個元組,R關系中有n1個元組,S關系中有n2個元組,內(nèi)存每次只能裝載m塊數(shù)據(jù)。在做聯(lián)接的時候先把R的第一個m-1塊數(shù)據(jù)裝入內(nèi)存,然后逐個調入S中的數(shù)據(jù)塊;

R中的每個數(shù)據(jù)塊只要進入內(nèi)存一次,總共需要裝入的塊數(shù)示n1/B1;

S中的每個數(shù)據(jù)塊需要進入內(nèi)存(n1/B1)/(m-1)次,總共需要裝入的塊數(shù)是:(n1/B1)(1/(m-1))(n2/B2)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記這三個代數(shù)表達式的等價的,但是執(zhí)行的效率不一樣。執(zhí)行RXS的總裝入塊數(shù)是(n1/B1)(1+n2/(m-1)/B2)若n1=n2=10000,B1=B2=5,m=100,那么總的裝入塊數(shù)是42400,若每秒裝入20塊,需要35分鐘。耗費時間長,在實際使用中不采用。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記這三個代數(shù)表達式的等價的,但是執(zhí)行的效率不一樣。第二種和第三種:先做了選擇,裝入的塊數(shù)為n1/B1+n2/B2,大約需要裝入4000塊,耗費時間3分多鐘。對于S來說,元組并不是全部進入內(nèi)存,而且只是進入一次,所以速度快。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

1.優(yōu)化的一般策略我們所說的優(yōu)化和存儲沒有關系,主要是如何來安排操作的順序,節(jié)省時間和空間的消費優(yōu)化的一般技術:在關系代數(shù)表達式中盡可能早地執(zhí)行選擇操作。把笛卡兒積和其后的選擇操作合并成F聯(lián)接運算。同時計算一連串的選擇和投影操作,避免分開運算造成多次掃描文件。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

2.關系代數(shù)表達式的優(yōu)化算法對一個關系代數(shù)表達式進行語法分析可以得到一棵語法樹,葉子式關系,非葉子結點式關系代數(shù)操作。

算法2.1關系代數(shù)表達式的優(yōu)化。輸入:一個關系代數(shù)表達式的語法樹。輸出:計算表達式的一個優(yōu)化程序。方法:依次執(zhí)行下面的每一步。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記(1)使用等價變換規(guī)則4將每個形為σF1

…Fn(E)的子表達式轉換成串接形式:

σF1(…(σFn(E))…)(2)對每個選擇操作,盡可能把選擇操作移近樹的葉端(盡可能早的實行選擇操作)。(3)對每個投影操作,盡可能把投影操作移近樹的葉端。(4)把選擇和投影合并成單個選擇、單個投影或一個選擇后跟一個投影。(5)將上述步驟得到的語法樹的內(nèi)結點分組。(6)生成一個序列,每一組結點的計算是序列中的一步。見課本例子。本章結束自考《數(shù)據(jù)庫系統(tǒng)原理》筆記第五章SQL語言學習目的與要求:

SQL語言是關系數(shù)據(jù)庫的標準語言,是本課程的一個重點。本章總的要求是:全面掌握,深刻理解。熟練應用。要求掌握的技能是:SQL定義語句、嵌入式SQL語句的應用。要求熟練掌握的技能是:SQL查詢語句、視圖、SQL更新語句的應用。方法:多做題,多上機實踐。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記考核知識點與考試要求

5.1SQL簡介(識記)

5.2SQL的數(shù)據(jù)定義(綜合應用)

5.3SQL的數(shù)據(jù)查詢

5.3.1SELECT查詢語句的基本結構,連接、嵌套、存在量詞的三種查詢方式(綜合應用)

5.3.2SELECT語句完整的結構,分組子句、排序子句的用法(綜合應用)

5.3.3數(shù)據(jù)查詢中的限制和規(guī)定(簡單應用)

5.3.4條件表達式中的比較操作(簡單應用)

5.3.5嵌套查詢的改進寫法(領會)

5.3.6基本表的連接操作(綜合應用)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記5.4SQL的數(shù)據(jù)更新(綜合應用)5.5視圖(簡單應用)5.6嵌入式SQL(領會)5.7存儲過程SQL/PSM(識記)自考《數(shù)據(jù)庫系統(tǒng)原理》筆記5.1

SQL簡介

1.SQL發(fā)展歷程

SQL從1970年美國IBM研究中心的E.F.Codd發(fā)表論文到1974年Boyce和Chamberlin把SQUARE語言改為SEQUEL語言,到現(xiàn)在還在不斷完善和發(fā)展之中,SQL(結構式查詢語言)雖然名為查詢,但實際上具有定義、查詢、更新和控制等多種功能。自考《數(shù)據(jù)庫系統(tǒng)原理》筆記

2.SQL數(shù)據(jù)庫的體系結構

SQL數(shù)據(jù)庫的體系結構也是三級結構,但術語與傳統(tǒng)關系模型術語不同,在SQL中,關系模式稱為"基本表",存儲模式稱為"存儲文件",子模式稱為"

溫馨提示

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

評論

0/150

提交評論