![數(shù)據(jù)庫系統(tǒng)基礎(chǔ)教程.ppt_第1頁](http://file1.renrendoc.com/fileroot2/2020-1/18/20ef7b8d-d457-4921-8883-469014b0c098/20ef7b8d-d457-4921-8883-469014b0c0981.gif)
![數(shù)據(jù)庫系統(tǒng)基礎(chǔ)教程.ppt_第2頁](http://file1.renrendoc.com/fileroot2/2020-1/18/20ef7b8d-d457-4921-8883-469014b0c098/20ef7b8d-d457-4921-8883-469014b0c0982.gif)
![數(shù)據(jù)庫系統(tǒng)基礎(chǔ)教程.ppt_第3頁](http://file1.renrendoc.com/fileroot2/2020-1/18/20ef7b8d-d457-4921-8883-469014b0c098/20ef7b8d-d457-4921-8883-469014b0c0983.gif)
![數(shù)據(jù)庫系統(tǒng)基礎(chǔ)教程.ppt_第4頁](http://file1.renrendoc.com/fileroot2/2020-1/18/20ef7b8d-d457-4921-8883-469014b0c098/20ef7b8d-d457-4921-8883-469014b0c0984.gif)
![數(shù)據(jù)庫系統(tǒng)基礎(chǔ)教程.ppt_第5頁](http://file1.renrendoc.com/fileroot2/2020-1/18/20ef7b8d-d457-4921-8883-469014b0c098/20ef7b8d-d457-4921-8883-469014b0c0985.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第一章 數(shù)據(jù)庫系統(tǒng)的世界The Worlds of Database Systems,數(shù)據(jù)庫系統(tǒng)的發(fā)展 數(shù)據(jù)庫管理系統(tǒng)的結(jié)構(gòu) 未來的數(shù)據(jù)庫系統(tǒng),2,1.1 數(shù)據(jù)庫系統(tǒng)的發(fā)展c,一、術(shù)語 1.數(shù)據(jù)庫 是長期儲存在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)的集合。,3,2.數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫系統(tǒng)基礎(chǔ)教程A First Course in Database SystemsDBMS - DataBase Management System是處理數(shù)據(jù)庫訪問的軟件。提供數(shù)據(jù)庫的用戶接口。DBMS的目的:提供一個可以方便地、有效地存取數(shù)據(jù)庫信息的環(huán)境,5,3.數(shù)據(jù)庫系統(tǒng) 是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),6
2、,數(shù)據(jù)庫系統(tǒng)構(gòu)成,7,保存信息的兩種不同方法: 永久性的系統(tǒng)文件、數(shù)據(jù)庫系統(tǒng)。 文件方式的問題: 數(shù)據(jù)的冗余和不一致 數(shù)據(jù)訪問困難 數(shù)據(jù)孤立 完整性問題 原子性問題 并發(fā)訪問異常 安全性問題,二、文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng),8,數(shù)據(jù)庫方法能較好地解決以上的問題 數(shù)據(jù)的獨(dú)立性 有效地訪問數(shù)據(jù) 減少應(yīng)用程序的開發(fā)時間 數(shù)據(jù)的一致性和安全性 統(tǒng)一的數(shù)據(jù)管理 并發(fā)的數(shù)據(jù)訪問,三、為什么用數(shù)據(jù)庫,9,幾種模型: 基于樹的層次模型 基于圖的網(wǎng)狀模型 物理相關(guān)、無高級查詢語言 基于表的關(guān)系模型 物理無關(guān)、支持高級查詢語言, 基于對象的面向?qū)ο竽P?OO OR,四、數(shù)據(jù)庫模型的發(fā)展,定長記錄,10,關(guān)系數(shù)據(jù)庫系統(tǒng),
3、11,關(guān)查詢語言 SQL語言 SELECT balance FROM Accounts WHERE accountNO = 67890;,關(guān)系數(shù)據(jù)庫系統(tǒng),12,DBMS的組成 數(shù)據(jù)、元數(shù)據(jù) 存儲管理程序 事務(wù)管理程序 查詢處理程序,1.2 數(shù)據(jù)庫管理系統(tǒng)的結(jié)構(gòu),13,數(shù)據(jù)、元數(shù)據(jù) 關(guān)于數(shù)據(jù)結(jié)構(gòu)的信息(關(guān)于數(shù)據(jù)的數(shù)據(jù)) 索引(INDEX),DBMS的組成,14,存儲管理程序 文件管理程序 緩沖區(qū)管理查程序,DBMS的組成,15,查詢處理程序 查詢優(yōu)化 磁盤訪問,是查詢的主要代價; 索引是查詢優(yōu)化的利器,DBMS的組成,16,事務(wù)管理程序 事務(wù):是用戶定義的一個數(shù)據(jù)庫操作序列 事務(wù)的四個特性 原子
4、性A 一致性C 隔離性I 持久性D,DBMS的組成,17,客戶-服務(wù)器程序體系結(jié)構(gòu) 瀏覽器-服務(wù)器體系結(jié)構(gòu),DBMS的組成,18,客戶-服務(wù)器程序體系結(jié)構(gòu) 瀏覽器-服務(wù)器體系結(jié)構(gòu),1.3 未來的數(shù)據(jù)庫系統(tǒng),第二章 數(shù)據(jù)庫建模Database Modeling,20,數(shù)據(jù)庫的設(shè)計(jì)步驟,需求收集和分析 設(shè)計(jì)概念結(jié)構(gòu) 設(shè)計(jì)邏輯結(jié)構(gòu) 設(shè)計(jì)物理結(jié)構(gòu) 物理實(shí)現(xiàn),21,數(shù)據(jù)庫的設(shè)計(jì)步驟,需求收集和分析 用戶關(guān)心什么 用戶要什么結(jié)果 設(shè)計(jì)概念結(jié)構(gòu) 設(shè)計(jì)邏輯結(jié)構(gòu) 設(shè)計(jì)物理結(jié)構(gòu) 物理實(shí)現(xiàn),22,數(shù)據(jù)庫的設(shè)計(jì)步驟,需求收集和分析 設(shè)計(jì)概念結(jié)構(gòu) 存什么 關(guān)系(聯(lián)系)如何 ODL或E/R圖,是各種數(shù)據(jù)模型的共同基礎(chǔ) 設(shè)
5、計(jì)邏輯結(jié)構(gòu) 設(shè)計(jì)物理結(jié)構(gòu) 物理實(shí)現(xiàn),23,數(shù)據(jù)庫的設(shè)計(jì)步驟,需求收集和分析 設(shè)計(jì)概念結(jié)構(gòu) 設(shè)計(jì)邏輯結(jié)構(gòu) 用什么數(shù)據(jù)模型 數(shù)據(jù)庫的模式(database schema) 用戶子模式 設(shè)計(jì)物理結(jié)構(gòu) 物理實(shí)現(xiàn),24,數(shù)據(jù)庫的設(shè)計(jì)步驟,需求收集和分析 設(shè)計(jì)概念結(jié)構(gòu) 設(shè)計(jì)邏輯結(jié)構(gòu) 設(shè)計(jì)物理結(jié)構(gòu) 數(shù)據(jù)怎么存 根據(jù)DBMS產(chǎn)品、環(huán)境特點(diǎn) 物理實(shí)現(xiàn),25,數(shù)據(jù)庫的設(shè)計(jì)步驟,需求收集和分析 設(shè)計(jì)概念結(jié)構(gòu) 設(shè)計(jì)邏輯結(jié)構(gòu) 設(shè)計(jì)物理結(jié)構(gòu) 物理實(shí)現(xiàn) 運(yùn)行DDL 裝入測試數(shù)據(jù) 應(yīng)用程序,26,數(shù)據(jù)庫的設(shè)計(jì)步驟,想法 需求,ODL,E / R,關(guān)系,RDBMS,OODBMS,27,2.1 ODL,對象定義語言 Object
6、 Definition Language 以面向?qū)ο蟮挠^點(diǎn)、方法,說明數(shù)據(jù)庫的概念結(jié)構(gòu) 可方便地直接轉(zhuǎn)換成 OODBMS 的說明 經(jīng)過努力,可以轉(zhuǎn)換成 RDBMS 的說明,28,面向?qū)ο蟮脑O(shè)計(jì),對象標(biāo)識 OID 對象與對象的區(qū)別 類 具有相同特性的對象歸為一類 對象的歸并必須有意義 屬于同一類的對象其特性必須相同,29,面向?qū)ο蟮脑O(shè)計(jì),對象的三個特性 屬性:特性 聯(lián)系:引用 方法:函數(shù) 接口說明 interface ,30,屬性 對象某方面的特征,屬性就是數(shù)據(jù) 只由基本數(shù)據(jù)類型構(gòu)成 屬性的類型,不能是類、也不能從類中構(gòu)造 Interface Movie /Movie Class 的ODL說明
7、attribute stringtitle; attribute integeryear; attribute integerlength; attribute enum Film color, blackAndWhite filmType; ;,31,Interface Star attribute stringname; attribute StructAddr string street,string city address; ;,32,聯(lián)系 對象的引用 對象的關(guān)聯(lián) 對象集合的引用(1:N) Relationship Set stars; 單一對象集合的引用(1:1) Relation
8、ship Star starOf;,33,反向聯(lián)系 ODL要求顯式表示存在的反向聯(lián)系 Interface Movie /Movie Class 的ODL說明 attribute stringtitle; attribute integeryear; attribute integerlength; attribute enum Film color, blackAndWhite filmType; relationship Set stars inverse Star : starredIn; /Star與Movie的聯(lián)系 ;,34,聯(lián)系的多重性 N:N 在聯(lián)系中,每個C都和D的集合有關(guān),而在
9、反向聯(lián)系中,每個D都和C的集合有關(guān) N:1 在聯(lián)系中,每個C都和唯一的D有關(guān),而在反向聯(lián)系中,每個D都和C的集合有關(guān) 1:1 在聯(lián)系中,每個C都和唯一的D有關(guān),而在反向聯(lián)系中,每個D都和唯一的C有關(guān),35,Interface Moive relationship Set stars inverse Star : staredIn; relationship Studio ownedBy inverse Studio : owns; ; Interface Star relationship Set staredIn inverse Moive : stars; ; Interface Stud
10、io relationship Set owns inverse Moive : ownedBy; ;,36,ODL中的類型 基本類型 原子類型 接口類型 結(jié)構(gòu)類型,可由以下類型組合而成 集合 無重復(fù),次序無關(guān) 包 可重復(fù),次序無關(guān) 列表 可重復(fù),次序相關(guān) 數(shù)組 結(jié)構(gòu),37,2.2 實(shí)體聯(lián)系圖(E/R),用圖形的方法,描述實(shí)體及實(shí)體間的聯(lián)系 世界由一組稱作實(shí)體的基本對象及這些對象間的聯(lián)系組成 元素 實(shí)體(Entity) 客觀存在并可相互區(qū)別的事件或物體 對應(yīng)于ODL中的對象 實(shí)體集(Entity Set) 同類(具有相同類型、相同性質(zhì))實(shí)體的集合 對應(yīng)于ODL中的類 用矩形表示,38,2.2
11、實(shí)體聯(lián)系圖(E/R),元素 屬性(Attribute) 實(shí)體所具有的某一特性 用與實(shí)體集相連的橢圓表示 聯(lián)系(Relationship) 實(shí)體集之間的關(guān)聯(lián) 可涉及多個實(shí)體集 可表示雙向的聯(lián)系 用與相應(yīng)的實(shí)體集相連的菱形表示,39,Movies,Stars,Stars-in,lenght,filmType,title,year,name,address,40,E/R聯(lián)系的多重性 N與1的表示,Movies,Stars,Stars-in,Studios,Presidents,Runs,Movies,Studios,Owns,41,聯(lián)系的多向性 E/R圖能方便地描述兩個以上實(shí)體集間的聯(lián)系,42,聯(lián)系
12、中的角色 實(shí)體集在聯(lián)系中的作用 參與聯(lián)系的實(shí)體集互異 只標(biāo)注聯(lián)系名 同一實(shí)體集在一個聯(lián)系中多次出現(xiàn) 標(biāo)注聯(lián)系名及角色名,43,聯(lián)系中的屬性 聯(lián)系中可以包含屬性 由聯(lián)系而產(chǎn)生的屬性 可為由聯(lián)系產(chǎn)生的屬性建立實(shí)體集,Stars,Movies,Contracts,Studios,salary,44,將多向聯(lián)系轉(zhuǎn)換成二元聯(lián)系 新增連接實(shí)體集 引入連接實(shí)體集至原實(shí)體集的多對一的聯(lián)系,45,2.3 設(shè)計(jì)原則,真實(shí)性 設(shè)計(jì)應(yīng)當(dāng)忠于規(guī)范 存什么 避免冗余 任何事物只表達(dá)一次 避免引入過多的元素 選擇合適的元素類型 屬性? 類/實(shí)體集? 聯(lián)系集?,46,2.4 子類,特殊化與概括 子類與超類 屬性的繼承,47,
13、ODL中的子類 子類繼承其超類的所有特性 屬性 聯(lián)系 Interface Cartoon : Movie relationship set voices; ,48,ODL中的多重繼承 類的層次 一個類可以有多個超類 Interface MurderMystery : Movie attribute string weapon; Interface Cartoon-MurderMystery : Cartoon,MurderMystery ,49,E/R中的子類 Isa E/R中的繼承,50,2.5 對約束的建模,建模包含對現(xiàn)實(shí)世界的對象及聯(lián)系的描述,也包含對它們的一些約束 鍵碼 單值約束 參照
14、完整性約束 域的約束 一般約束,51,鍵碼 在類的范圍內(nèi)唯一標(biāo)識一個對象(或者在實(shí)體集的范圍內(nèi)唯一標(biāo)識一個實(shí)體)的屬性或?qū)傩约?一個類中的兩個對象(或一個實(shí)體集中的兩個實(shí)體)在構(gòu)成鍵碼的屬性集上取值不能相同 ODL中鍵碼的表示 interface Movie ( key (title,year) ) ,52,超碼 一個或多個屬性的集合,能在一個實(shí)體集中唯一地標(biāo)識一個實(shí)體 一個類(或?qū)嶓w集)中可能有多個超碼 候選碼 其任意真子集都不為超碼的超碼 一個類(或?qū)嶓w集)中可能有多個候選碼 主碼 從候選碼中選取的一個,一個類(實(shí)體集)中只有一個主碼 E / R圖中只能表示主碼:主碼屬性名加上下劃線,53
15、,單值約束 要求某個角色的值是唯一的,如鍵碼 當(dāng)一個屬性為單值時 可以要求該屬性值存在(not null) 可以允許該屬性值任選(null) 構(gòu)成鍵碼的屬性,必須有值存在(not null),54,參照完整性約束 要求由某個對象引用的值在數(shù)據(jù)庫中確實(shí)存在 參照與被參照、引用與被引用 參照完整性約束的操作(各產(chǎn)品不同) 禁止刪除被引用的對象 級聯(lián)刪除 / 修改 E/R圖中參照完整性的表示,55,2.6 弱實(shí)體集,弱實(shí)體集的屬性不足以形成主碼 有主碼的實(shí)體集稱為強(qiáng)實(shí)體集 弱實(shí)體集只有作為一對多聯(lián)系的一部分(多)才有意義 弱實(shí)體集與其擁有者之間的聯(lián)系是標(biāo)識性聯(lián)系,56,2.7 關(guān)于聯(lián)系集,聯(lián)系集的成
16、份 參加聯(lián)系的實(shí)體集的主碼 聯(lián)系集的屬性 聯(lián)系中屬性的決策(二元聯(lián)系) 1:1 聯(lián)系集的屬性:放到任意一端 1:N 聯(lián)系集的屬性:放到 N 端 N:M聯(lián)系集的屬性:只能留在聯(lián)系集中,57,聯(lián)系集的取舍(二元聯(lián)系) 1:1聯(lián)系:將一端的主碼作為另一端的屬性 1:N聯(lián)系:將一端的主碼作為 N 端的屬性 N:M聯(lián)系:必須保留聯(lián)系集 聯(lián)系集的鍵碼(二元聯(lián)系) 1:1聯(lián)系:任意一端的主碼 1:N聯(lián)系:N端的主碼 N:M聯(lián)系:參加聯(lián)系的所有實(shí)體集的主碼,58,ODL、E/R建模 關(guān)心:存什么數(shù)據(jù)、關(guān)系如何 不關(guān)心:用什么數(shù)學(xué)模型、DBMS產(chǎn)品 透過E/R圖,便于與用戶交流,59,作業(yè) 思考所有帶*的練習(xí),
17、并上網(wǎng)查閱解答 練習(xí)2.1.7 / 2.2.8 / 2.3.2 / 2.5.3 / 2.5.4 /2.6.4(a),第三章 關(guān)系數(shù)據(jù)模型The Relational Data Model,61,ODL、E/R到關(guān)系模型的轉(zhuǎn)換 關(guān)系模型的設(shè)計(jì)理論,62,3.1 關(guān)系模型的基本概念,邏輯數(shù)據(jù)模型 是用戶從數(shù)據(jù)庫所看到的數(shù)據(jù)模型 與DBMS有關(guān) 層次、網(wǎng)狀、關(guān)系、面向?qū)ο?63,關(guān)系數(shù)據(jù)模型 數(shù)據(jù)結(jié)構(gòu) 兩維的扁平表 數(shù)據(jù)操作 關(guān)系代數(shù) 關(guān)系演算 數(shù)據(jù)的完整性 實(shí)體完整性 參照完整性 用戶定義的完整性,64,現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系表示 關(guān)系數(shù)據(jù)庫系統(tǒng)是建立在關(guān)系模型上的數(shù)據(jù)庫系統(tǒng)
18、關(guān)系數(shù)據(jù)庫是表的集合,65,模型和模式 數(shù)據(jù)模型是描述數(shù)據(jù)的手段 數(shù)據(jù)模式是用給定的數(shù)據(jù)模型對具體數(shù)據(jù)的描述 屬性 元組 域 型 值 聯(lián)系 關(guān)系的聯(lián)系是通過關(guān)聯(lián)屬性的值連接的,66,元組 (行、記錄),Student ( sno, sname, ssex, sage, sdept ),67,關(guān)系實(shí)例 關(guān)系 實(shí)體集、類 關(guān)系的實(shí)例 元組的集合 元組 實(shí)體、對象 數(shù)據(jù)庫實(shí)例 給定時刻數(shù)據(jù)庫中數(shù)據(jù)的一個快照,68,3.2 從ODL設(shè)計(jì)到關(guān)系設(shè)計(jì),ODL設(shè)計(jì)是概念設(shè)計(jì)的產(chǎn)物 ( Using OO ) ODL描述 關(guān)系模式 實(shí)現(xiàn),69,ODL屬性 關(guān)系屬性 原子屬性 類 關(guān)系 屬性 屬性 非原子屬性(復(fù)
19、雜數(shù)據(jù)類型) 必須轉(zhuǎn)換成原子屬性 記錄結(jié)構(gòu) 結(jié)構(gòu)的每個item對應(yīng)一個屬性 多值集合 針對每個值建立一個元組 會產(chǎn)生冗余 需規(guī)范化,70,ODL屬性 關(guān)系屬性 (續(xù)) 其他類型屬性 (包、數(shù)組、列表) 針對每個元素建立一個元組 增加一個記數(shù)屬性,表示包的成員號 定長數(shù)組 擴(kuò)展為多個屬性,71,ODL聯(lián)系 關(guān)系描述 單值聯(lián)系 聯(lián)系的類型為一個類 增加一個(組)屬性,存放相關(guān)類的鍵碼屬性(組) 將類之間的聯(lián)系 關(guān)系之間的聯(lián)系,72,ODL聯(lián)系 關(guān)系描述(續(xù)) 多值聯(lián)系 聯(lián)系的類型為某個類的集合類型 1 : N、N : M 增加一個鍵碼屬性 為集合的每個成員建立一個元組 其他原始屬性重復(fù)多次(與集合
20、成員的個數(shù)相等) 導(dǎo)致大量的冗余,需要規(guī)范化,73,鍵碼是必需的 選擇合適的屬性(組)作為鍵碼 學(xué)號、工號、身份證號. 增加計(jì)數(shù)屬性 聯(lián)系與反向聯(lián)系 在聯(lián)系的雙方均有聯(lián)系的描述 冗余 ODL:雙向描述 E/R:相關(guān)的鍵碼值進(jìn)行連接,74,3.3 從E/R圖到關(guān)系的設(shè)計(jì),E/R與ODL描述的差異 聯(lián)系作為獨(dú)立的概念 聯(lián)系嵌套在類定義中 結(jié)構(gòu)化數(shù)據(jù) 允許使用集合、聚集類型 聯(lián)系可以有屬性 聯(lián)系無屬性 E/R 關(guān)系模式 實(shí)現(xiàn),75,實(shí)體集到關(guān)系的轉(zhuǎn)換 非弱實(shí)體集 實(shí)體集名 關(guān)系名 屬性 屬性 弱實(shí)體集 為弱實(shí)體集建立關(guān)系 屬性:弱實(shí)體集的屬性 + 輔助實(shí)體集的鍵碼,76,E/R聯(lián)系到關(guān)系的轉(zhuǎn)換 用關(guān)
21、系表示聯(lián)系 聯(lián)系名 關(guān)系名 屬性 屬性 + 相關(guān)實(shí)體集的鍵碼屬性(集) 多向聯(lián)系的轉(zhuǎn)換 注意,屬性的命名,77,3.4 子類結(jié)構(gòu)到關(guān)系的轉(zhuǎn)換,ODL中的子類 一個對象完全屬于一個類 子類繼承其超類的特性 E/R中的子類 分層結(jié)構(gòu)通過與ISA聯(lián)系有關(guān)的實(shí)體集進(jìn)行擴(kuò)展,78,用關(guān)系表示ODL子類 每個子類都有自己的關(guān)系 包含該子類的所有特性(含繼承特性) 在一個關(guān)系中含有所有屬性 Movie(title,year,length,filmType,studioName,starName) Cartoon (title,year,length,filmType,studioName,starName,
22、voice) MurderMystery (title,year,length,filmType,studioName,starName,weapon) Cartoon- MurderMystery (title,year,length,filmType,studioName,starName,voice, weapon),79,在關(guān)系模型中表示 isa 聯(lián)系 子類的信息被分散到上層的幾個關(guān)系中 與ISA聯(lián)系有關(guān)的實(shí)體集擁有相同的鍵碼 Movie(title,year,length,filmType) Cartoon(title,year) MurderMystery(title,year,
23、weapon) Voice(title,year,name),80,使用NULL值合并關(guān)系 將關(guān)系描述成一個全集 屬性:所有可能的屬性 描述:允許Null值 層次越高,取Null值的屬性越多 Movie (title,year,length,filmType,studioName,starName,voice, weapon) 只是一種方法而已,81,作業(yè) 思考所有帶*的練習(xí),并上網(wǎng)查詢解答 練習(xí)3.2.3 / 3.3.1 / 3.4.1 / 3.5.3 /,82,3.5 函數(shù)依賴,數(shù)據(jù)依賴 函數(shù)依賴 多值依賴 數(shù)據(jù)依賴是針對數(shù)據(jù)模式,而不是特定的實(shí)例,83,函數(shù)依賴(FD) 屬性之間的聯(lián)系
24、假設(shè)給定 X 屬性的值,就知道 Y的值,那么 X 函數(shù)決定 Y 如果R的兩個元組在屬性A1,A2,An上一致,則它們在另一個屬性B上也一致,那么 A1,A2,An函數(shù)決定B,記作A1A2AnB if A1A2AnB1then A1A2AnB2A1A2An B1 B2 . Bm A1A2AnBm,84,關(guān)系的鍵碼 如果一個或多個屬性的集合A1A2An滿足如下條件,則該集合為關(guān)系R的鍵碼: 1.這些屬性函數(shù)決定該關(guān)系的所有其他屬性 2. A1A2An的任何真子集都不能函數(shù)決定R的所有其他屬性,85,超鍵碼 包含鍵碼的屬性集稱為超鍵碼,86,尋找關(guān)系的鍵碼(來自E/R) 來自實(shí)體集的關(guān)系的鍵碼就是該
25、實(shí)體集的鍵碼屬性 對于二元聯(lián)系R: N:M,相關(guān)兩個實(shí)體的鍵碼都是R的鍵碼屬性 N:1,多端實(shí)體集的鍵碼是R的加碼屬性 1:1,任意一端實(shí)體集的鍵碼是R的鍵碼 對于多向聯(lián)系R: 如果多向聯(lián)系R有一個箭頭指向?qū)嶓w集E,則響應(yīng)的關(guān)系中,除了E的鍵碼以外,至少還存在一個鍵碼。,87,尋找關(guān)系的鍵碼(來自O(shè)DL) 來自O(shè)DL的關(guān)系的鍵碼不一定就是該類的鍵碼屬性 對于單值聯(lián)系R: 類C有一個指向類D的單值聯(lián)系,C的關(guān)系中包含D的鍵碼。C的鍵碼仍是相應(yīng)關(guān)系的鍵碼 對于多值聯(lián)系R: 被引用類的鍵碼加入到引用類的鍵碼組合稱為鍵碼,88,3.6 函數(shù)依賴規(guī)則,分解規(guī)則 A1A2An B1 B2 . Bm 等價于
26、 A1A2An Bi 合并規(guī)則 A1A2An Bi 等價于 A1A2An B1 B2 . Bm,89,平凡的函數(shù)依賴 如果對于函數(shù)依賴 A1A2An B,B是A中的一個,則該函數(shù)依賴就是平凡的函數(shù)依賴 平凡依賴是永恒的 title,year title 非平凡 如果B中至少有一個屬性不在A中 title,year year,length 完全非平凡 如果B中沒有一個屬性在A中 title,year length,90,計(jì)算屬性的閉包 閉包 F的閉包是指F邏輯蘊(yùn)涵的所有函數(shù)依賴的集合,記作F+ 閉包的意義 檢驗(yàn)給定的函數(shù)依賴是否蘊(yùn)涵于某個函數(shù)依賴集S 從給定的函數(shù)依賴,可以推導(dǎo)出蘊(yùn)涵的函數(shù)依賴
27、求閉包 例:對關(guān)系R(A,B,C,D,E,F),給定函數(shù)依賴ABC,BCAD,DE,CFB,求 A,B+,91,關(guān)系的基與最小基 任何一個能從中導(dǎo)出關(guān)系的所有依賴的給定依賴集,稱為該關(guān)系的一個基 如果一個基的任何真子集都不能推導(dǎo)出該關(guān)系的依賴全集,則稱此基為最小基 求函數(shù)依賴的最小基 例:對關(guān)系R(A,B,C,D),有ABC,BC,A B,AB C,AC D,求最小函數(shù)依賴集,92,3.7 關(guān)系數(shù)據(jù)庫模式設(shè)計(jì),什么是好的數(shù)據(jù)庫設(shè)計(jì) 體現(xiàn)客觀世界的信息 無過度的冗余 無插入異常 無更新復(fù)雜 無刪除異常,93,更新復(fù)雜!,刪除異常!,94,異常的原因 數(shù)據(jù)依賴的約束 解決方法 數(shù)據(jù)庫設(shè)計(jì)的規(guī)范化分
28、解,95,范式(Normal Forms) 規(guī)范化 一個關(guān)系滿足某個范式所規(guī)定的一系列條件時,它就屬于該范式 可以用規(guī)范化要求來設(shè)計(jì)數(shù)據(jù)庫 也可以用來驗(yàn)證設(shè)計(jì)結(jié)果的合理性,用其指導(dǎo)優(yōu)化過程 1NF2NF3NFBCNF4NF,96,第一范式(1NF) 當(dāng)且僅當(dāng)一個關(guān)系R中,每一個元組的每一個屬性只含有一個值時,該關(guān)系屬于第一范式。 要求屬性是原子的,97,第二范式(2NF) 對于關(guān)系R,若R1NF,且每一個非主屬性完全函數(shù)依賴于碼,則R2NF。 不能部分依賴于碼 sc(sno,sname,cno,grade) sno,cnograde snosname,完全依賴,非完全依賴,98,第三范式(3N
29、F) 對于關(guān)系R,若R2NF,且每個非主屬性都不傳遞依賴于碼,則R3NF。 主屬性可以傳遞依賴于碼 student(sno,sname,sdept,dept_manager) snosname,sdept sdeptdept_manager 傳遞依賴:snodept_manager,99,Boyce/Codd范式(BCNF) 對于關(guān)系R,若R1NF,且所有非平凡的函數(shù)依賴,其決定因素是候選碼,則RBCNF。 sct(s,c,t)/學(xué)生,課程,教師 tc/每位教師只上一門課 (s,c)t (s,t)c/每門課有若干位教師,100,最高范式 BCNF是基于函數(shù)依賴的最高范式 但不是數(shù)據(jù)庫模式設(shè)計(jì)的
30、最高范式,101,范式優(yōu)化 分解 A1,A2,An = B1,B2,BnC1,C2,Cn 分解的要求 無損連接 BCB或BCC 保持依賴 范式要求,102,分解到高層范式(基于FD) 找出一個不符合范式要求的FD(XY),并使其右端的屬性盡可能地多(求出X+) 創(chuàng)建新的模式,包含上述FD的所有(左右)屬性(X+的所有屬性) 創(chuàng)建另一模式,包含前述FD中的決定因素及剩余的所有屬性(U-X+)X) 反復(fù)13,直至符合范式要求,103,3.8 多值依賴,BCNF 仍有異常,104,多值依賴(MVD) 按P.110的定義,105,多值依賴(MVD) 設(shè)R(U)是屬性集U上的一個關(guān)系。X、Y、Z是U的子
31、集,且Z=U-X-Y。關(guān)系R(U)中多值依賴XY成立,當(dāng)且僅當(dāng)對R(U)的任一元組r,給定一對(x,z)值,有一組y的值,這組值僅僅取決于x值,而與z值無關(guān)。 對給定X的值,則Y的取值與Z的取值無關(guān),106,給定一對(x,z)值,有一組y的值,107,nametitle,year,108,平凡的多值依賴 如果X包含Y或 XY=U,則XY是平凡的多值依賴 性質(zhì) If XY,and YZ then XZ-Y If XY,and Z=U-X-Y then XZ If XY then XY 無分解/合并規(guī)則,109,第四范式(4NF) 對于關(guān)系R,若R1NF,且所有非平凡的多值依賴,其決定因素是候選碼
32、,則R4NF。 基于數(shù)據(jù)依賴的最高范式 分解要求 無損連接 保持依賴 4NF,110,nametitle,year namestreet,city All Key is BCNF isnt 4NF,R1(name,title,year) R2(name,street,city) All Key is 4NF,111,范式間的聯(lián)系 高層范式包含低層范式 分解特性,112,作業(yè) 思考所有帶*的練習(xí),并上網(wǎng)查詢解答 練習(xí)3.7.5/3.8.3/,第四章 關(guān)系模型中的運(yùn)算,Operations In The Relational Model,114,概述,數(shù)據(jù)庫的核心應(yīng)用是數(shù)據(jù)庫的查詢 查詢語言 用戶
33、用來從數(shù)據(jù)庫中請求獲取信息的語言 關(guān)系代數(shù)是過程化的查詢語言 關(guān)系代數(shù)是一種抽象的查詢語言,115,4.1 關(guān)系代數(shù),運(yùn)算對象:關(guān)系 運(yùn)算結(jié)果:關(guān)系,116,關(guān)系代數(shù),關(guān)系代數(shù)的運(yùn)算 普通的集合運(yùn)算 并、交、差 刪除部分關(guān)系的運(yùn)算 選擇、投影 合并兩個關(guān)系元組的運(yùn)算 連接、積 改名運(yùn)算,117,關(guān)系代數(shù) 并Union (),R和S的并,RS,是在R或S或兩者中的元素的集合 一個元素在并集中只出現(xiàn)一次 R和S必須同類型(屬性集相同、次序相同,但屬性名可以不同),118,關(guān)系代數(shù) 交Intersect (),R和S的交,RS,是在R和S中都存在的元素的集合 一個元素在交集中只出現(xiàn)一次 R和S必須同
34、類型(屬性集相同、次序相同,但屬性名可以不同),119,關(guān)系代數(shù) 差Minus (-),R和S的差,R-S,是在R中而不在S中的元素的集合 R和S必須同類型(屬性集相同、次序相同,但屬性名可以不同),120,關(guān)系代數(shù)投影Projection(),從關(guān)系R中選擇若干屬性組成新的關(guān)系 A1,A2,An(R),表示從R中選擇屬性集A1,A2,An組成新的關(guān)系 列的運(yùn)算 投影運(yùn)算的結(jié)果中,也要去除可能的重復(fù)元組 例: ssex,sage(student) ?,121,關(guān)系代數(shù)選擇Selection(),從關(guān)系R中選擇符合條件的元組構(gòu)成新的關(guān)系 C(R),表示從R中選擇滿足條件(使邏輯表達(dá)式C為真)的元
35、組 行的運(yùn)算 例: sage = 23 AND sdep = CS(student) ? 例:列出CS系的學(xué)號及姓名 sno,sname(sdep = CS(student) ),122,關(guān)系代數(shù)笛卡兒積(),關(guān)系R、S的笛卡兒積是兩個關(guān)系的元組對的集合所組成的新關(guān)系 RS: 屬性是R和S的組合(有重復(fù)) 元組是R和S所有元組的可能組合 是R、S的無條件連接,使任意兩個關(guān)系的信息能組合在一起 例: student sc (注意sno的命名),123,關(guān)系代數(shù)自然連接( ),從RS的結(jié)果集中,選取在某些公共屬性上具有相同值的元組,組成新的關(guān)系 R、S的公共屬性 屬性集的交集(名稱及類型相同) 公
36、共屬性在結(jié)果中只出現(xiàn)一次 等值連接 例: student sc (注意sno的命名),124,關(guān)系代數(shù)條件連接(),從RS的結(jié)果集中,選取在指定的屬性集上滿足條件的元組,組成新的關(guān)系 是一個關(guān)于屬性集的邏輯表達(dá)式 R C S,125,關(guān)系代數(shù)改名(),對關(guān)系R實(shí)施改名運(yùn)算,可顯式地改變關(guān)系名及屬性名 將關(guān)系R改名為S:s(R) 將關(guān)系R(B1,B2,Bn)改名 S(A1,A2,An): S(A1,A2,An)(R),126,關(guān)系代數(shù)查詢中的復(fù)合運(yùn)算,例:找出比95001年齡大的學(xué)生的學(xué)號和姓名、年齡 s.sno,s.sname,s.sage(s(student) s.sage stu.sage
37、 (stu.sno=95001(stu(student),127,關(guān)系代數(shù)查詢中的復(fù)合運(yùn)算,例:找出比95001年齡大的學(xué)生的學(xué)號和姓名、年齡(與前例的結(jié)果有何差異?) s.sno,s.sname,s.sage(stu.sno=95001 and s.sage stu.sage (s(student)(stu(student),128,關(guān)系代數(shù)外連接,是連接運(yùn)算的擴(kuò)展,可以處理缺失信息 保留非匹配元組 外連接 左外連接 右外連接 全外連接,129,關(guān)系代數(shù)左外連接,取出左側(cè)關(guān)系中所有與右側(cè)關(guān)系的任一元組都不匹配的元組,用空值填充所有來自右側(cè)關(guān)系的屬性,再把產(chǎn)生的元組加到自然連接的結(jié)果上 例:列
38、出影星的當(dāng)官情況(是影星,可能不是官) MovieStar MovieExec,130,關(guān)系代數(shù)右外連接,與左外連接對稱 例:列出行政長官的從影情況(是長官,可能不是影星) MovieStar MovieExec,131,關(guān)系代數(shù)全外連接,左外連接與右外連接的合成 例:列出所有行政長官和所有影星的關(guān)系 MovieStar MovieExec,132,4.5 對關(guān)系的約束,關(guān)系數(shù)據(jù)模型 數(shù)據(jù)結(jié)構(gòu) 關(guān)系操作 關(guān)系的完整性約束 實(shí)體完整性 參照完整性 用戶定義的完整性,133,用關(guān)系代數(shù)作為約束語言,用關(guān)系代數(shù)可以表達(dá)約束 R = 0; R 0 R S;R-S = 0,134,參照完整性約束,如果對
39、象(實(shí)體)A與對象(實(shí)體)B相關(guān),那么B必須存在 如果一個關(guān)系R的一個元組有個分量值為v,那么期望v將出現(xiàn)在另一個關(guān)系S的某個元組的特定分量中 v(R) v(S),135,參照完整性約束例,Movie關(guān)系中,每部電影的制片人必須出現(xiàn)在MovieExec關(guān)系中 Movie(title,year,length,incolor,studioName,producerC#) MoiveExec(name,address,cert#,networth) 每個Movie元組的producerC#分量必須出現(xiàn)在MovieExec元組的cert#分量中 producerC#(Movie) cert#(Movi
40、eExec) producerC#(Movie) -cert#(MovieExec)=0,136,參照完整性約束例,影星只能于存在的Movie中出演角色 Movie(title,year,length,incolor,studioName,producerC#) starsIn(movieTitle,movieYear,starName) movieTitle,movieYear(starsIn) title,year(Movie),137,附加約束函數(shù)依賴,對關(guān)系student,有snosname stu1.sno = stu2.sno AND stu1.snamestu2.sname(st
41、u1stu2) = 0,138,附加約束用戶定義的約束,某些屬性的取值有特定的要求 genderFAND gender M(MovieStar) = 0,139,4.6 包的關(guān)系運(yùn)算,集合 無重復(fù) 順序無關(guān) 包 可重復(fù) 順序無關(guān) 商業(yè)數(shù)據(jù)庫系統(tǒng)往往是基于包的 采用包可以獲得比集合快的運(yùn)算速度,140,包的關(guān)系運(yùn)算,并、交、差 投影、選擇 乘積、連接 不必去除重復(fù)元組!,141,作業(yè),練習(xí)4.1.1/4.5.1/4.5.4/4.5.5,第五章 數(shù)據(jù)庫語言SQL,143,概述,SQL的發(fā)展 1974年,由Boyce和Chamberlin提出 19751979,IBM San Jose Resear
42、ch Lab的關(guān)系數(shù)據(jù)庫管理系統(tǒng)原型System R實(shí)施了這種語言 SQL-86是第一個SQL標(biāo)準(zhǔn) SQL-89、SQL-92(SQL2)、SQL-99(SQL3),144,概述,現(xiàn)狀 大部分DBMS產(chǎn)品都支持SQL,成為操作數(shù)據(jù)庫的標(biāo)準(zhǔn)語言 有方言,支持程度不同,145,數(shù)據(jù)定義(DDL) 定義、刪除、修改關(guān)系模式(基本表) 定義、刪除視圖(View) 定義、刪除索引(Index) 數(shù)據(jù)操縱(DML) 數(shù)據(jù)查詢 數(shù)據(jù)增、刪、改 數(shù)據(jù)控制(DCL) 用戶訪問權(quán)限的授予、收回,概述SQL的功能,146,交互式SQL 一般DBMS都提供聯(lián)機(jī)交互工具 用戶可直接鍵入SQL命令對數(shù)據(jù)庫進(jìn)行操作 由DB
43、MS來進(jìn)行解釋,概述SQL的形式,147,嵌入式SQL 能將SQL語句嵌入到高級語言(宿主語言) 使應(yīng)用程序充分利用SQL訪問數(shù)據(jù)庫的能力、宿主語言的過程處理能力 一般需要預(yù)編譯,將嵌入的SQL語句轉(zhuǎn)化為宿主語言編譯器能處理的語句,概述SQL的形式,148,數(shù)據(jù)定義 Create、Drop、Alter 數(shù)據(jù)操縱 數(shù)據(jù)查詢:Select 數(shù)據(jù)修改:Insert、Update、Delete 數(shù)據(jù)控制 Grant、Revoke,概述SQL的動詞,149,數(shù)據(jù)查詢是數(shù)據(jù)庫應(yīng)用的核心功能 基本結(jié)構(gòu) Select A1, A2, ., AnFrom r1, r2, ., rmWhere P A1, A2,
44、 ., An(p(r1r1.rm),數(shù)據(jù)查詢,150,Select語句的含義,對 From 子句中的各關(guān)系,作笛卡兒積() 對 Where 子句中的邏輯表達(dá)式進(jìn)行選擇()運(yùn)算,找出符合條件的元組 根據(jù) Select 子句中的屬性列表,對上述結(jié)果作投影( )操作,151,Select語句的含義,結(jié)果集 查詢操作的對象是關(guān)系,結(jié)果還是一個關(guān)系,是一個結(jié)果集,是一個動態(tài)數(shù)據(jù)集,152,Select子句,對應(yīng)于關(guān)系代數(shù)的投影()運(yùn)算,用以列出查詢結(jié)果集中的期望屬性,153,SQL具有包的特性 Select 子句的缺省情況是保留重復(fù)元組( ALL ),可用 Distinct 去除重復(fù)元組 Select
45、Distinct sdept From Student Select All sdept From Student 去除重復(fù)元組:費(fèi)時 需要臨時表的支持,Select子句重復(fù)元組,154,Select子句 *與屬性列表,星號 * 表示所有屬性 星號 * :按關(guān)系模式中屬性的順序排列,并具有一定的邏輯數(shù)據(jù)獨(dú)立性 顯式列出屬性名:按用戶順序排列 Select * From Student Select Student.*,cno,grade From Student,SC Where Student.sno = SC.sno,155,Select子句更名,為結(jié)果集中的某個屬性改名 使結(jié)果集更具可讀
46、性 Select sno as stu_no,cno as course_no, grade From SC Select sno,sname,2001 - sage as birthday From Student,156,Where 子句,where子句對應(yīng)與關(guān)系代數(shù)中的選擇() 查詢滿足指定條件的元組可以通過Where子句來實(shí)現(xiàn) 使where子句中的邏輯表達(dá)式返回True值的元組,是符合要求的元組,將被選擇出來,157,Where 子句運(yùn)算符,比較:、=、=、not + 確定范圍: Between A and B、Not Between A and B 確定集合:IN、NOT IN 字符
47、匹配:LIKE,NOT LIKE 空值:IS NULL、IS NOT NULL 多重條件:AND、OR、NOT,158,Where 子句Like,字符匹配:Like、Not Like 通配符 % 匹配任意字符串 _ 匹配任意一個字符 大小寫敏感,159,Where 子句Like,例:列出姓張的學(xué)生的學(xué)號、姓名。 Select sno,sname From Student Where sname LIKE 張%,160,Where 子句Like,例:列出張姓且單名的學(xué)生的學(xué)號、姓名。 Select sno,sname From Student Where sname LIKE 張_ _,161,
48、Where 子句轉(zhuǎn)義符 escape,例:列出課程名稱中帶有_的課號及課名。 Select cno,cname From Course Where cname LIKE %_% escape ,162,From 子句,From子句對應(yīng)與關(guān)系代數(shù)中的笛卡兒積() 列出將被掃描的關(guān)系(表) 例:列出所有學(xué)生的學(xué)號、姓名、課號、成績。 Select Sudent.sno,sname,SC.cno,grade From Student,SC Where Student.sno = SC.sno,163,From 子句元組變量,為 From 子句中的關(guān)系定義元組變量 方便關(guān)系名的引用 在同一關(guān)系的笛卡兒
49、積中進(jìn)行辨別 例:列出與95001同歲的同學(xué)的學(xué)號,姓名,年齡 SelectT.sno,T.sname,T.sage FromStudent as T,Student as S WhereS.sno = 95001 AND T.sage = S.sage,164,Order By子句,指定結(jié)果集中元組的排列次序 耗時 ASC(缺?。ESC、未選中的屬性 例:列出CS系中的男生的學(xué)號、姓名、年齡,并按年齡進(jìn)行排列(升序) Select sno, sname,sage From Student Where sdept = CS Order By sage ASC,165,SQL的集合操作,SQ
50、L的結(jié)果集是“包” 多個 Select 語句的結(jié)果可以進(jìn)行集合操作,使結(jié)果為“集合”(default) SQL-92支持 參加集合操作的關(guān)系(結(jié)果集)必須是相容的,166,SQL的集合操作相容,屬性個數(shù)必須一致 對應(yīng)的類型必須一致 屬性名無關(guān) 最終結(jié)果集采用第一個結(jié)果的屬性名 缺省為自動去除重復(fù)元組 除非顯式說明ALL Order By放在整個語句的最后,167,SQL的集合操作并,union(并,對應(yīng)與關(guān)系代數(shù)的),標(biāo)準(zhǔn)SQL都支持的 采用集合的觀點(diǎn),合成多個查詢的結(jié)果 select - without - order by . UNION ALL select - without - or
51、der by . UNION ALL select - without - order by . . ORDER BY integer ASC | DESC , . ,168,例:查詢計(jì)算機(jī)系的學(xué)生或者年齡不大于19歲的學(xué)生,并按年齡倒排序。,SQL的集合操作并,169,intersect(交,對應(yīng)與關(guān)系代數(shù)的),并不是所有的DBMS都支持 例:查詢計(jì)算機(jī)系的學(xué)生并且年齡不大于19歲的學(xué)生,并按年齡倒排序。 源碼網(wǎng)整理: ,SQL的集合操作交,170,except(差,對應(yīng)與關(guān)系代數(shù)的 -),并不是所有的DBMS都支持 例:查詢計(jì)算機(jī)系的男生。,SQL的集合操作差,171,數(shù)據(jù)定義語言(Dat
52、a Definition Language) Create、Drop、Alter 定義一組關(guān)系(基本表)、說明各關(guān)系的信息 各關(guān)系的模式 各屬性的值域 完整性約束 索引 安全性和權(quán)限,數(shù)據(jù)定義語言(DDL),172,字符型 char(n) 、varchar(n) 數(shù)值型 integer、smallint numeric(p,d) real、double、float(n) 日期/時間型 date time,DDLSQL中的域類型,173,域定義語句(SQL-92支持) 需重復(fù)使用的 Create Domain stu_name varchar(20) Create Domain zip_code
53、 char(6),DDLSQL中的域類型,174,Create Table r (A1D1, A2D2, AnDn, , ) 其中: r 關(guān)系名(表名)、 Ai 關(guān)系 r 的一個屬性名 Dn 屬性Ai域值的域類型 主鍵聲明: primary key (Aj1 ,Aj2 ,Ajvm ),DDLSQL的模式定義,175,Create Domain stu_name varchar(20) Create Table Student ( sno char(10) primary key(sno) , sname stu_name , sage smallint, ssex char(1), sdept
54、 char(2),DDLSQL的模式定義,176,Create Table Course ( cno char(10) primary key (cno) , cname varchar(20) , credit smallint ) Create Table SC ( sno char(10) not null , cno char(10) not null , grade smallint, primary key (sno, cno),DDLSQL的模式定義,177,用SQL刪除關(guān)系(表) 將整個關(guān)系模式(表結(jié)構(gòu))徹底刪除 表中的數(shù)據(jù)也將被刪除 Drop Table r Drop Tab
55、le student;,DDL刪除表結(jié)構(gòu) Drop,178,刪除表中的某屬性 去除屬性及相應(yīng)的數(shù)據(jù) Alter Table r Drop A,DDL修改模式 Alter,179,增加表中的屬性 向已經(jīng)存在的表中添加屬性 allow null 已有的元組中該屬性的值被置為Null Alter Table r Add A D Alter Table student phone char(16);,DDL修改模式 Alter,180,屬性的默認(rèn)值 用戶不提供某屬性的值時,默認(rèn)值被使用 初始值 TimeStamp DDL中: ModifyDate char(30) Default TimeStamp;
56、 Alter Table student Add ID integer Default AutoIncrement;,DDL Default Value,181,定義一個新的域(用戶定義的域) 需要重復(fù)使用的域 必須具有相同類型的屬性 Create Domain As ; Create Domain datelog As char(30) default timestamp 域的刪除 Drop Domain datelog 各DBMS的方法是不同的Restrict/Cascade 使用該域的屬性的處理,DDL 域定義,182,索引是一種數(shù)據(jù)結(jié)構(gòu),是對照表、指針表 索引是為了加速對表中元組的檢索
57、而創(chuàng)建的一種分散存儲結(jié)構(gòu)(B樹) 索引是對表而建立的,由除存放表的數(shù)據(jù)頁面以外的索引頁面組成 索引是把雙刃劍,減慢更新的速度 索引不是SQL標(biāo)準(zhǔn)的要求,DDL 索引 Index,183,索引的種類 聚簇索引(Clustered Index) 非聚簇索引(Non-Clustered Index),DDL 索引 Index,184,聚簇索引(Clustered Index) 表中的元組按聚簇索引的順序物理地存放 根級頁面-中間層頁面-葉級頁面(數(shù)據(jù)頁面) 一個表中只能有一個聚簇索引 更新的復(fù)雜性,需要大量的臨時空間,DDL 索引 Index,185,非聚簇索引(Non-Clustered Inde
58、x) 表中元組存儲的物理順序與索引的順序無關(guān) 葉級索引頁面是指向數(shù)據(jù)頁面的指針 每個表可有多個非聚簇索引,DDL 索引 Index,186,CREATE UNIQUE CLUSTERED | NONCLUSTERED INDEX index-name On TableName(Column,Column,) Create Index YearIndex On Movie(year); Create Clustered Index SnoIndex On student(sno) ; Drop Index YearIndex;,DDL 索引 Index,187,查詢與更新的評估 查詢多? 更新多
59、? 索引的覆蓋 Where表達(dá)式 Where表達(dá)式的順序 索引越多越好嗎? 了解優(yōu)化器,DDL 索引的使用,188,數(shù)據(jù)添加 用SQL的插入語句,向數(shù)據(jù)庫表中添加數(shù)據(jù) 按關(guān)系模式的屬性順序 Insert Into Student Values ( 95001, 張三,27, M, CS ) 按指定的屬性順序,也可以只添加部分屬性(非Null屬性為必需) Insert Into Student ( sno, sname, sage) Values ( 95002, 李四, 26 ),189,把一列中的值進(jìn)行聚合運(yùn)算,返回單值的函數(shù) 五個預(yù)定義的聚合函數(shù) 平均值:Avg 總和: Sum 最小值:Min 最大值:Max 計(jì)數(shù): Count Count(*)、Count(Distinct),聚合函數(shù),190,Group By 將查詢結(jié)果集按某一列或多列的值分組,值相等的為一組,一個分組以一個元組的形式出現(xiàn) 只有出現(xiàn)在Group By子句中的屬性,才可出現(xiàn)在Select子句中 例:統(tǒng)計(jì)各系學(xué)生的人數(shù)。 Select sdept,count(*)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 連續(xù)梁拆除專項(xiàng)施工方案
- 市場營銷趨勢分析報(bào)告
- 科技改變運(yùn)動器材
- 教學(xué)策略與新技術(shù)講座
- 2021年10月乘務(wù)員模擬試卷與答案解析2
- 2025年度智能電網(wǎng)建設(shè)合同相對性協(xié)議
- 新版華東師大版八年級數(shù)學(xué)下冊《17.3.2一次函數(shù)的圖象1》聽評課記錄21
- 2025年度建筑工程合同風(fēng)險管理論文匯編
- 五年級上冊數(shù)學(xué)聽評課記錄《4.1 比較圖形的面積》(2)-北師大版
- 九年物理教師聽評課記錄
- 藥企銷售總經(jīng)理競聘
- 開封市第一屆職業(yè)技能大賽健康照護(hù)項(xiàng)目技術(shù)文件(國賽)
- 公路電子收費(fèi)系統(tǒng)安裝合同范本
- 醫(yī)院培訓(xùn)課件:《傷口評估與測量》
- 2021年全國高考物理真題試卷及解析(全國已卷)
- 期末試卷(試題)-2024-2025學(xué)年四年級上冊數(shù)學(xué)滬教版
- 《第一單元口語交際:即興發(fā)言》教案-2023-2024學(xué)年六年級下冊語文統(tǒng)編版
- 綜合實(shí)踐項(xiàng)目 制作水族箱飼養(yǎng)淡水魚 教學(xué)設(shè)計(jì)-2024-2025學(xué)年魯科版生物六年級上冊
- 公轉(zhuǎn)私付款合同模板
- 安徽省2024年高考語文模擬試卷及答案5
- 關(guān)于餐飲合同范本
評論
0/150
提交評論