大學(xué)計(jì)算機(jī)第11講-怎樣管理和利用數(shù)據(jù)II_第1頁(yè)
大學(xué)計(jì)算機(jī)第11講-怎樣管理和利用數(shù)據(jù)II_第2頁(yè)
大學(xué)計(jì)算機(jī)第11講-怎樣管理和利用數(shù)據(jù)II_第3頁(yè)
大學(xué)計(jì)算機(jī)第11講-怎樣管理和利用數(shù)據(jù)II_第4頁(yè)
大學(xué)計(jì)算機(jī)第11講-怎樣管理和利用數(shù)據(jù)II_第5頁(yè)
已閱讀5頁(yè),還剩98頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、由關(guān)系模型到由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQLResearch Center on Intelligent Computing for Enterprises & Services,Harbin Institute of Technology戰(zhàn)德臣哈爾濱工業(yè)大學(xué) 教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員戰(zhàn)德臣 教授由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL(1)回顧:數(shù)據(jù)庫(kù)系統(tǒng)的概念回顧:數(shù)據(jù)庫(kù)系統(tǒng)的概念數(shù)據(jù)格式數(shù)據(jù)981102 數(shù)據(jù)庫(kù) 李四 99秋 02 王四 90誰(shuí)能訪問(wèn)數(shù)據(jù)更新數(shù)據(jù)有什么要求 用戶定義的數(shù)據(jù)安全性約束條件階段階段1

2、:User/DBAP通過(guò)數(shù)據(jù)定義數(shù)據(jù)定義語(yǔ)言語(yǔ)言(DDL)定義數(shù)據(jù)表的格式階段階段2:User/DBAP通過(guò)數(shù)據(jù)操縱語(yǔ)言數(shù)據(jù)操縱語(yǔ)言(DML)操縱數(shù)據(jù)進(jìn)出數(shù)據(jù)庫(kù)User/DBA通過(guò)數(shù)據(jù)控制語(yǔ)言數(shù)據(jù)控制語(yǔ)言(DCL)定義數(shù)據(jù)安全性班級(jí)班級(jí) 課程課程 教師教師 學(xué)期學(xué)期 學(xué)號(hào)學(xué)號(hào) 姓名姓名 成績(jī)成績(jī)981101 數(shù)據(jù)庫(kù) 李四 98秋 01 張三 100981101 數(shù)據(jù)庫(kù) 李四 98秋 02 張四 90981101 數(shù)據(jù)庫(kù) 李四 98秋 03 張五 80981101 計(jì)算機(jī) 李五 98秋 01 張三 89981101 計(jì)算機(jī) 李五 98秋 02 張四 98981101 計(jì)算機(jī) 李五 98秋 03

3、張五 72981102 數(shù)據(jù)庫(kù) 李四 99秋 01 王三 30981102 數(shù)據(jù)庫(kù) 李四 99秋 02 王四 90981102 數(shù)據(jù)庫(kù) 李四 99秋 03 王武 78學(xué)生成績(jī)單學(xué)生成績(jī)單DBUserDBMS檢查用戶合法性檢查用戶合法性檢查數(shù)據(jù)合法性檢查數(shù)據(jù)合法性按用戶要求的操作按用戶要求的操作執(zhí)行并返回結(jié)果。執(zhí)行并返回結(jié)果。DBAP戰(zhàn)德臣 教授p數(shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)庫(kù)語(yǔ)言SQL 列名列名 , 列名列名 表名表名1 , 表名表名2, 檢索條件檢索條件 ;語(yǔ)義:將語(yǔ)義:將From后面的所有表串接起來(lái),檢索出滿足后面的所有表串接起來(lái),檢索出滿足“檢索條件檢索條件”的元組,的元組,并按給定的列名及順序進(jìn)行投

4、影顯示。并按給定的列名及順序進(jìn)行投影顯示。 列名列名, , 列名列名( 檢索條件檢索條件 (表名表名1 表名表名2 )關(guān)系運(yùn)算式關(guān)系運(yùn)算式由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL(2)由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL戰(zhàn)德臣 教授SQL: Structural Query LanguagepSQL語(yǔ)言是數(shù)據(jù)庫(kù)系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言,它可以定義數(shù)據(jù)庫(kù)、操縱數(shù)據(jù)庫(kù)和進(jìn)語(yǔ)言是數(shù)據(jù)庫(kù)系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言,它可以定義數(shù)據(jù)庫(kù)、操縱數(shù)據(jù)庫(kù)和進(jìn)行數(shù)據(jù)庫(kù)控制。行數(shù)據(jù)庫(kù)控制。pSQL語(yǔ)言主要由以下語(yǔ)言主要由以下9個(gè)單詞引導(dǎo)的操作語(yǔ)句來(lái)構(gòu)成,但每一種語(yǔ)句都能表個(gè)單詞引導(dǎo)的操作語(yǔ)句

5、來(lái)構(gòu)成,但每一種語(yǔ)句都能表達(dá)復(fù)雜的操作請(qǐng)求。達(dá)復(fù)雜的操作請(qǐng)求。 DDL語(yǔ)句引導(dǎo)詞:語(yǔ)句引導(dǎo)詞:Create(建立建立), Alter(修改修改), Drop(撤消撤消)定義定義Database, Table, View, Index DML語(yǔ)句引導(dǎo)詞:語(yǔ)句引導(dǎo)詞:Insert(插入插入), Update(更新更新), Delete(刪除刪除), Select(查詢查詢)各種方式的更新與檢索操作各種方式的更新與檢索操作各種條件的查詢操作,如連接查找,模糊查找,分組查找,嵌套查找等各種條件的查詢操作,如連接查找,模糊查找,分組查找,嵌套查找等各種聚集操作,求平均、求和、各種聚集操作,求平均、求和、

6、等,分組聚集,分組過(guò)濾等等,分組聚集,分組過(guò)濾等 DCL語(yǔ)句引導(dǎo)詞:語(yǔ)句引導(dǎo)詞:Grant, Revoke安全性控制安全性控制-授權(quán)和撤消授權(quán)授權(quán)和撤消授權(quán)由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL(3)什么是結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言什么是結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL戰(zhàn)德臣 教授由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL(4)用用SQL語(yǔ)言創(chuàng)建數(shù)據(jù)庫(kù)并定義表語(yǔ)言創(chuàng)建數(shù)據(jù)庫(kù)并定義表-簡(jiǎn)介簡(jiǎn)介創(chuàng)建課程學(xué)習(xí)數(shù)據(jù)庫(kù):創(chuàng)建課程學(xué)習(xí)數(shù)據(jù)庫(kù):SCT Create Database SCT;SCT定義學(xué)生表:定義學(xué)生表:StudentCreate Table Student ( S#

7、 char(8) not null , Sname char(10), Ssex char(2), Sage integer, D# char(2), Sclass char(6) );定義課程表:定義課程表:Course Create Table Course ( C# char(3) , Cname char(12), Chours integer, Credit float(1), T# char(3) );同學(xué)可自己定義其他的表:同學(xué)可自己定義其他的表: Dept, Teacher, SCStudentCoursecreate table 表名表名( 列名列名 數(shù)據(jù)類型數(shù)據(jù)類型 not

8、 null , 列名列名 數(shù)據(jù)類型數(shù)據(jù)類型 , ) ;戰(zhàn)德臣 教授由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL(5)用用SQL語(yǔ)言在所定義表中增加記錄語(yǔ)言在所定義表中增加記錄-簡(jiǎn)介簡(jiǎn)介insert into 表名表名 (列名列名 , 列名列名 values (值值 , 值值 , ); 追加學(xué)生表中的元組追加學(xué)生表中的元組Insert Into Student Values ( 98030101 , 張三張三, 男男, 20, 03, 980301);Insert Into Student ( S#, Sname, Ssex, Sage, D# , Sclass)Values

9、( 98030102 , 張四張四, 女女, 20, 03, 980301);追加追加課程表中的元組課程表中的元組Insert Into Course /*所有列名省略,須與定義或存儲(chǔ)的列名順序一致Values ( 001 , 數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù), 40, 6, 001); /*如列名未省略,須與語(yǔ)句中列名的順序一致Insert Into Course(Cname, C#, Credit, Chours, T#);Values (數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù), 001, 6, 20, 001);戰(zhàn)德臣 教授已經(jīng)建立好的數(shù)據(jù)庫(kù)已經(jīng)建立好的數(shù)據(jù)庫(kù)-供后面學(xué)習(xí)和訓(xùn)練使用供后面學(xué)習(xí)和訓(xùn)練使用由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言由關(guān)

10、系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL(6)已經(jīng)建立起的數(shù)據(jù)庫(kù)已經(jīng)建立起的數(shù)據(jù)庫(kù)SQL-SELECT之簡(jiǎn)單使用之簡(jiǎn)單使用Research Center on Intelligent Computing for Enterprises & Services,Harbin Institute of Technology戰(zhàn)德臣哈爾濱工業(yè)大學(xué) 教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員戰(zhàn)德臣 教授Select 的簡(jiǎn)單語(yǔ)法形式為:的簡(jiǎn)單語(yǔ)法形式為: 列名列名 , 列名列名 表名表名 檢索條件檢索條件 ;l語(yǔ)義:從語(yǔ)義:從所給出的表中,查詢出滿足所給出的表中,查詢出滿足的元的元組,并按給定的組

11、,并按給定的及順序進(jìn)行投影顯示及順序進(jìn)行投影顯示 列名列名, , 列名列名( 檢索條件檢索條件 (表名表名)SQL-SELECT之簡(jiǎn)單使用之簡(jiǎn)單使用(1)基本檢索操作的表達(dá)方法基本檢索操作的表達(dá)方法戰(zhàn)德臣 教授 例如:檢索學(xué)生表中所有學(xué)生的信息例如:檢索學(xué)生表中所有學(xué)生的信息Select S#, Sname, Ssex, Sage, Sclass, D# From Student ; Select * From Student ; /如投影所有列,則可以用*來(lái)簡(jiǎn)寫(xiě) 再如:檢索學(xué)生表中所有學(xué)生的姓名及年齡再如:檢索學(xué)生表中所有學(xué)生的姓名及年齡Select Sname, Sage /投影出某些列

12、From Student ; 再如:檢索學(xué)生表中所有年齡小于再如:檢索學(xué)生表中所有年齡小于19歲的學(xué)生的年齡及姓名歲的學(xué)生的年齡及姓名Select Sage, Sname /投影的列可以重新排定順序 From StudentWhere Sage 80 ; /有重復(fù)元組出現(xiàn),比如一個(gè)同學(xué)兩門(mén)以上課程大于80Select DISTINCT S# From SCWhere Score 80; /重復(fù)元組被DISTINCT過(guò)濾掉,只保留一份檢索結(jié)果去重復(fù):檢索結(jié)果去重復(fù):DISTINCT表表(Table)和關(guān)系和關(guān)系(Relation)在大部分情況下概念通用在大部分情況下概念通用,但有細(xì)微差別但有細(xì)微

13、差別: 前者可允許有重復(fù)元組前者可允許有重復(fù)元組, 而后者不允許而后者不允許SQL-SELECT之簡(jiǎn)單使用之簡(jiǎn)單使用(3)如何去掉檢索結(jié)果的重復(fù)元組或記錄呢如何去掉檢索結(jié)果的重復(fù)元組或記錄呢?戰(zhàn)德臣 教授Select語(yǔ)句中結(jié)果排序是通過(guò)增加語(yǔ)句中結(jié)果排序是通過(guò)增加order by子句實(shí)現(xiàn)的子句實(shí)現(xiàn)的意義為結(jié)果按指定列名進(jìn)行排序,若后跟意義為結(jié)果按指定列名進(jìn)行排序,若后跟asc或省略,則為升序;若后跟或省略,則為升序;若后跟desc, 則為降序。則為降序。例如:按學(xué)號(hào)由小到大的順序顯示出所有學(xué)生的學(xué)號(hào)及姓名例如:按學(xué)號(hào)由小到大的順序顯示出所有學(xué)生的學(xué)號(hào)及姓名Select S#, Sname Fr

14、om StudentOrder By S# ASC ; 再如:檢索再如:檢索002號(hào)課大于號(hào)課大于80分的所有同學(xué)學(xué)號(hào)并按成績(jī)由高到低順序顯示分的所有同學(xué)學(xué)號(hào)并按成績(jī)由高到低順序顯示Select S# From SC Where C# = 002 and Score 80Order By Score DESC ;檢索結(jié)果的排序檢索結(jié)果的排序SQL-SELECT之簡(jiǎn)單使用之簡(jiǎn)單使用(4)如何對(duì)檢索結(jié)果進(jìn)行排序呢如何對(duì)檢索結(jié)果進(jìn)行排序呢?SELECT FROM WHERE ORDER BY 戰(zhàn)德臣 教授比如檢索比如檢索“姓張的學(xué)生姓張的學(xué)生”,檢索,檢索“張某某張某某”,這類查詢問(wèn)題,這類查詢問(wèn)題

15、,Select語(yǔ)句是語(yǔ)句是通過(guò)在檢索條件中引入運(yùn)算符通過(guò)在檢索條件中引入運(yùn)算符like來(lái)表示的來(lái)表示的 含有含有l(wèi)ike運(yùn)算符的表達(dá)式運(yùn)算符的表達(dá)式 找出匹配給定字符串的字符串。其中給定字符串中可以出現(xiàn)找出匹配給定字符串的字符串。其中給定字符串中可以出現(xiàn)%, _等匹配符等匹配符. 匹配規(guī)則:匹配規(guī)則:q “%” 匹配零個(gè)或多個(gè)字符匹配零個(gè)或多個(gè)字符q “_” 匹配任意單個(gè)字符匹配任意單個(gè)字符q “ ” 轉(zhuǎn)義字符,用于去掉一些特殊字符的特定含義,使其被轉(zhuǎn)義字符,用于去掉一些特殊字符的特定含義,使其被作為普通字符看待作為普通字符看待, 如用如用 “%”去匹配字符去匹配字符%,用,用_ 去匹配字符去

16、匹配字符_SQL-SELECT之簡(jiǎn)單使用之簡(jiǎn)單使用(5)如何表達(dá)模糊性的查詢內(nèi)容呢如何表達(dá)模糊性的查詢內(nèi)容呢?模糊查詢模糊查詢戰(zhàn)德臣 教授 例如:檢索所有姓張的學(xué)生學(xué)號(hào)及姓名例如:檢索所有姓張的學(xué)生學(xué)號(hào)及姓名Select S#, Sname From StudentWhere Sname Like 張張% ; 再如:檢索名字為張某某的所有同學(xué)姓名再如:檢索名字為張某某的所有同學(xué)姓名Select Sname From Student Where Sname Like 張張_ _; 再如:檢索名字不姓張的所有同學(xué)姓名再如:檢索名字不姓張的所有同學(xué)姓名Select Sname From Studen

17、t Where Sname Not Like 張張%;SQL-SELECT之簡(jiǎn)單使用之簡(jiǎn)單使用(5)如何表達(dá)模糊性的查詢內(nèi)容呢如何表達(dá)模糊性的查詢內(nèi)容呢?戰(zhàn)德臣 教授SQL-SELECT之簡(jiǎn)單使用之簡(jiǎn)單使用(6)小結(jié)小結(jié)? 例如:檢索學(xué)生表中所有學(xué)生的信息例如:檢索學(xué)生表中所有學(xué)生的信息Select S#, Sname, Ssex, Sage, Sclass, D# From Student ; Select * From Student ; /如投影所有列,則可以用*來(lái)簡(jiǎn)寫(xiě) 再如:檢索學(xué)生表中所有學(xué)生的姓名及年齡再如:檢索學(xué)生表中所有學(xué)生的姓名及年齡Select Sname, Sage /投

18、影出某些列 From Student ; 再如:檢索學(xué)生表中所有年齡小于再如:檢索學(xué)生表中所有年齡小于19歲的學(xué)生的年齡及姓名歲的學(xué)生的年齡及姓名Select Sage, Sname /投影的列可以重新排定順序 From StudentWhere Sage T2.Salary ;求年齡有差異的任意兩位同學(xué)的姓名求年齡有差異的任意兩位同學(xué)的姓名Select S1.Sname as Stud1, S2.Sname as Stud2 From Student S1, Student S2Where S1.Sage S2.Sage ;請(qǐng)同學(xué)書(shū)寫(xiě)一下:求請(qǐng)同學(xué)書(shū)寫(xiě)一下:求001號(hào)課程有成績(jī)差的任意兩位同

19、學(xué)號(hào)課程有成績(jī)差的任意兩位同學(xué)有時(shí)表名很長(zhǎng)時(shí),為書(shū)寫(xiě)條件簡(jiǎn)便,也定義表別名,以簡(jiǎn)化書(shū)寫(xiě)。有時(shí)表名很長(zhǎng)時(shí),為書(shū)寫(xiě)條件簡(jiǎn)便,也定義表別名,以簡(jiǎn)化書(shū)寫(xiě)。Student(S#,Sname,Ssex,Sage,D#,Sclass)Course(C#,Cname,Chours,Credit,T#)SC(S#,C#,Score)Dept(D#,Dname,Dean)Teacher(T#,Tname,D#,Salary)SQL-SELECT之多表聯(lián)合操作之多表聯(lián)合操作(3)多表聯(lián)合檢索之表與列的別名多表聯(lián)合檢索之表與列的別名戰(zhàn)德臣 教授再如:求既學(xué)過(guò)再如:求既學(xué)過(guò)“001”號(hào)課又學(xué)過(guò)號(hào)課又學(xué)過(guò) “002”號(hào)課

20、的所有學(xué)生的學(xué)號(hào)號(hào)課的所有學(xué)生的學(xué)號(hào)(二表連二表連接接)Select SC1.S# From SC SC1, SC SC2Where SC1.S# = SC2.S# and SC1.C#=C01 and SC2.C#=C02 ; 再如:求再如:求“C01”號(hào)課成績(jī)比號(hào)課成績(jī)比“C02”號(hào)課成績(jī)高的所有學(xué)生的學(xué)號(hào)號(hào)課成績(jī)高的所有學(xué)生的學(xué)號(hào)(二表連二表連接接)Select SC1.S# From SC SC1, SC SC2Where SC1.S# = SC2.S# and SC1.C#=C01 and SC2.C#=C02 and SC1.Score SC2.Score;SQL-SELECT之多

21、表聯(lián)合操作之多表聯(lián)合操作(4)多表聯(lián)合檢索之表與自身的連接多表聯(lián)合檢索之表與自身的連接戰(zhàn)德臣 教授正確理解漢語(yǔ)表達(dá)的查詢語(yǔ)義,正確表達(dá)為正確理解漢語(yǔ)表達(dá)的查詢語(yǔ)義,正確表達(dá)為SQL語(yǔ)句語(yǔ)句 例如:例如:列出沒(méi)學(xué)過(guò)李明老師講授課程的所有同學(xué)的姓名列出沒(méi)學(xué)過(guò)李明老師講授課程的所有同學(xué)的姓名? 如下書(shū)寫(xiě)如下書(shū)寫(xiě)SQL語(yǔ)語(yǔ)句會(huì)得到正確結(jié)果嗎?它能得到什么結(jié)果?怎樣正確書(shū)寫(xiě)?句會(huì)得到正確結(jié)果嗎?它能得到什么結(jié)果?怎樣正確書(shū)寫(xiě)?Select Sname From Student S, SC, Course C, Teacher TWhere T.Tname 李明李明 and C.C# = SC.C# an

22、d SC.S# = S.S# and T.T# = C.T#;/正確的SQL語(yǔ)句在講義后面的示例中講解SQL-SELECT之多表聯(lián)合操作之多表聯(lián)合操作(5)多表聯(lián)合檢索之語(yǔ)義之理解多表聯(lián)合檢索之語(yǔ)義之理解戰(zhàn)德臣 教授 IN子查詢。其基本語(yǔ)法為:子查詢。其基本語(yǔ)法為: 語(yǔ)義:判斷某一表達(dá)式的值是否在子查詢的結(jié)果中。語(yǔ)義:判斷某一表達(dá)式的值是否在子查詢的結(jié)果中。 再例如:列出選修了再例如:列出選修了001號(hào)課程的學(xué)生的學(xué)號(hào)和姓名號(hào)課程的學(xué)生的學(xué)號(hào)和姓名Select S#, Sname From StudentWhere S# in ( Select S# From SC Where C# = 00

23、1 ) ;再例如:求既學(xué)過(guò)再例如:求既學(xué)過(guò)001號(hào)課程號(hào)課程, 又學(xué)過(guò)又學(xué)過(guò)002號(hào)課程的學(xué)生的學(xué)號(hào)號(hào)課程的學(xué)生的學(xué)號(hào)Select S# From SCWhere C# = 001 and S# in ( Select S# From SC Where C# = 002 ) ;SQL-SELECT之多表聯(lián)合操作之多表聯(lián)合操作(6)多表聯(lián)合檢索之嵌套子查詢多表聯(lián)合檢索之嵌套子查詢戰(zhàn)德臣 教授 再例如:再例如:列出沒(méi)學(xué)過(guò)李明老師講授課程的所有同學(xué)的姓名列出沒(méi)學(xué)過(guò)李明老師講授課程的所有同學(xué)的姓名?Select Sname From StudentWhere S# not in ( Select S#

24、 From SC, Course C, Teacher T Where T.Tname = 李明李明 and SC.C# = C.C# and T.T# = C.T# );SQL-SELECT之多表聯(lián)合操作之多表聯(lián)合操作(6)多表聯(lián)合檢索之嵌套子查詢多表聯(lián)合檢索之嵌套子查詢戰(zhàn)德臣 教授非相關(guān)子查詢非相關(guān)子查詢Select Sname From StudentWhere S# not in ( Select S# From SC, Course C, Teacher T Where T.Tname = 李明李明 and SC.C# = C.C# and T.T# = C.T# ) ; 內(nèi)層查詢獨(dú)

25、立進(jìn)行,沒(méi)有涉及任何外層查詢相關(guān)信息的子查詢被稱為非相內(nèi)層查詢獨(dú)立進(jìn)行,沒(méi)有涉及任何外層查詢相關(guān)信息的子查詢被稱為非相關(guān)子查詢。關(guān)子查詢。內(nèi)層查詢內(nèi)層查詢外層查詢外層查詢SQL-SELECT之多表聯(lián)合操作之多表聯(lián)合操作(7)非相關(guān)子查詢非相關(guān)子查詢 vs. 相關(guān)子查詢相關(guān)子查詢戰(zhàn)德臣 教授 有時(shí),內(nèi)層查詢需要依靠外層查詢的某些參量作為限定條件才能進(jìn)行,這有時(shí),內(nèi)層查詢需要依靠外層查詢的某些參量作為限定條件才能進(jìn)行,這樣的子查詢稱為相關(guān)子查詢。樣的子查詢稱為相關(guān)子查詢。 外層向內(nèi)層傳遞的參量需要使用外層的表名或表別名來(lái)限定外層向內(nèi)層傳遞的參量需要使用外層的表名或表別名來(lái)限定 例如:求學(xué)過(guò)例如:求

26、學(xué)過(guò)001號(hào)課程的同學(xué)的姓名號(hào)課程的同學(xué)的姓名 Select Sname From Student StudWhere S# in ( Select S# From SC Where S# = Stud.S# and C# = 001 ) ; 注意:相關(guān)子查詢只能由外層向內(nèi)層傳遞參數(shù),而不能反之;這也稱為變注意:相關(guān)子查詢只能由外層向內(nèi)層傳遞參數(shù),而不能反之;這也稱為變量的作用域原則。量的作用域原則。相關(guān)子查詢相關(guān)子查詢SQL-SELECT之多表聯(lián)合操作之多表聯(lián)合操作(8)非相關(guān)子查詢非相關(guān)子查詢 vs. 相關(guān)子查詢相關(guān)子查詢戰(zhàn)德臣 教授再如:求既學(xué)過(guò)再如:求既學(xué)過(guò)“001”號(hào)課又學(xué)過(guò)號(hào)課又學(xué)

27、過(guò) “002”號(hào)課的所有學(xué)生的學(xué)號(hào)號(hào)課的所有學(xué)生的學(xué)號(hào)(二表連二表連接接)Select SC1.S# From SC SC1, SC SC2Where SC1.S# = SC2.S# and SC1.C#=C01 and SC2.C#=C02 ; 再如:求再如:求“C01”號(hào)課成績(jī)比號(hào)課成績(jī)比“C02”號(hào)課成績(jī)高的所有學(xué)生的學(xué)號(hào)號(hào)課成績(jī)高的所有學(xué)生的學(xué)號(hào)(二表連二表連接接)Select SC1.S# From SC SC1, SC SC2Where SC1.S# = SC2.S# and SC1.C#=C01 and SC2.C#=C02 and SC1.Score SC2.Score;SQL

28、-SELECT之多表聯(lián)合操作之多表聯(lián)合操作(6)小結(jié)小結(jié)?SELECT FROM 表名表名1,表名表名2, WHERE SELECT FROM WHERE IN ( SELECT FROM WHERE )SQL-SELECT之分組聚集操作之分組聚集操作Research Center on Intelligent Computing for Enterprises & Services,Harbin Institute of Technology戰(zhàn)德臣哈爾濱工業(yè)大學(xué) 教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員戰(zhàn)德臣 教授結(jié)果計(jì)算與聚集函數(shù)結(jié)果計(jì)算與聚集函數(shù)select子句可以

29、是一些計(jì)算表達(dá)式或聚集函數(shù),表明在選擇和投影的同時(shí)直子句可以是一些計(jì)算表達(dá)式或聚集函數(shù),表明在選擇和投影的同時(shí)直接進(jìn)行一些運(yùn)算,如下所示:接進(jìn)行一些運(yùn)算,如下所示: 列名列名 | expr | agfunc(列名列名) , 列名列名 | expr | agfunc(列名列名) 表名表名1 , 表名表名2 檢索條件檢索條件 ; 計(jì)算表達(dá)式可以是常量、列名或由常量、列名、特殊函數(shù)及算術(shù)運(yùn)算符構(gòu)計(jì)算表達(dá)式可以是常量、列名或由常量、列名、特殊函數(shù)及算術(shù)運(yùn)算符構(gòu)成的算術(shù)運(yùn)算式。成的算術(shù)運(yùn)算式。SQL-SELECT之分組聚集操作之分組聚集操作(1)SELECT之結(jié)果計(jì)算與聚集函數(shù)之結(jié)果計(jì)算與聚集函數(shù)?求有

30、差額求有差額(差額差額0)的的任意兩位教師的薪水差額任意兩位教師的薪水差額Select T1.Tname as TR1, T2.Tname as TR2, T1.Salary T2.Salary From Teacher T1, Teacher T2Where T1.Salary T2.Salary; 戰(zhàn)德臣 教授結(jié)果計(jì)算與聚集函數(shù)結(jié)果計(jì)算與聚集函數(shù) SQL提供了五個(gè)作用在簡(jiǎn)單列值集合上的內(nèi)置聚集函數(shù)提供了五個(gè)作用在簡(jiǎn)單列值集合上的內(nèi)置聚集函數(shù)agfunc, 分別是:分別是:COUNT、SUM、AVG、MAX、MIN SQL聚集函數(shù)的參數(shù)類型、結(jié)果類型與作用如下:聚集函數(shù)的參數(shù)類型、結(jié)果類型與

31、作用如下:SQL-SELECT之分組聚集操作之分組聚集操作(1)SELECT之結(jié)果計(jì)算與聚集函數(shù)之結(jié)果計(jì)算與聚集函數(shù)?戰(zhàn)德臣 教授 求教師的工資總額求教師的工資總額Select Sum(Salary) From Teacher; 求計(jì)算機(jī)系教師的工資總額求計(jì)算機(jī)系教師的工資總額 Select Sum(Salary) From Teacher T, DeptWhere Dept.Dname = 計(jì)算機(jī)計(jì)算機(jī) and Dept.D# = T.D#; 求數(shù)據(jù)庫(kù)課程的平均成績(jī)求數(shù)據(jù)庫(kù)課程的平均成績(jī)Select AVG(Score) From Course C, SCWhere C.Cname = 數(shù)據(jù)

32、庫(kù)數(shù)據(jù)庫(kù) and C.C# = SC.C#;結(jié)果計(jì)算與聚集函數(shù)結(jié)果計(jì)算與聚集函數(shù)SQL-SELECT之分組聚集操作之分組聚集操作(1)SELECT之結(jié)果計(jì)算與聚集函數(shù)之結(jié)果計(jì)算與聚集函數(shù)?戰(zhàn)德臣 教授分組計(jì)算與聚集分組計(jì)算與聚集 為解決同時(shí)求解若干個(gè)集合的聚集運(yùn)算問(wèn)題,引出了分組的概念。為解決同時(shí)求解若干個(gè)集合的聚集運(yùn)算問(wèn)題,引出了分組的概念。 SQL可以將檢索到的元組按照某一條件進(jìn)行分類,具有相同條件值的元組可以將檢索到的元組按照某一條件進(jìn)行分類,具有相同條件值的元組劃到一個(gè)組或一個(gè)集合中,這一過(guò)程就是分組過(guò)程。劃到一個(gè)組或一個(gè)集合中,這一過(guò)程就是分組過(guò)程。 分組可以在基本分組可以在基本Se

33、lect語(yǔ)句基礎(chǔ)上引入分組子句來(lái)完成:語(yǔ)句基礎(chǔ)上引入分組子句來(lái)完成: 列名列名 | expr | agfunc(列名列名) , 列名列名 | expr | agfunc(列名列名) 表名表名1 , 表名表名2 檢索條件檢索條件 分組條件分組條件 ; 分組條件可以是分組條件可以是 列名列名1, 列名列名2, SELECT FROM WHERE GROUP BY HAVING ORDER BY SQL-SELECT之分組聚集操作之分組聚集操作(2)SELECT之分組計(jì)算與聚集之分組計(jì)算與聚集?戰(zhàn)德臣 教授 例如:例如: 求每一個(gè)學(xué)生的平均成績(jī)求每一個(gè)學(xué)生的平均成績(jī)Select S#, AVG(Sc

34、ore) From SCGroup by S#; 再如:求每一門(mén)課程的平均成績(jī)?cè)偃纾呵竺恳婚T(mén)課程的平均成績(jī)Select C#, AVG(Score) From SCGroup by C#;SQL-SELECT之分組聚集操作之分組聚集操作(2)SELECT之分組計(jì)算與聚集之分組計(jì)算與聚集?分組計(jì)算與聚集分組計(jì)算與聚集Group by C#Group by S#戰(zhàn)德臣 教授求不及格課程超過(guò)兩門(mén)的同學(xué)的學(xué)號(hào),下述寫(xiě)法正確嗎?求不及格課程超過(guò)兩門(mén)的同學(xué)的學(xué)號(hào),下述寫(xiě)法正確嗎?Select S# From SCWhere Score 2Group by S#; SQL-SELECT之分組聚集操作之分組聚

35、集操作(3)SELECT之分組過(guò)濾之分組過(guò)濾若要對(duì)分組若要對(duì)分組(集合集合)進(jìn)行條件過(guò)濾,可使用進(jìn)行條件過(guò)濾,可使用Having子句子句 列名列名 | expr | agfunc(列名列名) , 列名列名 | expr | agfunc(列名列名) 表名表名1 , 表名表名2 檢索條件檢索條件 分組條件分組條件 分組過(guò)濾條件分組過(guò)濾條件 ;分組過(guò)濾分組過(guò)濾-過(guò)濾掉分組,而不是元組過(guò)濾掉分組,而不是元組戰(zhàn)德臣 教授每一行都要檢查滿足每一行都要檢查滿足與否的條件要用與否的條件要用WHEREWHERE子句表達(dá)子句表達(dá)每一分組檢查滿每一分組檢查滿足與否的條件要足與否的條件要用用HavingHaving

36、子句表子句表達(dá)。達(dá)。注意注意: :不是每一行不是每一行都檢查,所以使都檢查,所以使用用HavingHaving子句一子句一定要有定要有Group byGroup by子句子句 HAVING子句與子句與WHERE子句表達(dá)條件的區(qū)別子句表達(dá)條件的區(qū)別SQL-SELECT之分組聚集操作之分組聚集操作(3)SELECT之分組過(guò)濾之分組過(guò)濾分組過(guò)濾分組過(guò)濾-過(guò)濾掉分組,而不是元組過(guò)濾掉分組,而不是元組戰(zhàn)德臣 教授 例如例如 求不及格課程超過(guò)兩門(mén)的同學(xué)的學(xué)號(hào)求不及格課程超過(guò)兩門(mén)的同學(xué)的學(xué)號(hào)Select S# From SCWhere Score 2; 再如再如 求有求有10人以上不及格的課程號(hào)人以上不及格

37、的課程號(hào)Select C# From SCWhere Score 10;分組過(guò)濾分組過(guò)濾-過(guò)濾掉分組,而不是元組過(guò)濾掉分組,而不是元組SQL-SELECT之分組聚集操作之分組聚集操作(3)SELECT之分組過(guò)濾之分組過(guò)濾戰(zhàn)德臣 教授例如:求有兩門(mén)以上不及格課程的同學(xué)的學(xué)號(hào)及其平均成績(jī)例如:求有兩門(mén)以上不及格課程的同學(xué)的學(xué)號(hào)及其平均成績(jī)Select S#, Avg(Score) From SCWhere Score 2; 上述寫(xiě)法正確嗎?上述寫(xiě)法正確嗎? 正確的如下書(shū)寫(xiě),為什么呢正確的如下書(shū)寫(xiě),為什么呢?Select S#, AVG(Score) From SCWhere S# in ( Sel

38、ect S# From SC Where Score 2 )Group by S# ;SQL-SELECT之分組聚集操作之分組聚集操作(3)SELECT之分組過(guò)濾之分組過(guò)濾分組過(guò)濾分組過(guò)濾-過(guò)濾掉分組,而不是元組過(guò)濾掉分組,而不是元組戰(zhàn)德臣 教授SQL-SELECT的完整語(yǔ)法的完整語(yǔ)法Subquery := SELECT ALL | DISTINCT * | expr AS c_alias , FROM tableref , WHERE search_condition GROUP BY column , HAVING search_condition | subquery UNION ALL

39、 | INTERSECT ALL | EXCEPT ALL CORRESPONDING BY (colname , ) subquery;Tableref := tablename corr_name Select statement := Subquery ORDER BY result_column ASC | DESC , SQL-SELECT之分組聚集操作之分組聚集操作(4)SQL-SELECT之總結(jié)之總結(jié)由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘數(shù)據(jù)挖掘示例之背景與概念示例之背景與概念Research Center on Intelligent Computing for En

40、terprises & Services,Harbin Institute of Technology戰(zhàn)德臣哈爾濱工業(yè)大學(xué) 教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員戰(zhàn)德臣 教授數(shù)據(jù)對(duì)超市經(jīng)營(yíng)有無(wú)幫助呢?cái)?shù)據(jù)對(duì)超市經(jīng)營(yíng)有無(wú)幫助呢?客戶購(gòu)買(mǎi)習(xí)慣客戶購(gòu)買(mǎi)習(xí)慣商品組合方式及策略商品組合方式及策略 營(yíng)銷策略營(yíng)銷策略價(jià)格策略價(jià)格策略貨源組織貨源組織由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念數(shù)據(jù)挖掘示例之背景與概念(1)數(shù)據(jù)也是生產(chǎn)力數(shù)據(jù)也是生產(chǎn)力?戰(zhàn)德臣 教授由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念數(shù)據(jù)挖掘示例之背景與概念(2)數(shù)據(jù)運(yùn)用的前

41、提數(shù)據(jù)運(yùn)用的前提數(shù)據(jù)的聚集與管理數(shù)據(jù)的聚集與管理?超市數(shù)據(jù)庫(kù)超市數(shù)據(jù)庫(kù)戰(zhàn)德臣 教授由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念數(shù)據(jù)挖掘示例之背景與概念(3)什么是數(shù)據(jù)挖掘什么是數(shù)據(jù)挖掘?數(shù)據(jù)挖掘,又稱為數(shù)據(jù)庫(kù)中知識(shí)發(fā)現(xiàn),它是一個(gè)從大量數(shù)據(jù)中數(shù)據(jù)挖掘,又稱為數(shù)據(jù)庫(kù)中知識(shí)發(fā)現(xiàn),它是一個(gè)從大量數(shù)據(jù)中抽取挖掘出未知的、有價(jià)值的模式或規(guī)律等知識(shí)的復(fù)雜過(guò)程。抽取挖掘出未知的、有價(jià)值的模式或規(guī)律等知識(shí)的復(fù)雜過(guò)程。簡(jiǎn)單地講就是從大量數(shù)據(jù)中挖掘或抽取出知識(shí)。簡(jiǎn)單地講就是從大量數(shù)據(jù)中挖掘或抽取出知識(shí)。l概要?dú)w納概要?dú)w納l關(guān)聯(lián)分析關(guān)聯(lián)分析 l分類與預(yù)測(cè)分類與預(yù)測(cè)l聚類分析聚類分析l異類分析異類分

42、析l演化分析演化分析戰(zhàn)德臣 教授由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念數(shù)據(jù)挖掘示例之背景與概念(4)怎樣挖掘數(shù)據(jù)怎樣挖掘數(shù)據(jù)-一個(gè)例子一個(gè)例子?數(shù)據(jù)挖掘之關(guān)聯(lián)規(guī)則挖掘數(shù)據(jù)挖掘之關(guān)聯(lián)規(guī)則挖掘商品的關(guān)聯(lián)規(guī)則商品的關(guān)聯(lián)規(guī)則“尿布尿布” “啤酒啤酒” 支持度支持度=2%,置信度,置信度=60% “由尿布的購(gòu)買(mǎi),能夠推斷出啤酒的購(gòu)買(mǎi)由尿布的購(gòu)買(mǎi),能夠推斷出啤酒的購(gòu)買(mǎi)” 支持度支持度2%意味著所分析事務(wù)的意味著所分析事務(wù)的2%同時(shí)購(gòu)買(mǎi)尿布和啤酒同時(shí)購(gòu)買(mǎi)尿布和啤酒 置信度置信度60%意味著購(gòu)買(mǎi)尿布的顧客意味著購(gòu)買(mǎi)尿布的顧客60%也購(gòu)買(mǎi)啤酒。也購(gòu)買(mǎi)啤酒。 是否相信這條規(guī)則呢是否相信這

43、條規(guī)則呢?讓數(shù)據(jù)說(shuō)話讓數(shù)據(jù)說(shuō)話戰(zhàn)德臣 教授由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念數(shù)據(jù)挖掘示例之背景與概念(5)概念準(zhǔn)備概念準(zhǔn)備?1. 項(xiàng)、項(xiàng)集與事務(wù)項(xiàng)、項(xiàng)集與事務(wù)設(shè) P = p1 , p2 ,., pm 是所有項(xiàng)項(xiàng)(Item)的集合。D是數(shù)據(jù)庫(kù)中所有事務(wù)的集合,其中每個(gè)事務(wù)事務(wù)T(Transaction)是項(xiàng)的集合,是P的子集,即T P;每一個(gè)事務(wù)有一個(gè)關(guān)鍵字屬性,稱作交易號(hào)交易號(hào)或事務(wù)號(hào)事務(wù)號(hào)以區(qū)分?jǐn)?shù)據(jù)庫(kù)中的每一個(gè)事務(wù)。設(shè)A 是一個(gè)項(xiàng)集項(xiàng)集(ItemSet),事務(wù)T 包含A 當(dāng)且僅當(dāng)A T。2. 關(guān)聯(lián)規(guī)則關(guān)聯(lián)規(guī)則關(guān)聯(lián)規(guī)則是形如A B 的蘊(yùn)涵式,即命題A(如“項(xiàng)集A的

44、購(gòu)買(mǎi)”)蘊(yùn)涵著命題B(“如項(xiàng)集B的購(gòu)買(mǎi)”),或者說(shuō)由命題A能夠推出命題B,其中A P,B P,并且A B = 。 關(guān)聯(lián)規(guī)則挖掘相關(guān)的基本概念關(guān)聯(lián)規(guī)則挖掘相關(guān)的基本概念戰(zhàn)德臣 教授3. 支持度與置信度支持度與置信度 Support (A B) = P(AB) = 包含A和B的事務(wù)數(shù) D中事務(wù)總數(shù)。confidence (A B) = P(B|A) = 包含A和B的事務(wù)數(shù) 包含A的事務(wù)數(shù)。 支持度反映一條規(guī)則的實(shí)用性,置信度反映規(guī)則的“值得信賴性”的程度4. 強(qiáng)規(guī)則強(qiáng)規(guī)則同時(shí)滿足最小支持度閾值同時(shí)滿足最小支持度閾值(min_s)和最小置信度閾值和最小置信度閾值(min_c)的規(guī)則稱作的規(guī)則稱作強(qiáng)強(qiáng)

45、規(guī)則規(guī)則。 5. k-項(xiàng)集與項(xiàng)集與k-頻繁項(xiàng)集頻繁項(xiàng)集項(xiàng)的集合稱為項(xiàng)集項(xiàng)集,包含k 個(gè)項(xiàng)的項(xiàng)集稱為k-項(xiàng)集項(xiàng)集。項(xiàng)集的出現(xiàn)頻率是包含項(xiàng)集的事務(wù)數(shù),簡(jiǎn)稱為項(xiàng)集的頻率頻率、支持計(jì)數(shù)支持計(jì)數(shù)或計(jì)計(jì)數(shù)數(shù)。如果項(xiàng)集的出現(xiàn)頻率大于或等于min_s與D 中事務(wù)總數(shù)的乘積, 則項(xiàng)集滿足最小支持度min_s。如果項(xiàng)集滿足最小支持度,則稱它為頻繁項(xiàng)集頻繁項(xiàng)集。頻繁k -項(xiàng)集的集合通常記作Lk。 關(guān)聯(lián)規(guī)則挖掘相關(guān)的基本概念關(guān)聯(lián)規(guī)則挖掘相關(guān)的基本概念面包,果醬面包,果醬 - 2-項(xiàng)集項(xiàng)集面包,果醬,奶油面包,果醬,奶油 -3-項(xiàng)集項(xiàng)集由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念數(shù)據(jù)挖掘示例之背景與

46、概念(5)概念準(zhǔn)備概念準(zhǔn)備?戰(zhàn)德臣 教授由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念數(shù)據(jù)挖掘示例之背景與概念(6)關(guān)聯(lián)規(guī)則挖掘的基本思想關(guān)聯(lián)規(guī)則挖掘的基本思想 ?關(guān)聯(lián)規(guī)則挖掘的基本思想關(guān)聯(lián)規(guī)則挖掘的基本思想由頻繁項(xiàng)集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則。依定由頻繁項(xiàng)集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則。依定義,這些規(guī)則必須滿足最小支持度義,這些規(guī)則必須滿足最小支持度和最小置信度。和最小置信度。 找出所有頻繁項(xiàng)集。依定義,這些找出所有頻繁項(xiàng)集。依定義,這些項(xiàng)集出現(xiàn)的頻率至少和預(yù)定義的最項(xiàng)集出現(xiàn)的頻率至少和預(yù)定義的最小出現(xiàn)頻率一樣。小出現(xiàn)頻率一樣。如何挖掘頻繁項(xiàng)集如何挖掘頻繁項(xiàng)集?Apriori 算法算法戰(zhàn)德臣 教授面

47、包,果醬面包,果醬 - 2-項(xiàng)集項(xiàng)集面包,果醬,奶油面包,果醬,奶油 -3-項(xiàng)集項(xiàng)集數(shù)據(jù)挖掘之關(guān)聯(lián)規(guī)則挖掘數(shù)據(jù)挖掘之關(guān)聯(lián)規(guī)則挖掘商品的關(guān)聯(lián)規(guī)則商品的關(guān)聯(lián)規(guī)則“尿布尿布” “啤酒啤酒” 支持度支持度=2%,置信度,置信度=60% “由尿布的購(gòu)買(mǎi),能夠推斷出啤酒的購(gòu)買(mǎi)由尿布的購(gòu)買(mǎi),能夠推斷出啤酒的購(gòu)買(mǎi)” 支持度支持度2%意味著所分析事務(wù)的意味著所分析事務(wù)的2%同時(shí)購(gòu)買(mǎi)尿布和啤酒同時(shí)購(gòu)買(mǎi)尿布和啤酒 置信度置信度60%意味著購(gòu)買(mǎi)尿布的顧客意味著購(gòu)買(mǎi)尿布的顧客60%也購(gòu)買(mǎi)啤酒。也購(gòu)買(mǎi)啤酒。 是否相信這條規(guī)則呢是否相信這條規(guī)則呢?讓數(shù)據(jù)說(shuō)話讓數(shù)據(jù)說(shuō)話由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背

48、景與概念數(shù)據(jù)挖掘示例之背景與概念(7)小結(jié)小結(jié)項(xiàng)項(xiàng)K-項(xiàng)集項(xiàng)集支持支持度度置信置信度度事務(wù)事務(wù)/ / 交易交易K-頻繁頻繁項(xiàng)集項(xiàng)集關(guān)聯(lián)關(guān)聯(lián)規(guī)則規(guī)則由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-1Research Center on Intelligent Computing for Enterprises & Services,Harbin Institute of Technology戰(zhàn)德臣哈爾濱工業(yè)大學(xué) 教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員戰(zhàn)德臣 教授關(guān)聯(lián)規(guī)則挖掘的基本思想關(guān)聯(lián)規(guī)則挖掘的基本思想由頻繁項(xiàng)集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則。依

49、定由頻繁項(xiàng)集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則。依定義,這些規(guī)則必須滿足最小支持度義,這些規(guī)則必須滿足最小支持度和最小置信度。和最小置信度。 找出所有頻繁項(xiàng)集。依定義,這些找出所有頻繁項(xiàng)集。依定義,這些項(xiàng)集出現(xiàn)的頻率至少和預(yù)定義的最項(xiàng)集出現(xiàn)的頻率至少和預(yù)定義的最小出現(xiàn)頻率一樣。小出現(xiàn)頻率一樣。如何挖掘頻繁項(xiàng)集如何挖掘頻繁項(xiàng)集?Apriori 算法算法由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-1(0)回顧:頻繁項(xiàng)集的挖掘算法回顧:頻繁項(xiàng)集的挖掘算法-Apriori算法的相關(guān)概念算法的相關(guān)概念項(xiàng)項(xiàng)K-項(xiàng)集項(xiàng)集支持支持度度置信置信度度事務(wù)事務(wù)/ / 交易交易K-頻繁頻繁項(xiàng)集

50、項(xiàng)集關(guān)聯(lián)關(guān)聯(lián)規(guī)則規(guī)則面包,果醬面包,果醬 - 2-項(xiàng)集項(xiàng)集面包,果醬,奶油面包,果醬,奶油 -3-項(xiàng)集項(xiàng)集戰(zhàn)德臣 教授商品購(gòu)買(mǎi)明細(xì)數(shù)據(jù)庫(kù)商品購(gòu)買(mǎi)明細(xì)數(shù)據(jù)庫(kù)頻繁項(xiàng)集挖掘算法計(jì)算示例頻繁項(xiàng)集挖掘算法計(jì)算示例1.對(duì)問(wèn)題域數(shù)據(jù)進(jìn)行抽象對(duì)問(wèn)題域數(shù)據(jù)進(jìn)行抽象由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-1(1)頻繁項(xiàng)集發(fā)現(xiàn)的計(jì)算過(guò)程頻繁項(xiàng)集發(fā)現(xiàn)的計(jì)算過(guò)程 ?戰(zhàn)德臣 教授候選候選1 1項(xiàng)集項(xiàng)集頻繁頻繁1 1項(xiàng)集支持度計(jì)項(xiàng)集支持度計(jì)數(shù)數(shù) 最小支持度計(jì)數(shù)最小支持度計(jì)數(shù)5 5( (min_supmin_sup=5/20=25%)=5/20=25%)頻繁項(xiàng)集挖掘算法計(jì)算示例

51、頻繁項(xiàng)集挖掘算法計(jì)算示例2.形成候選形成候選1-項(xiàng)集,并求出頻繁項(xiàng)集,并求出頻繁1-項(xiàng)集項(xiàng)集由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-1(1)頻繁項(xiàng)集發(fā)現(xiàn)的計(jì)算過(guò)程頻繁項(xiàng)集發(fā)現(xiàn)的計(jì)算過(guò)程 ?戰(zhàn)德臣 教授候選候選2 2項(xiàng)集項(xiàng)集C C2 2=L=L1 1 Join L Join L1 1頻繁項(xiàng)集挖掘算法計(jì)算示例頻繁項(xiàng)集挖掘算法計(jì)算示例3.形成候選形成候選2-項(xiàng)集,并求出頻繁項(xiàng)集,并求出頻繁2-項(xiàng)集項(xiàng)集頻繁頻繁1 1項(xiàng)集項(xiàng)集頻繁頻繁2 2項(xiàng)集支持度計(jì)項(xiàng)集支持度計(jì)數(shù)數(shù) 最小支持度計(jì)數(shù)最小支持度計(jì)數(shù)5 5由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例

52、之計(jì)算過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-1(1)頻繁項(xiàng)集發(fā)現(xiàn)的計(jì)算過(guò)程頻繁項(xiàng)集發(fā)現(xiàn)的計(jì)算過(guò)程 ?戰(zhàn)德臣 教授候選候選3 3項(xiàng)集項(xiàng)集C C3 3=L=L2 2 Join L Join L2 2頻繁項(xiàng)集挖掘算法計(jì)算示例頻繁項(xiàng)集挖掘算法計(jì)算示例4.形成候選形成候選3-項(xiàng)集,并剪枝,進(jìn)一步求出頻繁項(xiàng)集,并剪枝,進(jìn)一步求出頻繁3-項(xiàng)集項(xiàng)集頻繁頻繁2 2項(xiàng)集項(xiàng)集候選候選3 3項(xiàng)集的項(xiàng)集的支持度計(jì)數(shù)支持度計(jì)數(shù)頻繁頻繁3 3項(xiàng)集項(xiàng)集由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-1(1)頻繁項(xiàng)集發(fā)現(xiàn)的計(jì)算過(guò)程頻繁項(xiàng)集發(fā)現(xiàn)的計(jì)算過(guò)程 ?戰(zhàn)德臣 教授候選項(xiàng)集候選項(xiàng)集-頻頻繁項(xiàng)集支

53、持度繁項(xiàng)集支持度計(jì)數(shù)計(jì)數(shù)=5=5頻繁頻繁3 3項(xiàng)集項(xiàng)集頻繁項(xiàng)集全集頻繁頻繁項(xiàng)集全集頻繁1 1項(xiàng)集項(xiàng)集 頻繁項(xiàng)集頻繁項(xiàng)集 頻繁頻繁3 3項(xiàng)集項(xiàng)集 頻繁頻繁4 4項(xiàng)集項(xiàng)集頻繁項(xiàng)集挖掘算法計(jì)算示例頻繁項(xiàng)集挖掘算法計(jì)算示例5.迭代地求出最終結(jié)果迭代地求出最終結(jié)果-頻繁項(xiàng)集頻繁項(xiàng)集由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-1(1)頻繁項(xiàng)集發(fā)現(xiàn)的計(jì)算過(guò)程頻繁項(xiàng)集發(fā)現(xiàn)的計(jì)算過(guò)程 ?戰(zhàn)德臣 教授由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-1(2)頻繁項(xiàng)集的發(fā)現(xiàn)算法頻繁項(xiàng)集的發(fā)現(xiàn)算法由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II

54、-數(shù)據(jù)挖掘示例之計(jì)算過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-2Research Center on Intelligent Computing for Enterprises & Services,Harbin Institute of Technology戰(zhàn)德臣哈爾濱工業(yè)大學(xué) 教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員戰(zhàn)德臣 教授關(guān)聯(lián)規(guī)則挖掘的基本思想關(guān)聯(lián)規(guī)則挖掘的基本思想由頻繁項(xiàng)集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則。依定由頻繁項(xiàng)集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則。依定義,這些規(guī)則必須滿足最小支持度義,這些規(guī)則必須滿足最小支持度和最小置信度。和最小置信度。 找出所有頻繁項(xiàng)集。依定義,這些找出所有頻繁項(xiàng)集。依定義,這些項(xiàng)集

55、出現(xiàn)的頻率至少和預(yù)定義的最項(xiàng)集出現(xiàn)的頻率至少和預(yù)定義的最小出現(xiàn)頻率一樣。小出現(xiàn)頻率一樣。由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-2(0)回顧:頻繁項(xiàng)集的挖掘回顧:頻繁項(xiàng)集的挖掘項(xiàng)項(xiàng)K-項(xiàng)集項(xiàng)集事務(wù)事務(wù)/ / 交易交易K-頻繁頻繁項(xiàng)集項(xiàng)集面包,果醬面包,果醬 - 2-項(xiàng)集項(xiàng)集面包,果醬,奶油面包,果醬,奶油 -3-項(xiàng)集項(xiàng)集支持支持度度置信置信度度關(guān)聯(lián)關(guān)聯(lián)規(guī)則規(guī)則戰(zhàn)德臣 教授商品的關(guān)聯(lián)規(guī)則商品的關(guān)聯(lián)規(guī)則“尿布尿布” “啤酒啤酒” 支持度支持度=2%,置信度,置信度=60% “由尿布的購(gòu)買(mǎi),能夠推斷出啤酒的購(gòu)買(mǎi)由尿布的購(gòu)買(mǎi),能夠推斷出啤酒的購(gòu)買(mǎi)” 支持

56、度支持度2%意味著所分析事務(wù)的意味著所分析事務(wù)的2%同時(shí)購(gòu)買(mǎi)尿布和啤酒同時(shí)購(gòu)買(mǎi)尿布和啤酒 置信度置信度60%意味著購(gòu)買(mǎi)尿布的顧客意味著購(gòu)買(mǎi)尿布的顧客60%也購(gòu)買(mǎi)啤酒。也購(gòu)買(mǎi)啤酒。 由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-2(1)什么是關(guān)聯(lián)規(guī)則什么是關(guān)聯(lián)規(guī)則戰(zhàn)德臣 教授關(guān)聯(lián)規(guī)則的生成計(jì)算示例關(guān)聯(lián)規(guī)則的生成計(jì)算示例P1,P2,P5,P6可以產(chǎn)生的潛在規(guī)則可以產(chǎn)生的潛在規(guī)則AB, 其中其中A B=P1,P2,P5,P6, A B=. 由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-2(2)關(guān)聯(lián)規(guī)則的產(chǎn)生關(guān)聯(lián)規(guī)則的

57、產(chǎn)生頻繁頻繁 項(xiàng)集項(xiàng)集關(guān)聯(lián)關(guān)聯(lián)規(guī)則規(guī)則戰(zhàn)德臣 教授輸出的規(guī)則表,輸出的規(guī)則表,A B = ,“購(gòu)買(mǎi)購(gòu)買(mǎi)A能夠能夠推出購(gòu)買(mǎi)推出購(gòu)買(mǎi)B”置信度置信度70%的規(guī)則的規(guī)則 關(guān)聯(lián)規(guī)則的生成計(jì)算示例關(guān)聯(lián)規(guī)則的生成計(jì)算示例由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-2(2)關(guān)聯(lián)規(guī)則的產(chǎn)生關(guān)聯(lián)規(guī)則的產(chǎn)生戰(zhàn)德臣 教授組合形成規(guī)則表,頻繁3項(xiàng)集能推出哪些頻繁項(xiàng)集?置信度標(biāo)記紅色為置信度70%的規(guī)則支持度標(biāo)記藍(lán)色的為滿足置信度前提下的支持度=50%的規(guī)則關(guān)聯(lián)規(guī)則的生成計(jì)算示例關(guān)聯(lián)規(guī)則的生成計(jì)算示例由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過(guò)程數(shù)據(jù)挖掘示例

58、之計(jì)算過(guò)程-2(2)關(guān)聯(lián)規(guī)則的產(chǎn)生關(guān)聯(lián)規(guī)則的產(chǎn)生戰(zhàn)德臣 教授最終輸出的規(guī)則表關(guān)聯(lián)規(guī)則的生成計(jì)算示例關(guān)聯(lián)規(guī)則的生成計(jì)算示例由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-2(2)關(guān)聯(lián)規(guī)則的產(chǎn)生關(guān)聯(lián)規(guī)則的產(chǎn)生戰(zhàn)德臣 教授age(X ,30.39) income(X ,42K.48K)buys(X ,high _ resolution _ TV)關(guān)聯(lián)規(guī)則挖掘關(guān)聯(lián)規(guī)則挖掘X代表顧客代表顧客buys(X,面包面包)buys(X, 果醬果醬) 單維度單層次規(guī)則單維度單層次規(guī)則多維度多層次規(guī)則多維度多層次規(guī)則由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算

59、過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-2(3)還能挖掘什么還能挖掘什么 ?戰(zhàn)德臣 教授Web數(shù)據(jù)挖掘數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-2(3)還能挖掘什么還能挖掘什么 ?戰(zhàn)德臣 教授只求關(guān)系,不求因果只求關(guān)系,不求因果不要相信經(jīng)驗(yàn),一切以數(shù)據(jù)說(shuō)話不要相信經(jīng)驗(yàn),一切以數(shù)據(jù)說(shuō)話bit & Byte1KB(Kilobyte) = 210字節(jié)字節(jié)1MB(Megabyte) = 210KB1GB(Gigabyte) = 210MB1TB(Trillionbyte) = 210GB = 220MB1PB(Petabyte) = 210TB = 2

60、30MB1EB(Exabyte) = 210PB = 240MB1ZB(Zettabyte) = 210EB = 250MB1YB(Yottabyte) = 210ZB = 260MB1BB(Brontobyte) = 210YB = 270MB大數(shù)據(jù)大數(shù)據(jù)大數(shù)據(jù)環(huán)境下什么不能發(fā)生呢大數(shù)據(jù)環(huán)境下什么不能發(fā)生呢?由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過(guò)程數(shù)據(jù)挖掘示例之計(jì)算過(guò)程-2(5)小結(jié)小結(jié)數(shù)據(jù)抽象與設(shè)計(jì)數(shù)據(jù)抽象與設(shè)計(jì)I-抽象之理解抽象之理解-區(qū)分區(qū)分-命名命名-表達(dá)表達(dá)Research Center on Intelligent Computing for Enterprises & Services,Harbin I

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論