數(shù)據(jù)庫原理及應(yīng)用教程(第5版) (微課版)課件全套 陳志泊 第1-7章 數(shù)據(jù)庫系統(tǒng)概述- SQL Server高級應(yīng)用_第1頁
數(shù)據(jù)庫原理及應(yīng)用教程(第5版) (微課版)課件全套 陳志泊 第1-7章 數(shù)據(jù)庫系統(tǒng)概述- SQL Server高級應(yīng)用_第2頁
數(shù)據(jù)庫原理及應(yīng)用教程(第5版) (微課版)課件全套 陳志泊 第1-7章 數(shù)據(jù)庫系統(tǒng)概述- SQL Server高級應(yīng)用_第3頁
數(shù)據(jù)庫原理及應(yīng)用教程(第5版) (微課版)課件全套 陳志泊 第1-7章 數(shù)據(jù)庫系統(tǒng)概述- SQL Server高級應(yīng)用_第4頁
數(shù)據(jù)庫原理及應(yīng)用教程(第5版) (微課版)課件全套 陳志泊 第1-7章 數(shù)據(jù)庫系統(tǒng)概述- SQL Server高級應(yīng)用_第5頁
已閱讀5頁,還剩538頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

北京市優(yōu)質(zhì)本科課程教材數(shù)據(jù)庫原理及應(yīng)用教程(第5版)“十二五”普通高等教育本科國家級規(guī)劃教材國家級一流線上課程配套教材第1章數(shù)據(jù)庫系統(tǒng)概述第1章數(shù)據(jù)庫系統(tǒng)概述本章目錄信息、數(shù)據(jù)、數(shù)據(jù)處理與數(shù)據(jù)管理01OPTION02OPTION數(shù)據(jù)庫技術(shù)的產(chǎn)生、發(fā)展03OPTION數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)04OPTION數(shù)據(jù)庫系統(tǒng)的內(nèi)部體系結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的外部體系結(jié)構(gòu)05OPTION06OPTION三個世界及其有關(guān)概念07OPTION數(shù)據(jù)模型的分類08OPTION數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.1信息、數(shù)據(jù)、數(shù)據(jù)處理與數(shù)據(jù)管理1.1.1信息與數(shù)據(jù)學(xué)號:S1姓名:趙亦性別:女年齡:17歲所在系別:計算機信息的特征可存儲、加工、傳遞和再生可以感知源于物質(zhì)和能量信息是人腦對現(xiàn)實世界事物的存在方式、運動狀態(tài)以及事物之間聯(lián)系的抽象反映。信息是客觀存在的,人類有意識地對信息進行采集并加工、傳遞,從而形成了各種消息、情報、指令、數(shù)據(jù)及信號等。1.1信息、數(shù)據(jù)、數(shù)據(jù)處理與數(shù)據(jù)管理1.1.1信息與數(shù)據(jù)數(shù)據(jù)是由用來記錄信息的可識別的符號組合的,是信息的具體表現(xiàn)形式。數(shù)據(jù)的表現(xiàn)包括數(shù)字、文字、圖形、圖像、聲音和視頻等,它們都可以經(jīng)過數(shù)字化后存儲到計算機中。S1趙亦女17歲計算機1.1信息、數(shù)據(jù)、數(shù)據(jù)處理與數(shù)據(jù)管理1.1.1信息與數(shù)據(jù)數(shù)據(jù)與信息的聯(lián)系數(shù)據(jù)是信息的符號表示,信息則是對數(shù)據(jù)的語義解釋。本門課程的考試人數(shù)為100,考試通過率為90%數(shù)據(jù)“100”和“90%”被賦予了特定的語義,此處的100表示的是“考試人數(shù)為100”,90%表示的是“考試通過率是90%”。信息=數(shù)據(jù)+語義1.1信息、數(shù)據(jù)、數(shù)據(jù)處理與數(shù)據(jù)管理1.1.2數(shù)據(jù)處理與數(shù)據(jù)管理將數(shù)據(jù)轉(zhuǎn)換成信息的過程,包括數(shù)據(jù)的收集、管理、加工利用乃至信息輸出、演變推導(dǎo)等數(shù)據(jù)處理

數(shù)據(jù)管理

數(shù)據(jù)的分類、組織、編碼、存儲、維護、檢索等操作信息=數(shù)據(jù)+數(shù)據(jù)處理產(chǎn)出輸出結(jié)果

原料輸入“數(shù)據(jù)處理”的真正含義應(yīng)該是為了產(chǎn)生信息而處理數(shù)據(jù)1.2數(shù)據(jù)庫技術(shù)的產(chǎn)生、發(fā)展人工管理階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)無專門的存取設(shè)備,無專用軟件管理數(shù)據(jù),不共享,無獨立性數(shù)據(jù)以文件形式長期保存,由文件系統(tǒng)管理數(shù)據(jù),程序與數(shù)據(jù)間有一定獨立性,文件的形式已經(jīng)多樣化,數(shù)據(jù)具有一定的共享性數(shù)據(jù)結(jié)構(gòu)化,共享性高、冗余度低,獨立性高,有統(tǒng)一的數(shù)據(jù)管理和控制功能DBMS

數(shù)據(jù)的安全性控制、數(shù)據(jù)的完整性控制、并發(fā)控制、數(shù)據(jù)恢復(fù)1.2數(shù)據(jù)庫技術(shù)的產(chǎn)生、發(fā)展1.人工管理階段人工管理階段應(yīng)用程序與數(shù)據(jù)之間的對應(yīng)關(guān)系1.2數(shù)據(jù)庫技術(shù)的產(chǎn)生、發(fā)展2.文件系統(tǒng)階段文件系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)之間的對應(yīng)關(guān)系1.2數(shù)據(jù)庫技術(shù)的產(chǎn)生、發(fā)展3.數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)之間的對應(yīng)關(guān)系1.3數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)1.3.1數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫用戶、計算機硬件系統(tǒng)和計算機軟件系統(tǒng)組成,可用下圖表示(圖中省略了計算機硬件系統(tǒng))。1.3數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)1.3.1數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫數(shù)據(jù)庫是存儲在計算機內(nèi)、有組織的、可共享的數(shù)據(jù)和數(shù)據(jù)對象(如表、視圖、存儲過程和觸發(fā)器等)的集合,這種集合按一定的數(shù)據(jù)模型(或結(jié)構(gòu))組織、描述并長期存儲,同時能以安全和可靠的方法進行數(shù)據(jù)的檢索和存儲。數(shù)據(jù)庫的特點:集成性,共享性1.3數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)1.3.1數(shù)據(jù)庫系統(tǒng)的組成2.數(shù)據(jù)庫用戶最終用戶應(yīng)用程序員數(shù)據(jù)庫管理員對數(shù)據(jù)庫進行存儲、維護和檢索等操作非計算機專業(yè)人員使用數(shù)據(jù)庫設(shè)計和編制應(yīng)用程序并進行調(diào)試和安裝負責(zé)設(shè)計、建立、管理和維護數(shù)據(jù)庫以及協(xié)調(diào)用戶對數(shù)據(jù)庫要求的個人或工作團隊1.3數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)1.3.1數(shù)據(jù)庫系統(tǒng)的組成3.軟件系統(tǒng)軟件(Software)系統(tǒng)主要包括操作系統(tǒng)(OperatingSystem,OS)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、應(yīng)用開發(fā)工具和應(yīng)用系統(tǒng)等。在計算機硬件層之上,操作系統(tǒng)統(tǒng)一管理計算機資源。DBMS可借助操作系統(tǒng)完成對硬件的訪問,并能對數(shù)據(jù)庫的數(shù)據(jù)進行存取、維護和管理。數(shù)據(jù)庫系統(tǒng)的各類人員、應(yīng)用程序等對數(shù)據(jù)庫的各種操作請求,都必須通過DBMS完成。DBMS是數(shù)據(jù)庫系統(tǒng)的核心軟件。1.3數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)1.3.1數(shù)據(jù)庫系統(tǒng)的組成4.硬件系統(tǒng)硬件(Hardware)系統(tǒng)指存儲和運行數(shù)據(jù)庫系統(tǒng)的硬件設(shè)備,包括CPU、內(nèi)存、大容量的存儲設(shè)備、輸入/輸出設(shè)備和外部設(shè)備等。OS硬件應(yīng)用系統(tǒng)應(yīng)用開發(fā)工具DBMS1.3數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)1.3.2數(shù)據(jù)庫管理系統(tǒng)(DBMS)DBSDBMS核心數(shù)據(jù)定義查詢更新各種控制1.3數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)1.3.2數(shù)據(jù)庫管理系統(tǒng)1.DBMS的功能1.3數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)1.3.2數(shù)據(jù)庫管理系統(tǒng)1.DBMS的功能數(shù)據(jù)定義功能DBMS提供數(shù)據(jù)定義語言(DataDefineLanguage,DDL),定義數(shù)據(jù)的模式、外模式和內(nèi)模式三級模式結(jié)構(gòu),定義模式/內(nèi)模式和外模式/模式二級映像,定義有關(guān)的約束條件。用DDL定義的各種模式需要通過相應(yīng)的模式翻譯程序轉(zhuǎn)換為機器內(nèi)部代碼表示形式,保存在數(shù)據(jù)字典(DataDictionary,DD)(或稱為系統(tǒng)目錄)中。數(shù)據(jù)字典是DBMS存取數(shù)據(jù)的基本依據(jù)。因此,DBMS中應(yīng)包括DDL的編譯程序。1.3數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)1.3.2數(shù)據(jù)庫管理系統(tǒng)1.DBMS的功能數(shù)據(jù)操縱功能DBMS提供數(shù)據(jù)操縱語言(DataManipulationLanguage,DML)實現(xiàn)對數(shù)據(jù)庫的基本操作,包括檢索、更新(包括插入、修改和刪除)等。DML有兩類宿主型自主型獨立使用嵌入在如Fortran、Pascal、C等高級語言中1.3數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)1.3.2數(shù)據(jù)庫管理系統(tǒng)1.DBMS的功能數(shù)據(jù)庫運行管理功能對數(shù)據(jù)庫運行的管理是DBMS運行的核心部分。DBMS對數(shù)據(jù)庫的控制主要通過四個方面實現(xiàn):數(shù)據(jù)的安全性控制、數(shù)據(jù)的完整性控制、多用戶環(huán)境下的數(shù)據(jù)并發(fā)控制和數(shù)據(jù)庫的恢復(fù)。數(shù)據(jù)庫的建立和維護數(shù)據(jù)庫的建立包括數(shù)據(jù)庫的初始數(shù)據(jù)的裝入與數(shù)據(jù)轉(zhuǎn)換等,數(shù)據(jù)庫的維護包括數(shù)據(jù)庫的轉(zhuǎn)儲、恢復(fù)、重組織與重構(gòu)造、系統(tǒng)性能監(jiān)視與分析等。這些功能分別由DBMS的各個實用程序來完成。1.3數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)1.3.2數(shù)據(jù)庫管理系統(tǒng)1.DBMS的功能數(shù)據(jù)通信接口DBMS提供與其他軟件系統(tǒng)進行通信的功能。一般,DBMS提供了與其他DBMS或文件系統(tǒng)的接口,從而使該DBMS能夠?qū)?shù)據(jù)轉(zhuǎn)換為另一個DBMS或文件系統(tǒng)能夠接受的格式,或者可接收其他DBMS或文件系統(tǒng)的數(shù)據(jù),實現(xiàn)用戶程序與DBMS、DBMS與DBMS、DBMS與文件系統(tǒng)之間的通信。通常這些功能要與操作系統(tǒng)協(xié)調(diào)完成。數(shù)據(jù)組織、存儲和管理DBMS負責(zé)對數(shù)據(jù)庫中需要存放的各種數(shù)據(jù)(如數(shù)據(jù)字典、用戶數(shù)據(jù)、存取路徑等)的組織、存儲和管理工作,確定以何種文件結(jié)構(gòu)和存取方式物理地組織這些數(shù)據(jù),以提高存儲空間利用率和對數(shù)據(jù)庫進行增、刪、查、改的效率。1.3數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)1.3.2數(shù)據(jù)庫管理系統(tǒng)2.DBMS的組成語言編譯處理程序系統(tǒng)運行控制程序系統(tǒng)建立、維護程序數(shù)據(jù)字典數(shù)據(jù)定義語言DDL編譯程序數(shù)據(jù)操縱語言DML編譯程序系統(tǒng)總控程序安全性控制程序完整性控制程序并發(fā)控制程序數(shù)據(jù)存取和更新程序通信控制程序裝配程序重組程序系統(tǒng)恢復(fù)程序描述數(shù)據(jù)庫中有關(guān)信息的數(shù)據(jù)目錄1.3數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)1.3.2數(shù)據(jù)庫管理系統(tǒng)3.DBMS的數(shù)據(jù)存取的過程(1)用戶使用某種特定的數(shù)據(jù)操作語言向DBMS發(fā)出存取請求。(2)DBMS接受請求并將該請求解釋轉(zhuǎn)換成機器代碼指令。(3)DBMS依次檢查外模式、外模式/模式映像、模式、模式/內(nèi)模式映像及存儲結(jié)構(gòu)定義。(4)DBMS對存儲數(shù)據(jù)庫執(zhí)行必要的存取操作。(5)從對數(shù)據(jù)庫的存取操作中接受結(jié)果。(6)對得到的結(jié)果進行必要的處理,如格式轉(zhuǎn)換等。(7)將處理的結(jié)果返回給用戶。1.4數(shù)據(jù)庫系統(tǒng)的內(nèi)部體系結(jié)構(gòu)1.4.1三級模式與二級映像數(shù)據(jù)庫系統(tǒng)模式的概念模式(Schema)是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,它僅涉及型的描述,而不涉及具體的值。模式的一個具體值稱為模式的一個實例(Instance)。同一個模式可以有很多實例。學(xué)號姓名

性別年齡系別

001101

張立男20計算機型值模式實例1.4數(shù)據(jù)庫系統(tǒng)的內(nèi)部體系結(jié)構(gòu)1.4.1三級模式與二級映像2.三級模式與二級映像三級模式結(jié)構(gòu)與二級映像功能示意圖1.4數(shù)據(jù)庫系統(tǒng)的內(nèi)部體系結(jié)構(gòu)1.4.1三級模式與二級映像2.三級模式與二級映像數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述數(shù)據(jù)庫用戶能看到并允許使用的那部分局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述它是對數(shù)據(jù)庫存儲結(jié)構(gòu)的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式可有多個只有一個-內(nèi)模式是整個數(shù)據(jù)庫實際存儲的表示-模式是整個數(shù)據(jù)庫實際存儲的抽象表示-外模式是邏輯模式的某一部分的抽象表示外模式模式內(nèi)模式1.4數(shù)據(jù)庫系統(tǒng)的內(nèi)部體系結(jié)構(gòu)1.4.1三級模式與二級映像2.三級模式與二級映像外模式/模式映像數(shù)據(jù)庫中的同一模式可以有任意多個外模式,對于每一個外模式,都存在一個外模式/模式映像,所以,在一個數(shù)據(jù)庫系統(tǒng)中,外模式/模式映像有多個。模式/內(nèi)模式映像數(shù)據(jù)庫中的模式和內(nèi)模式都只有一個,所以,在一個數(shù)據(jù)庫系統(tǒng)中,模式/內(nèi)模式映像是唯一的,它確定了數(shù)據(jù)的全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。1.4數(shù)據(jù)庫系統(tǒng)的內(nèi)部體系結(jié)構(gòu)1.4.2數(shù)據(jù)的邏輯和物理獨立性外模式/模式映象模式/內(nèi)模式映象保證了數(shù)據(jù)與程序間的邏輯獨立性確保了數(shù)據(jù)的物理獨立性1.4數(shù)據(jù)庫系統(tǒng)的內(nèi)部體系結(jié)構(gòu)1.4.3數(shù)據(jù)庫系統(tǒng)的三級模式與二級映像的優(yōu)點保證數(shù)據(jù)的獨立性有利于數(shù)據(jù)的安全保密有利于數(shù)據(jù)共享簡化了用戶接口數(shù)據(jù)庫系統(tǒng)三級模式與二級映像的優(yōu)點1.5數(shù)據(jù)庫系統(tǒng)的外部體系結(jié)構(gòu)單用戶結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)主從式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)分布式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)瀏覽器/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)一臺計算機,不能共享數(shù)據(jù)大型主機帶多個終端;主機處理,終端輸出是分布在計算機網(wǎng)絡(luò)上的多個邏輯相關(guān)的數(shù)據(jù)庫的集合把DBMS的功能與應(yīng)用程序分開;管理數(shù)據(jù)的結(jié)點稱為服務(wù)器應(yīng)用DBMS的結(jié)點稱為客戶機將客戶端運行的應(yīng)用程序轉(zhuǎn)移到應(yīng)用服務(wù)器上,充當(dāng)了客戶機和數(shù)據(jù)庫服務(wù)器的中介1.6三個世界及其有關(guān)概念1.6.1現(xiàn)實世界現(xiàn)實世界,即客觀存在的世界。其中存在著各種事物及它們之間的聯(lián)系,每個事物都有自己的特征或性質(zhì)。例如,要描述一個學(xué)生,常選用學(xué)號、姓名、性別、年齡、系別等來描述,有了這些特征,就能區(qū)分不同的學(xué)生?,F(xiàn)實世界中,事物之間是相互聯(lián)系的,而這種聯(lián)系可能是多方面的。例如,在學(xué)生管理系統(tǒng)中,可以選擇“學(xué)生選修課程”這一聯(lián)系表示學(xué)生和課程之間的關(guān)系。1.6三個世界及其有關(guān)概念1.6.2信息世界1.信息世界及其有關(guān)概念型值屬性名具體值實體屬性客觀存在并且可以相互區(qū)別的“事物”稱為實體實體可以是具體的人、事、物,也可以是抽象的事件

實體所具有的某一特性稱為屬性1.6三個世界及其有關(guān)概念1.6.2信息世界1.信息世界及其有關(guān)概念單個實體型內(nèi)部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系實體型之間的聯(lián)系通常是指不同實體集之間的聯(lián)系具有相同屬性的實體必然具有共同的特征同型實體的集合稱為實體集能唯一標(biāo)識一個實體的屬性或?qū)傩约Q為實體的碼某一屬性的取值范圍稱為該屬性的域?qū)W生(學(xué)號,姓名,年齡,性別,系)實體型碼域聯(lián)系實體集1.6三個世界及其有關(guān)概念1.6.2信息世界2.兩個實體型之間的聯(lián)系兩個實體型之間的聯(lián)系是指兩個不同的實體集間的聯(lián)系,有如下三種類型。1.6三個世界及其有關(guān)概念1.6.2信息世界3.兩個以上實體型之間的聯(lián)系兩個以上的實體型之間也存在著一對一、一對多和多對多的聯(lián)系。例如,對于課程、教師與參考書三個實體型,如果一門課程可以有若干個教師講授,使用若干本參考書,而每一個教師只講授一門課程,每一本參考書只供一門課程使用,則課程與教師、參考書之間的聯(lián)系是一對多的聯(lián)系。4.單個實體型內(nèi)部的聯(lián)系同一個實體集內(nèi)的各個實體之間存在的聯(lián)系,也可以有一對一、一對多和多對多的聯(lián)系。例如,職工實體型內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系,即某一職工“領(lǐng)導(dǎo)”若干名職工,而一個職工僅被另外一個職工直接領(lǐng)導(dǎo),因此,在職工實體集內(nèi)部這種聯(lián)系,就是一對多的聯(lián)系。1.6三個世界及其有關(guān)概念1.6.3計算機世界標(biāo)記實體屬性的命名單位稱為字段。能唯一標(biāo)識文件中每個記錄的字段或字段集,稱為記錄的關(guān)鍵字。同一類記錄的集合稱為文件。如,所有學(xué)生的記錄組成了一個學(xué)生文件。字段的有序集合稱為記錄。如,一個學(xué)生(990001,張立,20,男,計算機)為一個記錄。字段Field記錄Record文件File關(guān)鍵字Key1.6三個世界及其有關(guān)概念1.6.3計算機世界三個世界各術(shù)語的對應(yīng)關(guān)系現(xiàn)實世界

信息世界

計算機世界事物總體 實體集文件事物個體 實體記錄特征 屬性字段事物間聯(lián)系 實體模型數(shù)據(jù)模型1.6三個世界及其有關(guān)概念1.6.4三個世界之間的聯(lián)系如下圖所示,在實際的數(shù)據(jù)處理過程中,首先將現(xiàn)實世界的事物及聯(lián)系抽象成信息世界的概念模型,然后再抽象成計算機世界的數(shù)據(jù)模型。概念模型并不依賴于具體的計算機系統(tǒng),不是某一個DBMS所支持的數(shù)據(jù)模型,它是計算機內(nèi)部數(shù)據(jù)的抽象表示;概念模型經(jīng)過抽象,轉(zhuǎn)換成計算機上某一DBMS支持的數(shù)據(jù)模型。1.7數(shù)據(jù)模型的分類1.7.1數(shù)據(jù)模型的組成要素1.?dāng)?shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)描述的是數(shù)據(jù)庫的靜態(tài)特性,是數(shù)據(jù)模型中最基本的部分,不同的數(shù)據(jù)模型采用不同的數(shù)據(jù)結(jié)構(gòu)。2.?dāng)?shù)據(jù)操作數(shù)據(jù)操作是指對數(shù)據(jù)庫中的各種數(shù)據(jù)允許執(zhí)行的操作的集合,包括操作及相應(yīng)的操作規(guī)則,描述了數(shù)據(jù)庫的動態(tài)特性。數(shù)據(jù)庫有查詢和更新(包括插入、刪除和修改)兩類操作。數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號、操作規(guī)則(如優(yōu)先級)以及實現(xiàn)操作的語言。1.7數(shù)據(jù)模型的分類1.7.1數(shù)據(jù)模型的組成要素3.?dāng)?shù)據(jù)的完整性約束數(shù)據(jù)的完整性約束條件是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。數(shù)據(jù)模型應(yīng)該反映和規(guī)定本數(shù)據(jù)模型必須遵守的基本的和通用的完整性約束條件,還應(yīng)該提供定義完整性約束條件的機制,以反映具體應(yīng)用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。例如,在學(xué)生管理數(shù)據(jù)庫中,學(xué)生的年齡不得超過40歲。1.7數(shù)據(jù)模型的分類1.7.2層次模型無雙親,根節(jié)點·每棵樹有且僅有一個結(jié)點沒有雙親,該結(jié)點

就是根結(jié)點·根以外的其他結(jié)點有且僅有一個雙親結(jié)點·父子結(jié)點之間的聯(lián)系是一對多(1:n)的聯(lián)系層次模型有向樹的示意圖1.7數(shù)據(jù)模型的分類1.7.2層次模型TS數(shù)據(jù)庫模型具有四個記錄型:D,R,S,TS與T是葉結(jié)點,它們沒有子女結(jié)點由D到R,R到T,由D到S均是一對多的關(guān)系1.7數(shù)據(jù)模型的分類1.7.2層次模型層次模型的數(shù)據(jù)操縱與數(shù)據(jù)完整性約束進行插入操作時,如果沒有相應(yīng)的雙親結(jié)點值就不能插入子女結(jié)點值。進行刪除操作時,如果刪除雙親結(jié)點值,則相應(yīng)的子女結(jié)點值也被同時刪除。修改操作時,應(yīng)修改所有相應(yīng)的記錄,以保證數(shù)據(jù)的一致性。層次模型的優(yōu)缺點結(jié)構(gòu)簡單,層次分明查詢效率高提供良好的數(shù)據(jù)完整性支持不能直接表示多對多聯(lián)系插入和刪除數(shù)據(jù)限制太多查詢子女結(jié)點必須通過雙親結(jié)點優(yōu)點缺點1.7數(shù)據(jù)模型的分類1.7.3網(wǎng)狀模型網(wǎng)狀模型的數(shù)據(jù)結(jié)構(gòu)網(wǎng)狀模型是采用有向圖結(jié)構(gòu)表示記錄型與記錄型之間聯(lián)系的數(shù)據(jù)模型。每個結(jié)點表示一個記錄型,每個記錄型可包含若干個字段,記錄型描述的是實體。結(jié)點間的帶箭頭的連線(或有向邊)表示記錄型間的1:n的父子聯(lián)系。網(wǎng)狀模型的特點:有一個以上的結(jié)點沒有雙親結(jié)點允許結(jié)點有多個雙親結(jié)點允許兩個結(jié)點之間有多種聯(lián)系(復(fù)合聯(lián)系)1.7數(shù)據(jù)模型的分類1.7.3網(wǎng)狀模型網(wǎng)狀模型的數(shù)據(jù)操縱與完整性約束插入數(shù)據(jù)時,允許插入尚未確定雙親結(jié)點值的子女結(jié)點值。刪除數(shù)據(jù)時,允許只刪除雙親結(jié)點值。修改數(shù)據(jù)時,只需更新指定記錄即可。網(wǎng)狀模型的優(yōu)缺點可表示實體間的多種復(fù)雜聯(lián)系具有良好的性能和存儲效率數(shù)據(jù)結(jié)構(gòu)復(fù)雜數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言復(fù)雜用戶需要了解網(wǎng)狀模型的實現(xiàn)細節(jié)優(yōu)點缺點1.7數(shù)據(jù)模型的分類1.7.4關(guān)系模型關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及有關(guān)概念小型數(shù)據(jù)庫系統(tǒng):Foxpro、Access大型數(shù)據(jù)庫系統(tǒng):Oracle、SQLServer、Informix、Sybase關(guān)系二維表SNO學(xué)號SN姓名SEX性別AGE年齡DEPT系別S1趙亦女17計算機S2錢爾男18信息S3孫珊女20信息S4李思男21自動化S5周武男19計算機S6吳麗女20自動化元組屬性域:屬性的取值范圍,{男,女}1.7數(shù)據(jù)模型的分類1.7.4關(guān)系模型每一行對應(yīng)的列的屬性值,即為元組中的一個屬性值??晌┮粯?biāo)識一個元組的屬性或?qū)傩约卜Q為關(guān)系鍵或主碼,如S表中學(xué)號可以惟一確定一個學(xué)生,為學(xué)生關(guān)系的主碼。關(guān)系模式是對關(guān)系的描述,是關(guān)系模型的“型”。一般表示為:關(guān)系名(屬性1,屬性2,……屬性n)如:學(xué)生(學(xué)號,姓名,性別,年齡,系別)關(guān)系實例是關(guān)系模式的“值”,是關(guān)系的數(shù)據(jù),相當(dāng)于二維表中的數(shù)據(jù)。分量關(guān)鍵字關(guān)系模式關(guān)系實例1.7數(shù)據(jù)模型的分類1.7.4關(guān)系模型關(guān)系模型的數(shù)據(jù)操縱與完整性約束關(guān)系模型中的數(shù)據(jù)操作是集合操作,操作對象和操作結(jié)果都是關(guān)系,即若干元組的集合。關(guān)系模型把對數(shù)據(jù)的存取路徑隱蔽起來,用戶只要指出“干什么”,而不必詳細說明“怎么干”,從而大大地提高了數(shù)據(jù)的獨立性,提高了用戶操作效率。關(guān)系模型的優(yōu)缺點有嚴格的數(shù)學(xué)理論根據(jù)用關(guān)系描述實體間的聯(lián)系具有更高的數(shù)據(jù)獨立性、更好的安全保密性查詢效率不如非關(guān)系模型優(yōu)點缺點1.7數(shù)據(jù)模型的分類1.7.5非關(guān)系模型(NoSQL,NotOnlySQL)NoSQL的特點:易擴展NoSQL數(shù)據(jù)庫中的數(shù)據(jù)之間無關(guān)系,非常容易擴展。大數(shù)據(jù)量,高性能NoSQL數(shù)據(jù)庫都具有非常高的讀寫性能,尤其在大數(shù)據(jù)量下,同樣表現(xiàn)優(yōu)秀。應(yīng)用靈活NoSQL無須事先為要存儲的數(shù)據(jù)建立字段,隨時可以存儲自定義的數(shù)據(jù)格式。這點在大數(shù)據(jù)量的Web2.0時代尤其明顯。高可用NoSQL在不太影響性能的情況,就可以方便地實現(xiàn)高可用的架構(gòu)。比如Cassandra、HBase模型,通過復(fù)制模型也能實現(xiàn)高可用。1.7數(shù)據(jù)模型的分類1.7.6面向?qū)ο竽P蛯ο蠛蛯ο髽?biāo)識對象是現(xiàn)實世界中實體的模型化。對象標(biāo)識獨立于對象的內(nèi)容和存儲位置,是一種邏輯標(biāo)識符,通常由系統(tǒng)產(chǎn)生,它在整個系統(tǒng)范圍內(nèi)是惟一的。兩個對象即使內(nèi)部狀態(tài)值和方法都相同,如標(biāo)識符不同,仍認為是兩個相等而不同的對象。每個對象都包含一組屬性和一組方法。一個學(xué)生一門課程一次考試記錄對象屬性方法對象屬性方法……1.7數(shù)據(jù)模型的分類1.7.6面向?qū)ο竽P皖悾–lass)和繼承(Inheritance)具有同樣屬性和方法集的所有對象構(gòu)成了一個對象類,一個對象是某一類的實例。類的屬性域可以是基本數(shù)據(jù)類型(如整型、實型、字符型等),也可以是類。類的表示具有層次性和繼承性。對象類型值1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.1分布式數(shù)據(jù)庫分布式數(shù)據(jù)庫的定義分布式數(shù)據(jù)庫是一組結(jié)構(gòu)化的數(shù)據(jù)集合,它們在邏輯上屬于同一系統(tǒng),而在物理上分布在計算機網(wǎng)絡(luò)的不同結(jié)點上。分布式數(shù)據(jù)庫的特點自治與共享冗余的控制分布事務(wù)執(zhí)行的復(fù)雜性數(shù)據(jù)的獨立性

數(shù)據(jù)冗余的透明性數(shù)據(jù)分布透明性物理數(shù)據(jù)透明性邏輯數(shù)據(jù)透明性1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.1分布式數(shù)據(jù)庫

集中式系統(tǒng)和分布式系統(tǒng)

集中式數(shù)據(jù)庫就是集中在一個中心場地的電子計算機上,以統(tǒng)一處理方式所支持的數(shù)據(jù)庫。集中控制處理效率高,可靠性好;數(shù)據(jù)冗余少,數(shù)據(jù)獨立性高;易于支持復(fù)雜的物理結(jié)構(gòu)去獲得對數(shù)據(jù)的有效訪問。1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.2數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)數(shù)據(jù)倉庫就是一個面向主題的、集成的、相對穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合,通常用于輔助決策支持。對多個異構(gòu)數(shù)據(jù)源的有效集成,集成后按照主題進行重組,包含歷史數(shù)據(jù)。存放在數(shù)據(jù)倉庫中的數(shù)據(jù)通常不再修改,用于做進一步的分析型數(shù)據(jù)處理。1.數(shù)據(jù)倉庫的定義2.數(shù)據(jù)倉庫的體系結(jié)構(gòu)1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.2數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)3.數(shù)據(jù)挖掘的定義數(shù)據(jù)挖掘(DataMining),就是從大量數(shù)據(jù)中獲取有效的、新穎的、潛在有用的、最終可理解的模式的非平凡過程,簡單地說,數(shù)據(jù)挖掘就是從大量數(shù)據(jù)中提取或“挖掘”知識,又被稱為數(shù)據(jù)庫中的知識發(fā)現(xiàn)(KnowledgeDiscoveryinDatabase,KDD)。4.數(shù)據(jù)挖掘的方法數(shù)據(jù)挖掘的分析方法可以分為兩類:直接數(shù)據(jù)挖掘與間接數(shù)據(jù)挖掘。直接數(shù)據(jù)挖掘的目標(biāo)是利用可用的數(shù)據(jù)建立一個模型,這個模型對剩余的數(shù)據(jù),比如對一個特定的變量進行描述。間接數(shù)據(jù)挖掘的目標(biāo)中并沒有選出某一具體的變量并用模型進行描述,而是在所有的變量中建立起某種關(guān)系。1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.3大數(shù)據(jù)技術(shù)1.大數(shù)據(jù)技術(shù)的產(chǎn)生背景隨著硬件存儲成本的持續(xù)下降、互聯(lián)網(wǎng)技術(shù)和物聯(lián)網(wǎng)技術(shù)的高速發(fā)展,現(xiàn)代社會每天正以不可想象的速度產(chǎn)生各類數(shù)據(jù),如電子商務(wù)網(wǎng)站的用戶訪問日志、微博中評論和轉(zhuǎn)發(fā)信息、各類短視頻和微電影、各類商品的物流配送信息、手機通話記錄等。這些數(shù)據(jù)或流入已經(jīng)運行的數(shù)據(jù)庫系統(tǒng),或形成具有結(jié)構(gòu)化的各類文件,或形成具有非結(jié)構(gòu)化特征的視頻和圖像文件。據(jù)統(tǒng)計,Google每分鐘進行200萬次搜索,全球每分鐘發(fā)送2億封電子郵件,12306網(wǎng)站春節(jié)期間一天的訪問量為84億次。總之,人們已經(jīng)步入一個以各類數(shù)據(jù)為中心的全新時代——大數(shù)據(jù)時代。1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.3大數(shù)據(jù)技術(shù)2.大數(shù)據(jù)的概念普遍采用大數(shù)據(jù)的4V特性來描述大數(shù)據(jù),即“數(shù)據(jù)量大(Volume)”、“數(shù)據(jù)類型繁多(Variety)”、“數(shù)據(jù)處理速度快(Velocity)”和“數(shù)據(jù)價值密度低(Value)”?!皵?shù)據(jù)量大”是從數(shù)據(jù)規(guī)模的角度描述大數(shù)據(jù)的。大數(shù)據(jù)的數(shù)據(jù)量可以從數(shù)百TB到數(shù)百PB,甚至到EB的規(guī)模。“數(shù)據(jù)類型繁多”是從數(shù)據(jù)來源和數(shù)據(jù)種類的角度描述大數(shù)據(jù)的。大數(shù)據(jù)的數(shù)據(jù)類型可以宏觀分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)?!皵?shù)據(jù)處理速度快”是從數(shù)據(jù)的產(chǎn)生和處理的角度描述大數(shù)據(jù)的。“數(shù)據(jù)價值密度低”是從大數(shù)據(jù)潛藏的價值分布情況描述大數(shù)據(jù)的。雖然大數(shù)據(jù)中具有很多有價值的潛在信息,但其價值的密度遠遠低于傳統(tǒng)關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)價值。1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.3大數(shù)據(jù)技術(shù)3.大數(shù)據(jù)的關(guān)鍵技術(shù)目前大數(shù)據(jù)所涉及的關(guān)鍵技術(shù)主要包括數(shù)據(jù)的采集和遷移、數(shù)據(jù)的存儲和管理、數(shù)據(jù)的處理和分析、數(shù)據(jù)安全和隱私保護。4.大數(shù)據(jù)技術(shù)的應(yīng)用場景目前,大數(shù)據(jù)技術(shù)的應(yīng)用已經(jīng)非常普遍,涉及的領(lǐng)域包括傳統(tǒng)零售業(yè)、金融業(yè)、醫(yī)療業(yè)和政府機構(gòu)等。1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.4NewSQL技術(shù)1.NewSQL的定義和特點NewSQL是各種新型可伸縮高性能SQL數(shù)據(jù)庫的簡稱,旨在為在線事物處理(OLTP)工作負載提供NoSQL系統(tǒng)的可擴展性,同時保持傳統(tǒng)數(shù)據(jù)庫系統(tǒng)的ACID保證。NewSQL仍然采用關(guān)系數(shù)據(jù)模型,支持SQL查詢,擁有強一致性和事物一致性。另外,NewSQL借鑒了NoSQL的架構(gòu),有很好的水平擴展性,支持海量數(shù)據(jù)存儲。1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.4NewSQL技術(shù)2.NewSQL系統(tǒng)的分類(1)新型架構(gòu)新型架構(gòu)NewSQL不是擴展已有系統(tǒng),而是從全新的起點開始設(shè)計,采用分布式架構(gòu),包含支持多節(jié)點并發(fā)控制、基于復(fù)制的容錯、流控制和分布式查詢處理等組件。這樣做的優(yōu)點是系統(tǒng)所有部分都可以針對多節(jié)點環(huán)境進行優(yōu)化,包括查詢優(yōu)化、節(jié)點間通信協(xié)議優(yōu)化等。1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.4NewSQL技術(shù)2.NewSQL系統(tǒng)的分類(2)透明的數(shù)據(jù)分片中間件系統(tǒng)提供數(shù)據(jù)分片中間件,用戶可以借助它們將數(shù)據(jù)庫分成多個部分,并存儲到由多個單節(jié)點機器組成的集群中,每一個節(jié)點都運行相同的數(shù)據(jù)庫管理系統(tǒng),只維護自己負責(zé)的整個數(shù)據(jù)庫中的一部分數(shù)據(jù),不能被不用的應(yīng)用獨立訪問或修改。集中化的中間組件負責(zé)分配查詢,協(xié)調(diào)事務(wù),同時也管理數(shù)據(jù)的位置,復(fù)制和跨節(jié)點的數(shù)據(jù)分區(qū)。集群典型的架構(gòu)是在每個節(jié)點上都安裝一個中階層和中間件通信,這個組件負責(zé)代替中間件在數(shù)據(jù)庫管理系統(tǒng)實例上執(zhí)行查詢并返回結(jié)果,最后由中間件整合。使用數(shù)據(jù)分片中間件的核心優(yōu)勢是能夠非常簡單地替換已經(jīng)使用了單節(jié)點數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)庫,開發(fā)者無需對應(yīng)用做任何修改。1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.4NewSQL技術(shù)2.NewSQL系統(tǒng)的分類(3)Database-as-a-ServiceDatabase-as-a-Service是云服務(wù)提供商的NewSQL方案,通過云服務(wù),用戶不需要在自己的硬件設(shè)備上或者云端虛擬機上安裝和維護數(shù)據(jù)庫管理系統(tǒng)。Database-as-a-Service提供商負責(zé)維護所有數(shù)據(jù)庫物理機及其配置,包括系統(tǒng)優(yōu)化、賦值和備份。交付給用戶的只是一個連接數(shù)據(jù)庫管理系統(tǒng)的網(wǎng)絡(luò)鏈接,以及一個用于監(jiān)控的儀表盤頁面或者一組用于系統(tǒng)控制的API。1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.4NewSQL技術(shù)3.NewSQL的常用產(chǎn)品(1)SpannerSpanner是谷歌公司設(shè)計、開發(fā)和部署的,是一個可擴展的、全球分布式的數(shù)據(jù)庫系統(tǒng),后續(xù)的很多NewSQL數(shù)據(jù)庫系統(tǒng)都借鑒了Spanner的思想。Spanner被組織成多個zone的集合,每個zone都類似于一個BigTable服務(wù)器的部署。(2)CockroachDBCockroachDB是Spanner的開源版本,支持標(biāo)準(zhǔn)SQL接口、線性擴展、強一致性、高可用性等重要特性。1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.4NewSQL技術(shù)3.NewSQL的常用產(chǎn)品(3)TiDBTiDB是PingCAP公司自主設(shè)計,支持在線事物處理與在線分析處理,可以水平擴容或者縮容、金融高可用性、實時HTAP、云原生的分布式數(shù)據(jù)庫。(4)OceanBaseOceanBase是由螞蟻集團自主研發(fā)的企業(yè)級分布式關(guān)系數(shù)據(jù)庫,基于分布式框架和通用服務(wù)器、實現(xiàn)了金融機構(gòu)可靠性以及數(shù)據(jù)一致性。(5)TDSQLTDSQLMySQL是騰訊研發(fā)的一款分布式數(shù)據(jù)庫產(chǎn)品,具備強一致性、高可用、全球部署架構(gòu)、分布式水平擴展、高性能、企業(yè)級安全等特性。1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.4NewSQL技術(shù)4.NewSQL的應(yīng)用領(lǐng)域(1)金融業(yè)互聯(lián)網(wǎng)特色金融業(yè)務(wù)中,單筆交易變小、交易次數(shù)變多、NewSQL技術(shù)可以支持這類應(yīng)用。(2)電子商務(wù)電子商務(wù)平臺都是基于分布式數(shù)據(jù)庫,NewaSQL的分布結(jié)構(gòu)保證了數(shù)據(jù)庫免受物理硬件性能限制,實現(xiàn)性能在線擴展。1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.4NewSQL技術(shù)4.NewSQL的應(yīng)用領(lǐng)域(3)海量數(shù)據(jù)訪問NewSQL技術(shù)支持節(jié)點快速彈性完成垂直、水平擴展縮容,滿足用戶的含量數(shù)據(jù)存儲和查詢要求,可以廣泛應(yīng)用于工業(yè)遠程監(jiān)控和遠程控制、智慧城市的延展、智能家居、車聯(lián)網(wǎng)、充電樁加油站等傳感監(jiān)控設(shè)備多、采樣率高、數(shù)據(jù)上報存儲數(shù)據(jù)量大的場景。(4)HTAP混合場景NewSQL實現(xiàn)了HTAP(HybridTransactionalandAnalyticalProcessing)解決方案,能做到針對同樣數(shù)據(jù)的OLTP和OLAP業(yè)務(wù)同時運行且互不干擾,降低數(shù)據(jù)存儲成本,可以廣泛應(yīng)用于工業(yè)物聯(lián)網(wǎng)、商業(yè)智能分析、電商推薦系統(tǒng)、搜索引擎等業(yè)務(wù)場景。1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.5NoSQL技術(shù)(1)鍵值(Key-Value)存儲數(shù)據(jù)庫鍵值存儲數(shù)據(jù)庫主要會使用到一個哈希表,這個表中有一個特定的鍵和一個指針指向特定的數(shù)據(jù)。Key/value模型對于IT系統(tǒng)來說的優(yōu)勢在于簡單、易部署。但是如果數(shù)據(jù)庫管理員(DBA)只對部分值進行查詢或更新的時候,Key/value就顯得效率低下了。(2)列存儲數(shù)據(jù)庫列存儲數(shù)據(jù)庫通常是用來應(yīng)對分布式存儲的海量數(shù)據(jù)。鍵仍然存在,但是它們的特點是指向了多個列。這些列是由列家族來安排的。1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.5NoSQL技術(shù)(3)文檔型數(shù)據(jù)庫文檔型數(shù)據(jù)庫的靈感是來自于LotusNotes辦公軟件的,而且它同第一種鍵值存儲相類似。該類型的數(shù)據(jù)模型是版本化的文檔,半結(jié)構(gòu)化的文檔以特定的格式存儲,比如JSON。文檔型數(shù)據(jù)庫可以看作是鍵值數(shù)據(jù)庫的升級版,允許之間嵌套鍵值,在處理網(wǎng)頁等復(fù)雜數(shù)據(jù)時,文檔型數(shù)據(jù)庫比傳統(tǒng)鍵值數(shù)據(jù)庫的查詢效率更高。(4)圖形(Graph)數(shù)據(jù)庫圖形數(shù)據(jù)庫同其他行列以及剛性結(jié)構(gòu)的SQL數(shù)據(jù)庫不同,它是使用靈活的圖形模型,并且能夠擴展到多個服務(wù)器上。1.8數(shù)據(jù)庫領(lǐng)域的新技術(shù)1.8.1分布式數(shù)據(jù)庫NoSQL的特點:易擴展NoSQL數(shù)據(jù)庫中的數(shù)據(jù)之間無關(guān)系,非常容易擴展。大數(shù)據(jù)量,高性能NoSQL數(shù)據(jù)庫都具有非常高的讀寫性能,尤其在大數(shù)據(jù)量下,同樣表現(xiàn)優(yōu)秀。應(yīng)用靈活NoSQL無須事先為要存儲的數(shù)據(jù)建立字段,隨時可以存儲自定義的數(shù)據(jù)格式。這點在大數(shù)據(jù)量的Web2.0時代尤其明顯。高可用NoSQL在不太影響性能的情況,就可以方便地實現(xiàn)高可用的架構(gòu)。比如Cassandra、HBase模型,通過復(fù)制模型也能實現(xiàn)高可用。本章小結(jié)本章介紹了信息、數(shù)據(jù)、數(shù)據(jù)處理與數(shù)據(jù)管理的基本概念,以及數(shù)據(jù)庫技術(shù)的三個階段及其優(yōu)缺點;本章介紹了數(shù)據(jù)庫系統(tǒng)的組成;本章介紹了數(shù)據(jù)庫系統(tǒng)的內(nèi)部和外部體系結(jié)構(gòu);本章介紹了三個世界及其有關(guān)概念,以及計算機世界中常用的數(shù)據(jù)模型;本章介紹了數(shù)據(jù)庫領(lǐng)域的新技術(shù)。北京市優(yōu)質(zhì)本科課程教材數(shù)據(jù)庫原理及應(yīng)用教程(第5版)“十二五”普通高等教育本科國家級規(guī)劃教材國家級一流線上課程配套教材第2章

關(guān)系模型及其操作第2章關(guān)系模型及其操作第二章主要內(nèi)容關(guān)系模型的構(gòu)成原理01OPTION03OPTION關(guān)系的完整性和碼02OPTION關(guān)系模式和關(guān)系數(shù)據(jù)庫模式04OPTION關(guān)系代數(shù)2.1關(guān)系模型的數(shù)學(xué)基礎(chǔ)及形式化定義1.集合及域(1)集合(Set)的定義與理解定義2.1集合是指具有特定性質(zhì)的事物的總體。例如:課程集合={?等數(shù)學(xué),線性代數(shù),離散數(shù)學(xué),概率論,計算機導(dǎo)論,組成原理,數(shù)據(jù)庫…}。學(xué)?姓名集合={張?,王天,趙啟,…}結(jié)合中構(gòu)成集合的個體稱為元素或成員。例如:在上述課程集合中,?等數(shù)學(xué)是課程集合的元素。根據(jù)集合中元素數(shù)量是否有限,可將集合分為有限集合和無限集合。給定業(yè)務(wù)所包含的數(shù)據(jù)抽象為集合后通常為有限集合,只是不同集合元素數(shù)量存在較大差異。2.1關(guān)系模型的數(shù)學(xué)基礎(chǔ)及形式化定義1.集合及域(2)集合的性質(zhì)及理解集合具有無序性、互異性和確定性,這些性質(zhì)也能反映在關(guān)系模型的構(gòu)建中。無序性:集合中元素之間不存在順序。例如:性別集合={男,女}={女,男};互異性:任何兩個元素都認為是不相同的,即每個元素只能出現(xiàn)?次。例如,在學(xué)號集合中不可能出現(xiàn)兩個重復(fù)的學(xué)號。確定性:給定?個集合和?個元素,元素只能屬于或者不屬于該集合,?者必居其?。例如:男是性別集合的元素,男屬于性別集合,但是男不是學(xué)號集合的元素,所以男不屬于學(xué)號集合。2.1關(guān)系模型的數(shù)學(xué)基礎(chǔ)及形式化定義1.集合及域(3)域(Domain)定義2.2域是一組具有相同數(shù)據(jù)類型的值的集合,又稱為值域(用D表示)。例如,整數(shù)、實數(shù)和字符串的集合都是域。域中所包含的值的個數(shù)稱為域的基數(shù)(用m表示),例如,以教師關(guān)系t為例D1={劉楊,石麗,顧偉,趙禮,趙希希,張剛},m1=6;D2={男,女},m2=2;D3={26,30,32,36,40,50},m3=6。其中,D1、D2、D3分別表示教師關(guān)系中的姓名域、性別域和年齡域的集合。2.1關(guān)系模型的數(shù)學(xué)基礎(chǔ)及形式化定義2.笛卡爾積與關(guān)系(1)笛卡爾積(CartesianProduct)定義2.3給定一組域D1,D2,…,Dn(它們包含的元素可以完全不同,也可以部分或全部相同),其笛卡爾積為:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}

每一個元素(d1,d2,…,dn)中的每一個值di叫做一個分量(Component),分量來自相應(yīng)的域(di∈Di)每一個元素(d1,d2,…,dn)叫做一個n元組(n-Tuple),簡稱元組(Tuple)。但元組是有序的,相同分量di的不同排序所構(gòu)成的元組不同。如,以下三個元組是不同的,(1,2,3)≠(2,3,1)≠(1,3,2)2.1關(guān)系模型的數(shù)學(xué)基礎(chǔ)及形式化定義2.笛卡爾積與關(guān)系(1)笛卡爾積(CartesianProduct)若Di(i=1,2,…,n)為有限集,Di中的集合元素個數(shù)稱為Di的基數(shù),用mi(i=1,2,…,n)表示,則笛卡爾積D1×D2×…×Dn的基數(shù)M(即元組(d1,d2,…,dn)的個數(shù))為所有域的基數(shù)的累乘之積。例如D1表示學(xué)生姓名域{張?,王天,趙啟,…};D2表示課程名稱域{數(shù)據(jù)庫系統(tǒng),離散數(shù)學(xué),...};D1×D2={(張一,數(shù)據(jù)庫系統(tǒng)),(王天,數(shù)據(jù)庫系統(tǒng)),(趙啟,數(shù)據(jù)庫系統(tǒng)),(張一,離散數(shù)學(xué)),...}。其中,(張一,數(shù)據(jù)庫系統(tǒng))為元組,元組中第一個分量來源于姓名域D1,第二個分量來源于課程名稱域D2。2.1關(guān)系模型的數(shù)學(xué)基礎(chǔ)及形式化定義2.笛卡爾積與關(guān)系(2)笛卡爾積(CartesianProduct)由于元組中分量位置代表了參與笛卡爾積運算的域,因此,可根據(jù)元組中出現(xiàn)的各個分量,推理得出參與笛卡爾積運算的域,同時,也可將笛卡爾積的集合形式表示為二維表形式。例如,笛卡爾積D1×D2的二維表形式為姓名課程張一數(shù)據(jù)庫系統(tǒng)王天數(shù)據(jù)庫系統(tǒng)趙啟數(shù)據(jù)庫系統(tǒng)張一離散數(shù)學(xué)王天離散數(shù)學(xué)趙啟離散數(shù)學(xué)......2.1關(guān)系模型的數(shù)學(xué)基礎(chǔ)及形式化定義2.笛卡爾積與關(guān)系(3)關(guān)系(Relation)定義2.4笛卡爾積D1×D2×…×Dn的任一子集稱為定義在域D1,D2,…,Dn上的n元關(guān)系(Relation),可用R(D1,D2,…,Dn)表示。其中,R表示關(guān)系的名字,n是關(guān)系的目或度(Degree)。例如,笛卡爾積D1×D2的某個子集可以構(gòu)成如下所示的教師關(guān)系T1tn姓名sex性別劉楊男石麗女顧偉男趙禮女趙希希女張剛男屬性屬性的名字唯一

元組域2.1關(guān)系模型的數(shù)學(xué)基礎(chǔ)及形式化定義2.笛卡爾積與關(guān)系(3)關(guān)系(Relation)關(guān)系的幾點說明:(1)在關(guān)系R中,當(dāng)n=1時,稱為單元關(guān)系。當(dāng)n=2時,稱為二元關(guān)系,以此類推。(2)關(guān)系中的元組通常用t表示,關(guān)系中元組個數(shù)是關(guān)系的基數(shù)。(3)關(guān)系中的不同域(列)的取值可以相同,為了加以區(qū)別,必須對每個域(列)起一個名字,稱為屬性(Attribute),n元關(guān)系必有n個屬性,屬性的名字唯一;屬性的取值范圍稱為值域,等價于對應(yīng)域Di(i=1,2,…,n)的取值范圍。具有相同關(guān)系框架的關(guān)系稱為同類關(guān)系。(4)在數(shù)學(xué)上,關(guān)系是笛卡爾積的任意子集,但在實際應(yīng)用中,關(guān)系是笛卡爾積中所取的有意義的子集。2.1關(guān)系模型的數(shù)學(xué)基礎(chǔ)及形式化定義2.笛卡爾積與關(guān)系(3)關(guān)系(Relation)在關(guān)系模型中,關(guān)系可進一步定義為:

關(guān)系頭(Heading)+關(guān)系體(Body)

由屬性名的集合組成關(guān)系結(jié)構(gòu)中的內(nèi)容或者數(shù)據(jù)不變可變定義2.5定義在域D1,D2,…,Dn(不要求完全相異)上的關(guān)系由關(guān)系頭(Heading)和關(guān)系體(Body)組成。2.1關(guān)系模型的數(shù)學(xué)基礎(chǔ)及形式化定義3.關(guān)系的性質(zhì)列是同質(zhì)的,即每一列中的分量必須來自同一個域,必須是同一類型的數(shù)據(jù)。不同的屬性可來自同一個域,但不同的屬性必須有不同的名字。例如,假設(shè)某關(guān)系中的兩個屬性“職業(yè)”和“兼職”,它們可以來自同一個域{教師,工人,輔導(dǎo)員}。列的順序可以任意交換。但交換時,應(yīng)連同屬性名一起交換,否則將得到不同的關(guān)系。關(guān)系中元組的順序(即行序)可任意,在一個關(guān)系中可以任意交換兩行的次序。因為關(guān)系是以元組為元素的集合,而集合中的元素是無序的,所以作為集合元素的元組也是無序的。關(guān)系中不允許出現(xiàn)相同的元組。因為數(shù)學(xué)上集合中沒有相同的元素,而關(guān)系是元組的集合,所以作為集合元素的元組應(yīng)該是唯一的。2.1關(guān)系模型的數(shù)學(xué)基礎(chǔ)及形式化定義3.關(guān)系的性質(zhì)關(guān)系中每一分量必須是不可分的數(shù)據(jù)項,也就是說,不能出現(xiàn)“表中有表”的現(xiàn)象。滿足此條件的關(guān)系稱為規(guī)范化關(guān)系,否則稱為非規(guī)范化關(guān)系。例如,以下左表是非規(guī)范化關(guān)系,可以把其中的屬性“籍貫”分成兩個新的屬性,即“?。▍^(qū)市)”、“市/縣”,將其規(guī)范化,如右表所示。姓名籍貫省市/縣張強吉林長春王麗山西大同姓名省市/縣張強吉林長春王麗山西大同非規(guī)范化的關(guān)系規(guī)范化的關(guān)系主要內(nèi)容關(guān)系模型的構(gòu)成原理01OPTION03OPTION關(guān)系的完整性和碼02OPTION關(guān)系模式和關(guān)系數(shù)據(jù)庫模式04OPTION關(guān)系代數(shù)2.2關(guān)系模式與關(guān)系數(shù)據(jù)庫模式1.關(guān)系模式定義2.6關(guān)系的描述稱為關(guān)系模式(RelationSchema)。它可以形式化地表示為:R(U,D,DOM,F(xiàn))關(guān)系模式通常簡記為:R(U)或R(A1,A2,…,An)R--關(guān)系名U--屬性名集合D--屬性所來自的域DOM--屬性向域的映像集合F--屬性間數(shù)據(jù)的依賴關(guān)系集合屬性名

2.2關(guān)系模式與關(guān)系數(shù)據(jù)庫模式1.關(guān)系模式關(guān)系模式關(guān)系關(guān)系頭關(guān)系體靜態(tài)、穩(wěn)定,固定不變隨數(shù)據(jù)更新不斷變化2.2關(guān)系模式與關(guān)系數(shù)據(jù)庫模式1.關(guān)系模式例如,在第1章的表1-1~表1~5所示的教學(xué)數(shù)據(jù)庫teaching中,共有五個關(guān)系,其關(guān)系模式可分別表示為:教師(教師號,姓名,性別,年齡,職稱,工資,專業(yè),院系)學(xué)生(學(xué)號,姓名,性別,年齡,專業(yè),院系)課程(課程號,課程名,課時)選課(學(xué)號,課程號,成績)授課(教師號,課程號)2.2關(guān)系模式與關(guān)系數(shù)據(jù)庫模式1.關(guān)系模式對于上述每個關(guān)系模式,又有其相應(yīng)的實例例如,在第1章的表1-1中,與教師關(guān)系模式對應(yīng)的數(shù)據(jù)庫中的實例如下表所示。t1劉楊男40教授3610.5計算機信息學(xué)院t2石麗女26講師2923.3信息信息學(xué)院t3顧偉男32副教授3145計算機信息學(xué)院t4趙禮女50教授4267.9自動化工學(xué)院t5趙希希女36副教授3332.67數(shù)學(xué)理學(xué)院t6張剛男30講師3012自動化工學(xué)院2.2關(guān)系模式與關(guān)系數(shù)據(jù)庫模式2.關(guān)系數(shù)據(jù)庫模式關(guān)系數(shù)據(jù)庫模式關(guān)系數(shù)據(jù)庫型值靜態(tài)、穩(wěn)定,固定不變隨數(shù)據(jù)更新不斷變化主要內(nèi)容關(guān)系模型的構(gòu)成原理01OPTION03OPTION關(guān)系的完整性和碼02OPTION關(guān)系模式和關(guān)系數(shù)據(jù)庫模式04OPTION關(guān)系大似乎2.3關(guān)系的完整性和碼1.候選碼和主碼(1)候選碼定義2.6設(shè)關(guān)系R有屬性A1,A2,…,An,其屬性集K=(Ai,Aj,…,Ak),當(dāng)且僅當(dāng)滿足下列條件時,K被稱為候選碼。唯一性(Uniqueness),關(guān)系R的任意兩個不同元組,其屬性集K的值是不同的。最小性(Minimum),組成關(guān)系鍵的屬性集(Ai,Aj,…,Ak)中,任一屬性都不能從屬性集K中刪掉,否則將破壞唯一性的性質(zhì)。“課程關(guān)系”中的課程號能唯一標(biāo)識每一門課程,則屬性“課程號”是課程關(guān)系的候選碼“授課關(guān)系”中,只有屬性的組合“教師號+課程號”才能唯一地區(qū)分每一條授課記錄,則屬性集“教師號+課程號”是授課關(guān)系的候選碼“選課關(guān)系”中“學(xué)號+課程號”的組合是唯一的,同時,“學(xué)號+課程號”滿足最小性,從中去掉任一屬性,都無法唯一標(biāo)識選課記錄2.3關(guān)系的完整性和碼1.候選碼和主碼(2)主碼如果一個關(guān)系中有多個候選碼,可以從中選擇一個作為查詢、插入或刪除元組的操作變量,被選用的候選碼稱為主碼主碼也稱為主關(guān)系鍵、主鍵、關(guān)系鍵、關(guān)鍵字等,后續(xù)章節(jié)中,統(tǒng)一稱為主碼例如,假設(shè)在學(xué)生關(guān)系中增加了一個屬性“身份證號”,則“學(xué)號”和“身份證號”都可作為學(xué)生關(guān)系的候選碼。如果選定“學(xué)號”作為數(shù)據(jù)操作的依據(jù),則“學(xué)號”為主碼。如果選定“身份證號”作為數(shù)據(jù)操作的依據(jù),則“身份證號”為主碼。主碼是關(guān)系模型中的一個重要概念,每個關(guān)系有且只有一個主碼,選定以后,不能隨意改變。2.3關(guān)系的完整性和碼1.候選碼和主碼(3)主屬性和非主屬性主屬性(PrimeAttribute)是指包含在主碼中的各個屬性非主屬性(Non-PrimeAttribute)是指不包含在任何候選碼中的屬性,也稱為非碼屬性在最簡單的情況下,一個候選碼只包含一個屬性,如學(xué)生關(guān)系中的“學(xué)號”,教師關(guān)系中的“教師號”在最極端的情況下,例如,在第1章的表1-5所示的授課關(guān)系中,所有屬性的組合,即“教師號+課程號”是關(guān)系的候選碼,這時稱為全碼(All-key)。2.3關(guān)系的完整性和碼2.外碼定義2.7如果關(guān)系R2的一個或一組屬性X不是R2的主碼,而是另一關(guān)系R1的主碼,則該屬性或?qū)傩越MX稱為關(guān)系R2的外碼(Foreignkey)或外部關(guān)系鍵(在后續(xù)章節(jié)中統(tǒng)一稱為外碼),并稱關(guān)系R2為參照關(guān)系(ReferencingRelation),關(guān)系R1為被參照關(guān)系(ReferencedRelation)。關(guān)系R1關(guān)系R2屬性X屬性Y…屬性X屬性Z…主碼

主碼

外碼或外部關(guān)系鍵參照關(guān)系

被參照關(guān)系

被參照關(guān)系的主碼和參照關(guān)系的外碼必須定義在同一個域上2.3關(guān)系的完整性和碼3.關(guān)系的完整性完整性約束實體完整性參照完整性用戶自定義完整性必須滿足體現(xiàn)具體領(lǐng)域中的語義約束2.3關(guān)系的完整性和碼3.關(guān)系的完整性(1)實體完整性實體完整性是指主碼的值不能為空或部分為空課程關(guān)系中的主碼“課程號”不能為空授課關(guān)系中的主碼“教師號+課程號”不能部分為空,即“教師號”和“課程號”兩個字段的取值都不能為空。2.3關(guān)系的完整性和碼3.關(guān)系的完整性(2)參照完整性如果關(guān)系的外碼X與關(guān)系R1的主碼相符,則R2中X的每個值或者等于R1中主碼的某一個值或者取空值表示未分配院系2.3關(guān)系的完整性和碼3.關(guān)系的完整性(3)用戶自定義完整性用戶自定義完整性是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求屬性值根據(jù)實際需要,要具備一些約束條件。如規(guī)定選課關(guān)系中成績屬性的取值范圍在0和100之間;某些數(shù)據(jù)的輸入格式要有一些限制等。關(guān)系模型應(yīng)該提供定義和檢驗這類完整性的機制,以便用統(tǒng)一的、系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能。主要內(nèi)容關(guān)系模型的構(gòu)成原理01OPTION03OPTION關(guān)系的完整性和碼02OPTION關(guān)系模式和關(guān)系數(shù)據(jù)庫模式04OPTION關(guān)系代數(shù)2.4關(guān)系代數(shù)關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系操作關(guān)系完整性約束查詢更新插入刪除修改

關(guān)系模型2.4關(guān)系代數(shù)北京林業(yè)大學(xué)信息學(xué)院1關(guān)系代數(shù)的分類及其運算符關(guān)系代數(shù)是一種抽象的查詢語言

關(guān)系代數(shù)的運算對象與運算結(jié)果都是關(guān)系關(guān)系代數(shù)運算符∪-∩

×

∏??xθy÷>,≥<,≤=,≠∧∨┐

集合運算符

關(guān)系運算符

比較運算符邏輯運算符第2章北京林業(yè)大學(xué)信息學(xué)院2.4關(guān)系代數(shù)關(guān)系代數(shù)的運算按運算符的不同主要分為兩類:傳統(tǒng)的集合運算:把關(guān)系看成元組的集合,以元組作為集合中元素來進行運算,其運算是從關(guān)系的“水平”方向即行的角度進行的。包括并、差、交和笛卡爾積等運算。專門的關(guān)系運算:不僅涉及行運算,也涉及列運算,這種運算是為數(shù)據(jù)庫的應(yīng)用而引進的特殊運算。包括選取、投影、連接和除法等運算。2.4關(guān)系代數(shù)北京林業(yè)大學(xué)信息學(xué)院2傳統(tǒng)的集合運算設(shè)給定兩個關(guān)系R、S,若滿足:(1)

具有相同的列數(shù)(或稱度數(shù))n;(2)

R中第i個屬性和S中第i個屬性必須來自同一個域。則說關(guān)系R、S是相容的。除笛卡爾積外,其他的集合運算要求參加運算的關(guān)系必須滿足上述的相容性定義。2.4關(guān)系代數(shù)北京林業(yè)大學(xué)信息學(xué)院并(Union):R∪S={t|t∈R∨t∈S}差(Difference):R-S={t|t∈R∧┐t∈S}交(Intersection):R∩S={t|t∈R∧t∈S}廣義笛卡爾積(ExtendedCartesianProduct):R×S={tr⌒ts|tr∈R∧ts∈S}R∩S=R-(R-S)2.4關(guān)系代數(shù)【例】

如圖2-3(a)、(b)所示的兩個關(guān)系R與S為相容關(guān)系,(c)為R與S

的并,(d)為R與S的差,(e)為R與S的交,(f)為R與S的廣義笛卡爾積。

ABCABCa1b1c1a1b1c1a1b1c2a2b2c1a2b2c1a2b3c2(a)(b)

R

S2.4關(guān)系代數(shù)ABCa1b1c1a2b2c1

R∩S

(e)ABCa1b1c2(d)R-SABCa1b1c1a1b1c2a2b2c1a2b3c2R∪S

(c)2.4關(guān)系代數(shù)北京林業(yè)大學(xué)信息學(xué)院ABCABCa1b1c1a1b1c1a1b1c1a2b2c1a1b1c1a2b3c2a1b1c2a1b1c1a1b1c2a2b2c1a1b1c2a2b3c2a2b2c1a1b1c1a2b2c1a2b2c1a2b2c1a2b3c2(f)圖2-3傳統(tǒng)的集合運算

R×S2.4關(guān)系代數(shù)北京林業(yè)大學(xué)信息學(xué)院2.3.3專門的關(guān)系運算由于傳統(tǒng)的集合運算,只是從行的角度進行,而要靈活地實現(xiàn)關(guān)系數(shù)據(jù)庫多樣的查詢操作,必須引入專門的關(guān)系運算。在講專門的關(guān)系運算之前,為敘述上的方便先引入幾個概念。

(1)設(shè)關(guān)系模式為R(A1,A2,……An),它的一個關(guān)系為R,t∈R表示t是R的一個元組,t[Ai]則表示元組t中相應(yīng)于屬性Ai的一個分量。2.4關(guān)系代數(shù)北京林業(yè)大學(xué)信息學(xué)院(2)若A={Ai1,Ai2,……,Aik},其中Ai1,Ai2,……,Aik是A1,A2,……,An中的一部分,則A稱為屬性列或域列,?則表示{A1,A2,……,An}中去掉{Ai1,Ai2,……,Aik}后剩余的屬性組。t[A]={t[Ai1],t[Ai2],……,t[Aik]}表示元組t在屬性列A上諸分量的集合。(3)R為n元關(guān)系,S為m元關(guān)系,tr∈R,ts∈S,tr⌒

ts稱為元組的連接(Concatenation),它是一個n+m列的元組,前n個分量為R的一個n元組,后m個分量為S中的一個m元組。(4)給定一個關(guān)系R(X,Z),X和Z為屬性組,定義當(dāng)t[X]=x時,x在R中的像集(Imageset),為Zx={t[Z]|t∈R,t[X]=x},它表示R中的屬性組X上值為x的各元組在Z上分量的集合。

北京林業(yè)大學(xué)信息學(xué)院2.4關(guān)系代數(shù)x1在R中的像集Zx1={Z1,Z2,Z3}x2在R中的像集Zx2={Z2,Z3}x3在R中的像集Zx3={Z1,Z3}Z3x3Z1x3Z3x2Z2x2Z3x1Z2x1Z1x1R2.4關(guān)系代數(shù)北京林業(yè)大學(xué)信息學(xué)院[例2-5]查詢計算機系的全體學(xué)生。

Dept=‘計算機’(S)或

5=‘計算機’(S)(其中5為屬性Dept的序號)運算結(jié)果如圖選?。⊿election)

F(R)={t|t∈R∧F(t)='真'}從行的角度進行的運算F為選取的條件2.4關(guān)系代數(shù)北京林業(yè)大學(xué)信息學(xué)院[例2]查詢工資高于1000元的男教師。

(Sal>1000)∧(Sex='男')(T)運算結(jié)果如圖第2章北京林業(yè)大學(xué)信息學(xué)院2.4關(guān)系代數(shù)[例2-7]查詢教師的姓名、教師號及其職稱。ΠTN,TNo,Prof(T)或Π2,1,5(T)(其中2,1,5分別為屬性TN、TNo和Prof的序號)運算結(jié)果如圖投影(Projection)

ΠA(R)={t[A]|t∈R}A為R中的屬性列從列的角度進行的運算第2章北京林業(yè)大學(xué)信息學(xué)院2.4關(guān)系代數(shù)[例2-8]查詢教師關(guān)系中有哪些系。ΠDept(T)運算結(jié)果如圖第2章北京林業(yè)大學(xué)信息學(xué)院2.4關(guān)系代數(shù)[例2-9]查詢講授C5課程的教師號。ΠTNo(σCNo='C5'(TC))運算結(jié)果如圖第2章北京林業(yè)大學(xué)信息學(xué)院2.4關(guān)系代數(shù)自然連接:在等值連接的情況下,當(dāng)連接屬性X與Y具有相同屬性組時,把在連接結(jié)果中重復(fù)的屬性列去掉,記為:R

?

Sθ連接(θJoin)

={t

r⌒ts|tr∈R∧ts∈S∧tr[X]

ts[Y]為真}

為算術(shù)比較運算符=等值連接<小于連接>大于連接R?x

yS第2章北京林業(yè)大學(xué)信息學(xué)院2.4關(guān)系代數(shù)

[例2-10]設(shè)有如圖2-9(a)、(b)所示的兩個關(guān)系R與S,(c)為R和S的大于連接(C>D),(d)為R和S的等值連接(C=D),(e)為R和S的等值連接(R.B=S.B),(f)為R和S的自然連接。

(a)

(b)

第2章北京林業(yè)大學(xué)信息學(xué)院2.4關(guān)系代數(shù)

(c)

(d)

(f)

(e)

第2章北京林業(yè)大學(xué)信息學(xué)院2.4關(guān)系代數(shù)[例2-11]查詢講授“數(shù)據(jù)庫”課程的教師姓名。ΠTN(

CN='數(shù)據(jù)庫'(C)?TC?ΠTNo,TN(T))或ΠTN(ΠTNo(

CN='數(shù)據(jù)庫'(C)?TC)?ΠTNo,TN(T))運算結(jié)果如圖等值連接與自然連接的區(qū)別

自然連接要求相等屬性值的屬性名相同,而等值連接不要求

自然連接是去掉重復(fù)列的等值連接第2章北京林業(yè)大學(xué)信息學(xué)院2.4關(guān)系代數(shù)除法(Division)除法運算同時從行和列的角度進行運算,適合于包含“全部”之類的短語的查詢。Yx為x在R中的像集,x=tr[X]R÷S={tr[X]|tr∈R∧Πy(S)

Yx}第2章北京林業(yè)大學(xué)信息學(xué)院2.4關(guān)系代數(shù)【例2-12】

已知關(guān)系R和S,如圖2-11(a),(b)所示,則R÷S如圖(c)所示。ABCDa1b2c3d5a1b2c4d6a2b4c1d3a3b5c2d8R(a)CDFc3d5f3c4d6f4S(b)

ABa1b2R÷S(c)

第2章北京林業(yè)大學(xué)信息學(xué)院2.4關(guān)系代數(shù)與除法的定義相對應(yīng),本題中

X={A,B}={(a1,b2),(a2,b4),(a3,b5)},Y={C,D}={(c3,d5),(c4,d6)}Z={F}={f3,f4}其中,元組在X上各個分量值的像集分別為:(a1,b2)的象集為{(c3,d5),(c4,d6)}(a2,b4)的象集為{(c1,d3)}(a3,b5)的象集為{(c2,d8)}S在Y上的投影為{(c3,d5),(c4,d6)}顯然只有(a1,b2)的像集包含S在Y上的投影,所以R÷S={(a1,b2)}第2章北京林業(yè)大學(xué)信息學(xué)院2.4關(guān)系代數(shù)[例2-13]查詢選修了全部課程的學(xué)生學(xué)號和姓名。

ΠSNo,CNo(SC)÷ΠCNo(C)*ΠSNo,SN(S)[例2-14]查詢至少選修了C1課程和C3課程的學(xué)生學(xué)號。

ΠSNo,CNo(SC)÷ΠCNo(

CNo='C1'∨CNo='C3'(C))只有S4同學(xué)的像集至少包含了C1課程和C3課程,因此,查詢結(jié)果為S4。北京市優(yōu)質(zhì)本科課程教材數(shù)據(jù)庫原理及應(yīng)用教程(第5版)“十二五”普通高等教育本科國家級規(guī)劃教材國家級一流線上課程配套教材第3章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言——SQL第3章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言——SQL目錄北京林業(yè)大學(xué)信息學(xué)院SQL的基本概念與特點01OPTION03OPTION數(shù)據(jù)庫的操作02OPTIONSQLServer2022Express簡介數(shù)據(jù)表的操作04OPTION06OPTION多關(guān)系(表)的連接查詢05OPTION單關(guān)系(表)的數(shù)據(jù)查詢SQL的基本概念與特點07OPTION09OPTION數(shù)據(jù)庫的操作08OPTIONSQLServer2022Express簡介數(shù)據(jù)表的操作10OPTION11OPTION單關(guān)系(表)的數(shù)據(jù)查詢北京林業(yè)大學(xué)信息學(xué)院結(jié)構(gòu)化查詢語言StructuredQueryLanguage數(shù)據(jù)查詢數(shù)據(jù)定義數(shù)據(jù)操縱數(shù)據(jù)控制3.1SQL的基本概念與特點北京林業(yè)大學(xué)信息學(xué)院3.1.1SQL的發(fā)展及標(biāo)準(zhǔn)化SQL的發(fā)展ChamberlinSEQUEL大型數(shù)據(jù)庫

SybaseINFORMIXSQLServerOracleDB2INGRES----------------小型數(shù)據(jù)庫

FoxProAccessSQL3.1SQL的基本概念與特點北京林業(yè)大學(xué)信息學(xué)院3.1.2SQL的基本概念基本表(BaseTable)

一個關(guān)系對應(yīng)一個基本表

一個或多個基本表對應(yīng)一個存儲文件視圖(View)

視圖是從一個或幾個基本表導(dǎo)出的表,是一個虛表 S(SNo,SN,Sex,Age,Dept)

S_Male(SNo,SN,Age,Dept)無數(shù)據(jù),只有定義Sex='男'在數(shù)據(jù)庫中只存有S_Male的定義,數(shù)據(jù)仍在S表中3.1SQL的基本概念與特點北京林業(yè)大學(xué)信息學(xué)院

SQL語言支持的關(guān)系數(shù)據(jù)庫的三級模式結(jié)構(gòu)3.1SQL的基本概念與特點北京林業(yè)大學(xué)信息學(xué)院3.1.3SQL的主要特點SQL語言是類似于英語的自然語言,簡潔易用SQL是一種一體化的語言SQL語言是一種非過程化的語言SQL語言既是自含式語言,又是嵌入式語言SQL語言具有數(shù)據(jù)查詢、數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制四種功能SQL語言是一種面向集合的語言3.2SQLServer2022Express簡介北京林業(yè)大學(xué)信息學(xué)院3.2.1SQLServer的發(fā)展與版本SQLServer是一個支持關(guān)系模型的關(guān)系數(shù)據(jù)庫管理系統(tǒng)

企業(yè)版(EnterpriseEdition)

標(biāo)準(zhǔn)版(StandardEdition)

Web版(WebEdition)

開發(fā)者版(DeveloperEdition)

3.2SQLServer2022Express簡介3.2.2SQLServer2022的主要組件組件

功能數(shù)據(jù)庫引擎存儲、處理和保護數(shù)據(jù)的核心引擎,復(fù)制,全文搜索以及用于管理關(guān)系數(shù)據(jù)和XML數(shù)據(jù)的工具。SQLServerManagementStudio集成環(huán)境,用于配置和管理SQLServer的主要組件。Full-textSearch用于搜索文本多的數(shù)據(jù)、ReportingServices(用于根據(jù)您的權(quán)數(shù)據(jù)創(chuàng)建功能強大的報表)。SQLLocalDB輕型版本,該版本具備所有可編程性功能,在用戶模式下運行,并且具有快速的零配置安裝和必備組件要求較少的特點北京林業(yè)大學(xué)信息學(xué)院3.2.3ManagementStudio開始→所有程序→MicrosoftSQLServerTools→MicrosoftSQLServerManage

溫馨提示

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

評論

0/150

提交評論