




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫設(shè)計基礎(chǔ) 考試大綱,1.數(shù)據(jù)庫的基本概念:數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫系統(tǒng)。 2.數(shù)據(jù)模型,實體聯(lián)系模型及E-R圖,從E-R圖導(dǎo)出關(guān)系數(shù)據(jù)模型。 3.關(guān)系代數(shù)運算,包括集合運算及選擇、投影、連接運算,數(shù)據(jù)庫規(guī)范化理論。 4.數(shù)據(jù)庫設(shè)計方法和步驟:需求分析、概念設(shè)計、邏輯設(shè)計和物理設(shè)計的相關(guān)策略。,歷年考點分析,本章在考試中一般出現(xiàn)2-4個小題。 本章內(nèi)容概括性強(qiáng),比較抽象,難于理解,因此在復(fù)習(xí)的時候,首先熟讀講義,其次對數(shù)據(jù)庫系統(tǒng)的基本概念及原理等知識要注意理解、加強(qiáng)記憶。,數(shù)據(jù)庫技術(shù)基礎(chǔ),數(shù)據(jù)庫系統(tǒng)概述 關(guān)系數(shù)據(jù)庫 數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫技術(shù)新發(fā)展,本章要點,數(shù)據(jù)庫技術(shù)地位,數(shù)據(jù)庫技術(shù)是
2、計算機(jī)領(lǐng)域的一個重要分支; 計算機(jī)應(yīng)用的三大領(lǐng)域:科學(xué)計算、數(shù)據(jù)處理和過程控制,其中數(shù)據(jù)處理占其中的的70%; 作為一門數(shù)據(jù)處理技術(shù)發(fā)展起來。,數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫系統(tǒng)概述,一、數(shù)據(jù) 數(shù)據(jù)(Data)是描述事物的符號。 數(shù)據(jù)分兩部分: (1)臨時數(shù)據(jù)-隨程序結(jié)束而消亡,一般存于內(nèi)存。 (2)持久性數(shù)據(jù)對系統(tǒng)起著長期持久作用的作用。 數(shù)據(jù)有型和值之分,比如整型值 15,數(shù)據(jù)庫(Database,簡稱DB)是長期儲存在計算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)集合。,數(shù)據(jù)庫系統(tǒng)概述,二、數(shù)據(jù)庫,三、數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫管理系統(tǒng)(DataBase Management Sys
3、tem,DBMS)位于應(yīng)用程序和操作系統(tǒng)之間,是為建立、使用和維護(hù)數(shù)據(jù)庫而配置的一層數(shù)據(jù)管理軟件,負(fù)責(zé)對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行統(tǒng)一的管理和控制。,數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫系統(tǒng)概述,三、數(shù)據(jù)庫管理系統(tǒng)的功能,數(shù)據(jù)定義功能:提供數(shù)據(jù)定義語言(DDL) 定義數(shù)據(jù)庫中的數(shù)據(jù)對象 數(shù)據(jù)操縱功能:提供數(shù)據(jù)操縱語言(DML) 運行管理:保證數(shù)據(jù)的安全性、完整性、并發(fā)控制、系統(tǒng)恢復(fù) 數(shù)據(jù)庫的建立和維護(hù)功能:數(shù)據(jù)庫數(shù)據(jù)批量裝載、 數(shù)據(jù)庫轉(zhuǎn)儲、介質(zhì)故障恢復(fù)等,數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫系統(tǒng)概述,三、典型的數(shù)據(jù)庫管理系統(tǒng),Sybase、Oracle、Informix、SQL
4、 Server、Foxpro 國產(chǎn)數(shù)據(jù)庫KINGBASE等 MYSQL、PostgreSQL等 ACCESS,數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫系統(tǒng)(Data Base System,DBS)是指帶有數(shù)據(jù)庫的計算機(jī)系統(tǒng)。包括數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用程序、數(shù)據(jù)庫管理員以及用戶等部分,數(shù)據(jù)庫系統(tǒng)概述,四、數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)的整體結(jié)構(gòu)化。 數(shù)據(jù)的共享性高,冗余度低。 數(shù)據(jù)的獨立性高。 數(shù)據(jù)的統(tǒng)一管理和控制。,數(shù)據(jù)庫系統(tǒng)概述,四、數(shù)據(jù)庫系統(tǒng)的特點,數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫系統(tǒng)概述,五、數(shù)據(jù)庫管理員,數(shù)據(jù)庫管理員(Data
5、base Administrator,簡稱DBA): 主要工作: (1)數(shù)據(jù)庫設(shè)計 (2)數(shù)據(jù)庫維護(hù) (3)改善系統(tǒng)性能,提高系統(tǒng)效率,數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫應(yīng)用系統(tǒng) DBAS(Database Application System),數(shù)據(jù)庫應(yīng)用系統(tǒng)是數(shù)據(jù)庫系統(tǒng)再加上應(yīng)用軟件及應(yīng)用界面這三者組成。 具體包括:數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫管理員、硬件平臺、軟件平臺、應(yīng)用軟件、應(yīng)用界面。,基本概念的界定,數(shù)據(jù)庫 數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫技術(shù),數(shù)據(jù) 軟件 系統(tǒng) 學(xué)科,數(shù)據(jù)庫系統(tǒng)概述,數(shù)據(jù)管理技術(shù)的發(fā)展經(jīng)歷了以下三個階段: 人工管理階段 文件系統(tǒng)管理階段 數(shù)據(jù)庫系
6、統(tǒng)管理階段,數(shù)據(jù)管理技術(shù)的發(fā)展,一、人工管理階段,時期 40年代中-50年代中 產(chǎn)生的背景 應(yīng)用需求科學(xué)計算 硬件水平無直接存取存儲設(shè)備 軟件水平?jīng)]有操作系統(tǒng),數(shù)據(jù)庫系統(tǒng)概述,數(shù)據(jù)管理技術(shù)的發(fā)展,特點: 數(shù)據(jù)的管理者:應(yīng)用程序,數(shù)據(jù)不保存。 數(shù)據(jù)面向的對象:某一應(yīng)用程序 數(shù)據(jù)的共享程度:無共享、冗余度極大 數(shù)據(jù)的獨立性:不獨立,完全依賴于程序 數(shù)據(jù)的結(jié)構(gòu)化:無結(jié)構(gòu) 數(shù)據(jù)控制能力:應(yīng)用程序自己控制,數(shù)據(jù)庫系統(tǒng)概述,數(shù)據(jù)管理技術(shù)的發(fā)展,一、人工管理階段,數(shù)據(jù)庫系統(tǒng)概述,數(shù)據(jù)管理技術(shù)的發(fā)展,一、人工管理階段,二、文件系統(tǒng)管理階段,時期 50年代末-60年代中 產(chǎn)生的背景 應(yīng)用需求科學(xué)計算、管理 硬件
7、水平磁盤、磁鼓 軟件水平有文件系統(tǒng),數(shù)據(jù)庫系統(tǒng)概述,數(shù)據(jù)管理技術(shù)的發(fā)展,特點: 數(shù)據(jù)的管理者:文件系統(tǒng),數(shù)據(jù)可長期保存 數(shù)據(jù)面向的對象:某一應(yīng)用程序 數(shù)據(jù)的共享程度:共享性差、冗余度大 數(shù)據(jù)的結(jié)構(gòu)化:記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu) 數(shù)據(jù)的獨立性:獨立性差,數(shù)據(jù)的邏輯結(jié) 構(gòu)改變必須修改應(yīng)用程序 數(shù)據(jù)控制能力:應(yīng)用程序自己控制,數(shù)據(jù)庫系統(tǒng)概述,數(shù)據(jù)管理技術(shù)的發(fā)展,二、文件系統(tǒng)管理階段,數(shù)據(jù)庫系統(tǒng)概述,數(shù)據(jù)管理技術(shù)的發(fā)展,二、文件系統(tǒng)管理階段,三、數(shù)據(jù)庫系統(tǒng)管理階段,時期 60年代末以來 產(chǎn)生的背景 應(yīng)用背景大規(guī)模管理 硬件背景大容量磁盤 軟件背景有數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫系統(tǒng)概述,數(shù)據(jù)管理技術(shù)的發(fā)展,特點
8、 數(shù)據(jù)的管理者:DBMS 數(shù)據(jù)面向的對象:現(xiàn)實世界 數(shù)據(jù)的共享程度:共享性高 數(shù)據(jù)的獨立性:高度的物理獨立性和 一定的邏輯獨立性 數(shù)據(jù)的結(jié)構(gòu)化:整體結(jié)構(gòu)化 數(shù)據(jù)控制能力:由DBMS統(tǒng)一管理和控制,數(shù)據(jù)庫系統(tǒng)概述,數(shù)據(jù)管理技術(shù)的發(fā)展,三、數(shù)據(jù)庫系統(tǒng)管理階段,數(shù)據(jù)庫系統(tǒng)的特點,數(shù)據(jù)的集成性 數(shù)據(jù)的高共享性與低冗余性 數(shù)據(jù)獨立性高 物理獨立性 指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。當(dāng)數(shù)據(jù)的物理存儲改變了,應(yīng)用程序不用改變。 邏輯獨立性 指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的。數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。 數(shù)據(jù)統(tǒng)一管理與控制,數(shù)據(jù)庫系統(tǒng)概述,數(shù)據(jù)管理技術(shù)的發(fā)展
9、,三、數(shù)據(jù)庫系統(tǒng)管理階段,從數(shù)據(jù)庫管理系統(tǒng)角度看,數(shù)據(jù)庫系統(tǒng)通常采用三級模式結(jié)構(gòu)和兩級映射。三級模式結(jié)構(gòu)是由外模式、模式和內(nèi)模式三級組成,數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu),數(shù)據(jù)庫系統(tǒng)概述,數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)圖,模式(也稱邏輯模式、概念模式) 是數(shù)據(jù)庫中全局?jǐn)?shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述 所有用戶的公共數(shù)據(jù)視圖,綜合了所有用戶的需求 主要描述數(shù)據(jù)的概念記錄類型以及它們之間的關(guān)系 一個數(shù)據(jù)庫只有一個模式 模式的地位 是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層 與數(shù)據(jù)的物理存儲細(xì)節(jié)和硬件環(huán)境無關(guān) 與具體的應(yīng)用程序、開發(fā)工具及高級程序設(shè)計語言無關(guān),數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu),數(shù)據(jù)庫系統(tǒng)概述,一、三級模式結(jié)構(gòu),外模式(也稱子模式或用戶模
10、式) 是數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述 它由概念模式推導(dǎo)而出; 一個概念模式可以有若干個外模式 外模式的地位 介于模式與應(yīng)用之間,數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu),數(shù)據(jù)庫系統(tǒng)概述,一、三級模式結(jié)構(gòu),內(nèi)模式(也稱存儲模式、物理模式) 是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述 是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式 一個數(shù)據(jù)庫只有一個內(nèi)模式,數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu),數(shù)據(jù)庫系統(tǒng)概述,一、三級模式結(jié)構(gòu),內(nèi)模式是處于最底層,反映了數(shù)據(jù)在計算機(jī)物理結(jié)構(gòu)中的實際存儲形式; 概念模式處于中層,它反映了設(shè)計者的數(shù)據(jù)全局邏輯要求; 外模式處于最外層,它反映了用戶對數(shù)據(jù)的要求。,數(shù)據(jù)庫系統(tǒng)的體系
11、結(jié)構(gòu),數(shù)據(jù)庫系統(tǒng)概述,模式、外模式、內(nèi)模式三者地位關(guān)系,外模式模式映射 定義外模式與模式之間的對應(yīng)關(guān)系 每一個外模式都對應(yīng)一個外模式模式映射,數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu),數(shù)據(jù)庫系統(tǒng)概述,二、兩級映射,映射又稱為映像,它實質(zhì)就是一種對應(yīng)規(guī)則,指出映射雙方如何進(jìn)行轉(zhuǎn)換。,外模式模式映射的用途 保證數(shù)據(jù)的邏輯獨立性 當(dāng)模式改變時,數(shù)據(jù)庫管理員修改有關(guān)的外模式模式映射,使外模式保持不變。 應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。,數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu),數(shù)據(jù)庫系統(tǒng)概述,二、兩級映射,模式內(nèi)模式映射 模式內(nèi)模式映射定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲結(jié)
12、構(gòu)之間的對應(yīng)關(guān)系。 數(shù)據(jù)庫中模式內(nèi)模式映射是唯一的。,數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu),數(shù)據(jù)庫系統(tǒng)概述,二、兩級映射,模式內(nèi)模式映象的用途 保證數(shù)據(jù)的物理獨立性 當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了,數(shù)據(jù)庫管理員修改模式內(nèi)模式映象,使模式保持不變。 應(yīng)用程序不受影響。保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。,數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu),數(shù)據(jù)庫系統(tǒng)概述,二、兩級映射,將客觀事物抽象為能用計算機(jī)存儲和處理的數(shù)據(jù)需經(jīng)歷三個階段:現(xiàn)實世界、信息世界、計算機(jī)世界(數(shù)據(jù)世界),數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,模型是現(xiàn)實世界特征的模擬和抽象。 數(shù)據(jù)模型應(yīng)滿足三方面要求: 能比較真實地模擬現(xiàn)實世界; 容易為人所理解; 便于在計算機(jī)上
13、實現(xiàn)。 根據(jù)數(shù)據(jù)模型的應(yīng)用目的不同,數(shù)據(jù)模型分為三類 概念模型,也稱信息模型,它是按用戶的觀點來對數(shù)據(jù)進(jìn)行描述,有效和自然地模擬現(xiàn)實世界,給出數(shù)據(jù)的概念化結(jié)構(gòu)。 邏輯數(shù)據(jù)模型,它是按計算機(jī)系統(tǒng)的觀點對數(shù)據(jù)進(jìn)行描述 物理模型,給出計算機(jī)上物理結(jié)構(gòu)的表示。,數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,數(shù)據(jù)是現(xiàn)實世界符號的抽象。 數(shù)據(jù)模型(Data Model)是數(shù)據(jù)特征的抽象,它從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,為數(shù)據(jù)系統(tǒng)的信息表示與操作提供一個抽象的框架。,數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,一、數(shù)據(jù)模型的定義,數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)是所研究的對象類型的集合。 數(shù)據(jù)操作:數(shù)據(jù)操作是指對相應(yīng)數(shù)據(jù)結(jié)構(gòu)允許執(zhí)行的
14、操作的集合,包括操作及有關(guān)的操作規(guī)則 數(shù)據(jù)的完整性約束:數(shù)據(jù)的完整性約束是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,以保證數(shù)據(jù)的正確、有效和相容。,數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,一、數(shù)據(jù)模型的組成要素,實體:客觀存在并可相互區(qū)別的事物稱為實體(Entity)。實體可以是具體的人、事、物,也可以是抽象的概念或聯(lián)系。例如,一個職員、一名學(xué)生、一個車間、學(xué)生選課、車間領(lǐng)料等都是實體。 屬性:實體的特性稱為實體的屬性(Attribute)。一個實體可以由若干個屬性來刻畫。例如,學(xué)生可以由學(xué)號、姓名、專業(yè)、班級等屬性刻畫。,數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,二、實體-聯(lián)系
15、數(shù)據(jù)模型,碼: 能唯一的標(biāo)識實體的屬性集合稱為碼(Key)。例如,學(xué)號是學(xué)生實體的碼。 域: 屬性的取值范圍稱為該屬性的域(Domain)。例如,性別屬性的域為(男,女)。 聯(lián)系:(Relationship)在現(xiàn)實世界中,事物內(nèi)部以及事物之間是有聯(lián)系的,這些聯(lián)系在信息世界中反映為實體集內(nèi)部的聯(lián)系和實體集之間的聯(lián)系。,數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,二、實體-聯(lián)系數(shù)據(jù)模型,兩個實體集之間的聯(lián)系分為三類:,一對一聯(lián)系(1:1) 如果對于實體集A中的每一個實體,實體集B中至多有一個實體與之聯(lián)系,反之亦然,則稱實體集A與B具有一對一聯(lián)系,記為1:1。 例如,一個班級只有一個班長,而一個班長也只在一個班中任職
16、,則班級實體和班長實體是一對一的聯(lián)系。,數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,二、實體-聯(lián)系數(shù)據(jù)模型,一對多聯(lián)系(1:n) 如果對于實體集A中的每一個實體,實體集B中有n個實體(n0)與之聯(lián)系,反之,對于實體B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與B具有一對多聯(lián)系,記為1:n。 例如,一個班級中可以有若干名學(xué)生,而每個學(xué)生只在一個班級中學(xué)習(xí),則班級實體和學(xué)生實體是一對多的聯(lián)系。,數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,二、實體-聯(lián)系數(shù)據(jù)模型,兩個實體集之間的聯(lián)系分為三類:,多對多聯(lián)系(n:n) 如果對于實體集A中的每一個實體,實體集B中有n個實體(n0)與之聯(lián)系,反之,對于實體集B中的每一個
17、實體,實體集A中也有m個實體(m0)與之聯(lián)系,則稱實體集A與B具有多對多聯(lián)系,記為m:n。 例如,一門課程同時有若干個學(xué)生選修,而一個學(xué)生可以同時選修多門課程,則課程實體和學(xué)生實體是多對多的聯(lián)系,數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,二、實體-聯(lián)系數(shù)據(jù)模型,兩個實體集之間的聯(lián)系分為三類:,E-R圖,E-R圖的表示: 實體型:用矩形表示,矩形框內(nèi)寫明實體名。 屬性:用橢圓形表示,橢圓形內(nèi)寫明屬性名,并用無向邊將其與相應(yīng)的實體連接起來。 聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體或聯(lián)系連接起來,同時在無向邊旁標(biāo)上聯(lián)系的類型。,數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,二、實體-聯(lián)系數(shù)據(jù)模型,例:在學(xué)生選課
18、子系統(tǒng)中涉及到的實體以及實體的屬性為: 學(xué)生實體:學(xué)號、姓名、班級 課程實體:編號、名稱、性質(zhì)、學(xué)分 有關(guān)的語義如下: 每個學(xué)生可以選修多門課程; 每門課程可以被多個學(xué)生選修; 每個學(xué)生選修的每門課程都有一個成績。 可見學(xué)生實體和課程實體之間是多對多的聯(lián)系,而且聯(lián)系也有屬性,其屬性為成績。,數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,二、實體-聯(lián)系數(shù)據(jù)模型,E-R圖,數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,二、實體-聯(lián)系數(shù)據(jù)模型,E-R圖,概念模型強(qiáng)調(diào)以人為本,注重清晰、簡單、易于理解;邏輯數(shù)據(jù)模型以計算機(jī)為本,站在計算機(jī)的角度去看待各個數(shù)據(jù)及數(shù)據(jù)之間的聯(lián)系。 目前,數(shù)據(jù)庫領(lǐng)域中最常用的數(shù)據(jù)模型有四種:層次模型、網(wǎng)狀模型、關(guān)
19、系模型和面向?qū)ο竽P汀F渲袑哟文P秃途W(wǎng)狀模型統(tǒng)稱為非關(guān)系模型。,數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,三、邏輯數(shù)據(jù)模型,層次模型用樹形結(jié)構(gòu)來表示各類實體以及實體間的聯(lián)系。 有且只有一個結(jié)點沒有雙親結(jié)點,這個結(jié)點稱為根結(jié)點。 根以外的其他結(jié)點有且只有一個雙親結(jié)點。 層次模型的特點 任何一個給定的記錄值只有按其路徑查看時,才能顯示出它的全部意義,沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在。,數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,三、邏輯數(shù)據(jù)模型,層次模型,允許一個以上的結(jié)點無雙親; 一個結(jié)點可以有多于一個的雙親。 網(wǎng)狀模型有效的克服了層次模型不方便表達(dá)多對多的聯(lián)系的缺點,但由于網(wǎng)狀模型的靈活性,數(shù)據(jù)庫管理系統(tǒng)很難實現(xiàn)
20、,數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,三、邏輯數(shù)據(jù)模型,網(wǎng)狀模型,關(guān)系模型中的數(shù)據(jù)結(jié)構(gòu)是一張二維表,它由行和列組成。,數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,關(guān)系模型,三、邏輯數(shù)據(jù)模型,基本術(shù)語如下: 關(guān)系(Relation):一個關(guān)系對應(yīng)一張二維表。關(guān)系的名稱一般取為表格的名稱或按表格名稱的意思取名,如表中對應(yīng)關(guān)系的名稱取為學(xué)生。 元組(Tuple):表中的一行即為一個元組。 屬性(Atturibute):表中的一列即為一個屬性,每一列的第一行是屬性名,其余行是屬性值。 如學(xué)生表共有3列,對應(yīng)3個屬性,各屬姓名為:學(xué)號,姓名,班級。,數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,關(guān)系模型,三、邏輯數(shù)據(jù)模型,主碼(Key):表中的某個屬
21、性或?qū)傩越M合,它可以唯一標(biāo)識一個元組。如學(xué)生表中的學(xué)號可唯一標(biāo)識一個學(xué)生,因此“學(xué)號”是學(xué)生表的主碼。 域(Domain):屬性的取值范圍。如學(xué)號的域是9位數(shù)字字符序列,性別的域是(男,女)。 關(guān)系模式:對關(guān)系的描述,一般表示為: 關(guān)系名(屬性名1,屬性名2,屬性名n),數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,關(guān)系模型,三、邏輯數(shù)據(jù)模型,數(shù)據(jù)庫系統(tǒng)概述,數(shù)據(jù)模型,關(guān)系數(shù)據(jù)庫,關(guān)系應(yīng)滿足如下性質(zhì): 關(guān)系必須是規(guī)范化的,即要求關(guān)系必須滿足一定的規(guī)范條件,其中最基本的一條就是,關(guān)系的每一列不可再分。 關(guān)系中必須有主碼,使得元組唯一。如學(xué)生關(guān)系中,學(xué)號屬性是主碼,課程關(guān)系中,編號是主碼,選修關(guān)系中,學(xué)號和編號一起是
22、主碼。 元組的個數(shù)是有限的且元組的順序可以任意交換。 屬性名是唯一的且屬性列的順序可以任意交換。,關(guān)系模型的基本概念,一、關(guān)系數(shù)據(jù)結(jié)構(gòu),實體完整性規(guī)則 主碼的屬性值不能為空值。因為如果出現(xiàn)空值,那么主碼就無法保證元組的唯一性。 參照完整性規(guī)則 在關(guān)系模式中實體以及實體之間的聯(lián)系是用關(guān)系來描述的,所以自然存在著關(guān)系與關(guān)系之間的聯(lián)系,而關(guān)系之間的聯(lián)系是靠公共屬性實現(xiàn)的,如果這個公共屬性是一個關(guān)系R1的主碼,那么在另一個與它有聯(lián)系的關(guān)系R2中就稱為外碼。參照完整性規(guī)則告訴我們外碼的取值只有兩種可能,要么是空值,要么等于R1中某個元組的主碼值。,關(guān)系數(shù)據(jù)庫,關(guān)系模型的基本概念,二、關(guān)系完整性規(guī)則,用戶
23、定義完整性 反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。,關(guān)系數(shù)據(jù)庫,關(guān)系模型的基本概念,二、關(guān)系完整性規(guī)則,關(guān)系操作的對象是關(guān)系,結(jié)果也是關(guān)系。 查詢:就是在一個關(guān)系或多個關(guān)系中查找滿足條件的列或行,得到一個新的關(guān)系。 插入:在指定的關(guān)系中插入一個或多個元組。 刪除:將指定關(guān)系中的一個或多個滿足條件的元組刪除。 修改:針對指定關(guān)系中滿足條件的一個或多個元組修改其數(shù)據(jù)項的值。,關(guān)系數(shù)據(jù)庫,關(guān)系模型的基本概念,三、關(guān)系操作,投影:投影(Projection)的功能是選擇關(guān)系中的某些屬性,生成一個新的關(guān)系。 例如,在課程關(guān)系中查詢課程名稱和學(xué)分,就可以使用投影操作,僅選擇課程關(guān)系中名稱和學(xué)分屬
24、性列,得到對課程關(guān)系進(jìn)行投影操作后的結(jié)果關(guān)系。,關(guān)系數(shù)據(jù)庫,關(guān)系模型的基本概念,三、關(guān)系操作,選擇:選擇(Selection)是在一個關(guān)系中,選取符合給定條件的所有元組,生成新的關(guān)系。 例如,在學(xué)生關(guān)系中查詢計算機(jī)系的學(xué)生,就可對學(xué)生關(guān)系使用選擇操作,得到對學(xué)生關(guān)系進(jìn)行選擇操作后的結(jié)果關(guān)系。,關(guān)系數(shù)據(jù)庫,關(guān)系模型的基本概念,三、關(guān)系操作,自然連接:自然連接(Join)是將兩個具有公共屬性的關(guān)系,按照公共屬性值相等的條件連接成為一個新的關(guān)系。,關(guān)系數(shù)據(jù)庫,關(guān)系模型的基本概念,三、關(guān)系操作,關(guān)系數(shù)據(jù)庫,關(guān)系模型的基本概念,三、關(guān)系操作,關(guān)系數(shù)據(jù)庫,關(guān)系模型的基本概念,三、關(guān)系操作,關(guān)系數(shù)據(jù)庫,關(guān)系
25、模型的基本概念,三、關(guān)系操作,數(shù)據(jù)查詢是數(shù)據(jù)庫的核心操作 SELECT查詢語句的基本格式為: SELECT ALL | * , FROM , WHERE ,關(guān)系數(shù)據(jù)庫,結(jié)構(gòu)化查詢語言SQL,數(shù)據(jù)查詢,學(xué)生選課數(shù)據(jù)庫由三個基本表組成(為方便起見,給關(guān)系及各屬性取英文代號): 學(xué)生表:Student(Sno,Sname,Sclass) 課程表:Course(Cno,Cname,Ckind,Credit) 選課表:SC(Sno,Cno,Grade),關(guān)系數(shù)據(jù)庫,結(jié)構(gòu)化查詢語言SQL,數(shù)據(jù)查詢,【例6.1】查詢?nèi)w學(xué)生的詳細(xì)記錄。 SELECT *FROM Student 【例6.2】查詢?nèi)w學(xué)生的學(xué)
26、號與姓名。 SELECT Sno,Sname FROM Student,關(guān)系數(shù)據(jù)庫,結(jié)構(gòu)化查詢語言SQL,數(shù)據(jù)查詢,查詢滿足條件的元組是通過where子句實現(xiàn)的。Where子句中常用的查詢條件包括比較大小、字符匹配、多重條件等。常用的比較運算符有: 關(guān)系運算符:大于 ,大于等于=,小于; 邏輯運算符:邏輯與AND,邏輯或OR,邏輯非NOT 。,關(guān)系數(shù)據(jù)庫,結(jié)構(gòu)化查詢語言SQL,數(shù)據(jù)查詢,字符匹配謂詞LIKE,語法格式為:屬性列 NOT LIKE 匹配串,含義是查找指定的屬性列值與匹配串相匹配的元組。匹配串中可包含通配符“%”和“_”,“%”代表任意多個字符,“_”代表任意單個字符。,關(guān)系數(shù)據(jù)庫
27、,結(jié)構(gòu)化查詢語言SQL,數(shù)據(jù)查詢,【例6.3】查詢不及格學(xué)生的學(xué)號以及課程編號 SELECT Sno, Cno FROM SC WHERE Grade60 【例6.4】查詢所有姓劉學(xué)生的詳細(xì)記錄。 SELECT * FROM Student WHERE Sname LIKE 劉%,關(guān)系數(shù)據(jù)庫,結(jié)構(gòu)化查詢語言SQL,數(shù)據(jù)查詢,【例6.5】查詢計算機(jī)031班姓劉學(xué)生的詳細(xì)記錄。 SELECT * FROM Student WHERE Sclass= 計算機(jī)031 AND Sname LIKE 劉%,關(guān)系數(shù)據(jù)庫,結(jié)構(gòu)化查詢語言SQL,數(shù)據(jù)查詢,【例6.6】查詢每個學(xué)生選修課程的情況。 SELECT
28、Student.*,SC.* FROM Student,SC WHERE Student.Sno = SC.Sno;/* 連接謂詞*/,關(guān)系數(shù)據(jù)庫,結(jié)構(gòu)化查詢語言SQL,數(shù)據(jù)查詢,【例6.7】查詢成績在90分以上的所有學(xué)生的學(xué)號、姓名 SELECT Student.Sno, student.Sname FROM Student, SC WHERE Student.Sno = SC.Sno AND SC.Grade 90;,關(guān)系數(shù)據(jù)庫,結(jié)構(gòu)化查詢語言SQL,數(shù)據(jù)查詢,插入單個元組的語句格式為: INSERT INTO (,) VALUES ( , ),關(guān)系數(shù)據(jù)庫,結(jié)構(gòu)化查詢語言SQL,插入數(shù)據(jù),
29、【例6.8】 將一個新學(xué)生記錄(學(xué)號:200305020;姓名:陳冬;所在班級:英語032)插入到Student表中。 INSERT INTO Student VALUES (200305020,陳冬,英語032);,關(guān)系數(shù)據(jù)庫,結(jié)構(gòu)化查詢語言SQL,插入數(shù)據(jù),【例6.9】插入一條選課記錄( 學(xué)號:20030502,課程編號:071501 ,成績:90)。 INSERT INTO SC(Sno,Cno,Grade) VALUES ( 20030502,071501 ,90);,關(guān)系數(shù)據(jù)庫,結(jié)構(gòu)化查詢語言SQL,插入數(shù)據(jù),修改語句的一般格式為: UPDATE SET=,= WHERE ;,關(guān)系數(shù)
30、據(jù)庫,結(jié)構(gòu)化查詢語言SQL,修改數(shù)據(jù),【例6.10】 將學(xué)生陳冬的英語成績改為95分。 UPDATE Sc SET Grade=95 WHERE Sno=20030502 AND Cno= 071501 ;,關(guān)系數(shù)據(jù)庫,結(jié)構(gòu)化查詢語言SQL,修改數(shù)據(jù),刪除語句的一般格式為: DELETE FROM WHERE ;,關(guān)系數(shù)據(jù)庫,結(jié)構(gòu)化查詢語言SQL,刪除數(shù)據(jù),【例6.11】刪除學(xué)號為200305020的學(xué)生記錄。 DELETE FROM Student WHERE Sno=200305020;,數(shù)據(jù)庫設(shè)計,數(shù)據(jù)庫設(shè)計(Database Design):設(shè)計一個能滿足用戶要求,性能良好的數(shù)據(jù)庫。
31、數(shù)據(jù)設(shè)計的基本任務(wù):更具用戶對象的信息需求、處理需求和數(shù)據(jù)庫的支撐環(huán)境(硬件、OS與DBMS)設(shè)計出數(shù)據(jù)模式。 數(shù)據(jù)庫設(shè)計目前采用生命周期法,即將整個數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)分解成目標(biāo)獨立的若干個階段。 數(shù)據(jù)庫設(shè)計的六個階段:需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計、編碼階段、測試階段、運行維護(hù)階段。,數(shù)據(jù)庫設(shè)計概述,數(shù)據(jù)庫設(shè)計,需求分析是整個數(shù)據(jù)庫設(shè)計的基礎(chǔ),其目的是準(zhǔn)確了解與分析用戶的各種需求 (1) 需求調(diào)查 (2) 需求總結(jié) 數(shù)據(jù)流圖(Data Flow Diagram,DFD) 數(shù)據(jù)字典:數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理邏輯,需求分析,數(shù)據(jù)庫設(shè)計,應(yīng)能真實、充分地反映現(xiàn)實世界,是現(xiàn)
32、實世界中具體應(yīng)用的一個真實模型 易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)邏輯模型轉(zhuǎn)換。,概念結(jié)構(gòu)設(shè)計,概念結(jié)構(gòu)設(shè)計的步驟,數(shù)據(jù)抽象:數(shù)據(jù)抽象就是對需求分析階段收集到的數(shù)據(jù)進(jìn)行分類、組織,形成實體、實體的屬性,并標(biāo)識實體的主碼、確定實體之間的聯(lián)系類型(1:1,1:n,m:n)。抽象方法有:分類、聚集和概括。 選擇局部應(yīng)用,設(shè)計局部視圖:根據(jù)實際系統(tǒng)的具體情況,在多層的數(shù)據(jù)流圖中選擇一個適當(dāng)?shù)膶哟?,作為概念結(jié)構(gòu)設(shè)計的入口,設(shè)計各個分E-R圖即局部視圖 視圖的集成:各個局部視圖即分E-R圖建立好后,還需要對它們進(jìn)行合并,集成為一個整體的數(shù)據(jù)概念結(jié)構(gòu),即總E-R圖。,數(shù)據(jù)庫設(shè)計,概念結(jié)構(gòu)設(shè)計,消除冗余數(shù)據(jù)和冗
33、余聯(lián)系 冗余數(shù)據(jù)是指可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù) 冗余聯(lián)系是指可由其它聯(lián)系導(dǎo)出的聯(lián)系 冗余數(shù)據(jù)和冗余聯(lián)系容易破壞數(shù)據(jù)庫的完整性,增加維護(hù)的困難。 消除冗余主要是通過分析發(fā)現(xiàn)冗余并消除冗余 說明 并不是所有的冗余數(shù)據(jù)與冗余聯(lián)系都必須加以消除,有時為了提高某些應(yīng)用的效率,不得不以冗余信息作為代價,數(shù)據(jù)庫設(shè)計,概念結(jié)構(gòu)設(shè)計,概念結(jié)構(gòu)設(shè)計的步驟,將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層次模型 將轉(zhuǎn)化來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換 對數(shù)據(jù)模型進(jìn)行優(yōu)化,數(shù)據(jù)庫設(shè)計,邏輯結(jié)構(gòu)設(shè)計,邏輯結(jié)構(gòu)設(shè)計的步驟,數(shù)據(jù)庫設(shè)計,邏輯結(jié)構(gòu)設(shè)計,E-R圖向關(guān)系模型的轉(zhuǎn)換,轉(zhuǎn)換原則: 一個實體型轉(zhuǎn)換為一個關(guān)系模
34、式。 關(guān)系的屬性:實體型的屬性 關(guān)系的碼:實體型的碼 例如:學(xué)生實體可以轉(zhuǎn)換為如下關(guān)系模式: 學(xué)生(學(xué)號,姓名,出生日期,所在系, 年級,平均成績),數(shù)據(jù)庫設(shè)計,邏輯結(jié)構(gòu)設(shè)計,數(shù)據(jù)庫設(shè)計,邏輯結(jié)構(gòu)設(shè)計,E-R圖向關(guān)系模型的轉(zhuǎn)換, 一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。 關(guān)系的屬性:與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性 關(guān)系的碼:各實體碼的組合 例,“選修”聯(lián)系是一個m:n聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中學(xué)號與課程號為關(guān)系的組合碼: 選修(學(xué)號,課程號,成績),數(shù)據(jù)庫設(shè)計,邏輯結(jié)構(gòu)設(shè)計,E-R圖向關(guān)系模型的轉(zhuǎn)換, 一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并
35、。 1) 轉(zhuǎn)換為一個獨立的關(guān)系模式 關(guān)系的屬性:與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性 關(guān)系的碼:n端實體的碼,數(shù)據(jù)庫設(shè)計,邏輯結(jié)構(gòu)設(shè)計,E-R圖向關(guān)系模型的轉(zhuǎn)換,2) 與n端對應(yīng)的關(guān)系模式合并 合并后關(guān)系的屬性:在n端關(guān)系中加入1端關(guān)系的碼和聯(lián)系本身的屬性 合并后關(guān)系的碼:不變 可以減少系統(tǒng)中的關(guān)系個數(shù),一般情況下更傾向于采用這種方法,數(shù)據(jù)庫設(shè)計,邏輯結(jié)構(gòu)設(shè)計,E-R圖向關(guān)系模型的轉(zhuǎn)換,例如:“組成”聯(lián)系為1:n聯(lián)系。 將其轉(zhuǎn)換為關(guān)系模式的兩種方法: 1)使其成為一個獨立的關(guān)系模式: 組成(學(xué)號,班級號) 2)將其學(xué)生關(guān)系模式合并: 學(xué)生(學(xué)號,姓名,出生日期,所在系, 年級,班級號,平均成績),數(shù)據(jù)庫設(shè)計,邏輯結(jié)構(gòu)設(shè)計,E-R圖向關(guān)系模型的轉(zhuǎn)換, 一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。 1) 轉(zhuǎn)換為一個獨立的關(guān)系模式 關(guān)系的屬性:與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性 關(guān)系的候選碼:每個實體的碼均是該關(guān)系的候選碼,數(shù)據(jù)庫設(shè)計,邏輯結(jié)構(gòu)設(shè)計,E-R圖向關(guān)系模型的轉(zhuǎn)換,2) 與某一端對應(yīng)的關(guān)系
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)全體職工勞動合同范本
- 廚師短期合同范本
- 原木收購出售合同范本
- 合同范本建立流程
- 廚房顧問合同范本
- 商用商鋪租賃合同范本
- 二房東門面出租合同范本
- 賣買房協(xié)議合同范本
- 名師帶高徒合同范本
- 以公司名義合同范本
- 全方位管理理念下腫瘤心臟病學(xué)課件
- 普通生物學(xué)普通生物學(xué)試題
- -淹溺PPT模板課件
- 工作交接表模板(2)
- H.248協(xié)議正常呼叫流程解析
- 庫車縣“7.9”天山煉化油儲罐火災(zāi)撲救戰(zhàn)評
- 絕句遲日江山麗
- 宏偉公司財務(wù)管理目標(biāo)與利益沖突案例
- (完整版)信息技術(shù)讀書筆記3篇
- 商務(wù)運營管理PPT課件
- 理論力學(xué)(周衍柏)第二章質(zhì)點組力學(xué)
評論
0/150
提交評論