大學(xué)計(jì)算機(jī)怎樣管理和利用數(shù)據(jù)_第1頁(yè)
大學(xué)計(jì)算機(jī)怎樣管理和利用數(shù)據(jù)_第2頁(yè)
大學(xué)計(jì)算機(jī)怎樣管理和利用數(shù)據(jù)_第3頁(yè)
大學(xué)計(jì)算機(jī)怎樣管理和利用數(shù)據(jù)_第4頁(yè)
大學(xué)計(jì)算機(jī)怎樣管理和利用數(shù)據(jù)_第5頁(yè)
已閱讀5頁(yè),還剩58頁(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)介

大學(xué)計(jì)算機(jī)-計(jì)算思維導(dǎo)論2013-2014第11講怎樣管理和利用數(shù)據(jù)(II)2013-2014ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology戰(zhàn)德臣哈爾濱工業(yè)大學(xué)教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員第11講怎樣管理和利用數(shù)據(jù)(II)用數(shù)據(jù)說(shuō)話、用數(shù)據(jù)決策、用數(shù)據(jù)創(chuàng)新已形成社會(huì)的一種常態(tài)和共識(shí),數(shù)據(jù)已被視為知識(shí)的來(lái)源、被認(rèn)為是一種財(cái)富。繼續(xù)學(xué)習(xí)數(shù)據(jù)庫(kù)相關(guān)知識(shí),體驗(yàn)基于數(shù)據(jù)庫(kù)的數(shù)據(jù)運(yùn)用方法,理解基本的數(shù)據(jù)化思維方式怎樣管理和利用數(shù)據(jù)(II)1.由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL1.由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL1.1回顧數(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:User/DBAP通過(guò)數(shù)據(jù)定義語(yǔ)言(DCL)定義數(shù)據(jù)表的格式階段2:User/DBAP通過(guò)數(shù)據(jù)操縱語(yǔ)言(DML)操縱數(shù)據(jù)進(jìn)出數(shù)據(jù)庫(kù)User/DBA通過(guò)數(shù)據(jù)控制語(yǔ)言(DCL)定義數(shù)據(jù)安全性班級(jí)課程教師學(xué)期學(xué)號(hào)姓名成績(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張五72981102數(shù)據(jù)庫(kù)李四99秋01王三30981102數(shù)據(jù)庫(kù)李四99秋02王四90981102數(shù)據(jù)庫(kù)李四99秋03王武78學(xué)生成績(jī)單DBUserDBMS檢查用戶合法性檢查數(shù)據(jù)合法性按用戶要求的操作執(zhí)行并返回結(jié)果。DBAP數(shù)據(jù)庫(kù)語(yǔ)言SQL

Select列名[[,列名]…]

From表名1[[,表名2],…][Where檢索條件];語(yǔ)義:將From后面的所有表串接起來(lái),檢索出滿足“檢索條件”的元組,并按給定的列名及順序進(jìn)行投影顯示。列名,…,列名(

檢索條件(表名1表名2…))關(guān)系運(yùn)算式1.由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL1.2由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQLSQL:StructuralQueryLanguageSQL語(yǔ)言是數(shù)據(jù)庫(kù)系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言,它可以定義數(shù)據(jù)庫(kù)、操縱數(shù)據(jù)庫(kù)和進(jìn)行數(shù)據(jù)庫(kù)控制。SQL語(yǔ)言主要由以下9個(gè)單詞引導(dǎo)的操作語(yǔ)句來(lái)構(gòu)成,但每一種語(yǔ)句都能表達(dá)復(fù)雜的操作請(qǐng)求。

DDL語(yǔ)句引導(dǎo)詞:Create(建立),Alter(修改),Drop(撤消)定義Database,Table,View,IndexDML語(yǔ)句引導(dǎo)詞:Insert(插入),Update(更新),Delete(刪除),Select(查詢)各種方式的更新與檢索操作各種條件的查詢操作,如連接查找,模糊查找,分組查找,嵌套查找等各種聚集操作,求平均、求和、…等,分組聚集,分組過(guò)濾等

DCL語(yǔ)句引導(dǎo)詞:Grant,Revoke安全性控制---授權(quán)和撤消授權(quán)1.由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL1.3什么是結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL1.由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL1.4用SQL語(yǔ)言創(chuàng)建數(shù)據(jù)庫(kù)并定義表-簡(jiǎn)介創(chuàng)建課程學(xué)習(xí)數(shù)據(jù)庫(kù):SCT

CreateDatabase

SCT;SCT定義學(xué)生表:StudentCreateTable

Student(S#

char(8)notnull,Sname

char(10),

Ssex

char(2),Sage

integer,D#

char(2),Sclass

char(6));定義課程表:Course

CreateTableCourse(C#char(3),Cnamechar(12),

Choursinteger,Creditfloat(1),T#char(3)

);同學(xué)可自己定義其他的表:Dept,Teacher,SCStudentCoursecreatetable

表名(列名數(shù)據(jù)類型[notnull][,列名數(shù)據(jù)類型,…]);1.由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL1.5用SQL語(yǔ)言在所定義表中增加記錄-簡(jiǎn)介insertinto表名[(列名[,列名]…]

values

(值[,值],…);追加學(xué)生表中的元組InsertIntoStudentValues(‘98030101’,‘張三’,‘男’,20,’03’,‘980301’);InsertIntoStudent(S#,Sname,Ssex,Sage,D#,Sclass)Values(‘98030102’,‘張四’,‘女’,20,’03’,‘980301’);追加課程表中的元組InsertIntoCourse/*所有列名省略,須與定義或存儲(chǔ)的列名順序一致Values(‘001’,‘?dāng)?shù)據(jù)庫(kù)’,40,6,’001’);

/*如列名未省略,須與語(yǔ)句中列名的順序一致InsertIntoCourse(Cname,C#,Credit,Chours,T#);Values(‘?dāng)?shù)據(jù)庫(kù)’,‘001’,6,20,‘001’);已經(jīng)建立好的數(shù)據(jù)庫(kù)---供后面學(xué)習(xí)和訓(xùn)練使用1.由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫(kù)語(yǔ)言SQL1.6已經(jīng)建立起的數(shù)據(jù)庫(kù)怎樣管理和利用數(shù)據(jù)(II)2.

SQL-SELECT之簡(jiǎn)單使用SQL-SELECT之簡(jiǎn)單使用----基本檢索----結(jié)果排序----結(jié)果去重復(fù)----模糊查找Select的簡(jiǎn)單語(yǔ)法形式為:

Select列名[[,列名]…]

From表名[Where檢索條件];語(yǔ)義:從<表名>所給出的表中,查詢出滿足<檢索條件>的元組,并按給定的<列名>及順序進(jìn)行投影顯示列名,…,列名(

檢索條件(表名))2.

SQL-SELECT之簡(jiǎn)單使用2.1基本檢索操作的表達(dá)方法例如:檢索學(xué)生表中所有學(xué)生的信息SelectS#,Sname,Ssex,Sage,Sclass,D#

FromStudent;Select*FromStudent;//如投影所有列,則可以用*來(lái)簡(jiǎn)寫

再如:檢索學(xué)生表中所有學(xué)生的姓名及年齡SelectSname,Sage//投影出某些列

FromStudent;

再如:檢索學(xué)生表中所有年齡小于19歲的學(xué)生的年齡及姓名SelectSage,

Sname //投影的列可以重新排定順序

FromStudentWhereSage<=19;2.

SQL-SELECT之簡(jiǎn)單使用2.2基本檢索條件書寫SELECT…FROM…WHERE…例如:求或者學(xué)過(guò)001號(hào)課程,或者學(xué)過(guò)002號(hào)課程的學(xué)生的學(xué)號(hào)SelectS#FromSCWhereC#=‘001’ORC#=‘002’;

再例如:求既學(xué)過(guò)001號(hào)課程,又學(xué)過(guò)002號(hào)課程的學(xué)生的學(xué)號(hào)?如下書寫SQL語(yǔ)句會(huì)得到正確結(jié)果嗎?它能得到什么結(jié)果?怎樣正確書寫?SelectS#FromSCWhereC#=‘001’ANDC#=‘002’; //正確的SQL語(yǔ)句在講義后面的示例中講解2.

SQL-SELECT之簡(jiǎn)單使用2.2基本檢索條件書寫對(duì)于每一行應(yīng)用Where子句的條件SELECT…FROM…WHERE…例如:在選課表中,檢索成績(jī)大于80分的所有學(xué)號(hào)SelectS#

FromSCWhereScore>80;//有重復(fù)元組出現(xiàn),比如一個(gè)同學(xué)兩門以上課程大于80SelectDISTINCTS#

FromSCWhereScore>80;//重復(fù)元組被DISTINCT過(guò)濾掉,只保留一份檢索結(jié)果去重復(fù):DISTINCT表(Table)和關(guān)系(Relation)在大部分情況下概念通用,但有細(xì)微差別:前者可允許有重復(fù)元組,而后者不允許2.

SQL-SELECT之簡(jiǎn)單使用2.3檢索結(jié)果的去重復(fù)Select語(yǔ)句中結(jié)果排序是通過(guò)增加orderby子句實(shí)現(xiàn)的

orderby

列名[asc|desc]意義為結(jié)果按指定列名進(jìn)行排序,若后跟asc或省略,則為升序;若后跟desc,則為降序。例如:按學(xué)號(hào)由小到大的順序顯示出所有學(xué)生的學(xué)號(hào)及姓名SelectS#,SnameFromStudentOrderByS#ASC

;

再如:檢索002號(hào)課大于80分的所有同學(xué)學(xué)號(hào)并按成績(jī)由高到低順序顯示SelectS#FromSCWhereC#=‘002’andScore>80OrderByScoreDESC

;基本的檢索操作2.

SQL-SELECT之簡(jiǎn)單使用2.4檢索結(jié)果的排序SELECT…FROM…WHERE…ORDERBY…模糊查詢問(wèn)題。比如檢索姓張的學(xué)生,檢索張某某;這類查詢問(wèn)題,Select語(yǔ)句是通過(guò)在檢索條件中引入運(yùn)算符like來(lái)表示的含有l(wèi)ike運(yùn)算符的表達(dá)式

列名[not]like“字符串”找出匹配給定字符串的字符串。其中給定字符串中可以出現(xiàn)%,_等匹配符.

匹配規(guī)則:“%”匹配零個(gè)或多個(gè)字符“_”匹配任意單個(gè)字符

\”

轉(zhuǎn)義字符,用于去掉一些特殊字符的特定含義,使其被作為普通字符看待,如用“\%”去匹配字符%,用\_去匹配字符_2.

SQL-SELECT之簡(jiǎn)單使用2.5模糊查詢例如:檢索所有姓張的學(xué)生學(xué)號(hào)及姓名SelectS#,SnameFromStudentWhereSnameLike‘張%’;

再如:檢索名字為張某某的所有同學(xué)姓名SelectSnameFromStudentWhereSnameLike‘張__’;

再如:檢索名字不姓張的所有同學(xué)姓名SelectSnameFromStudentWhereSnameNot

Like‘張%’;2.

SQL-SELECT之簡(jiǎn)單使用2.5模糊查詢?cè)鯓庸芾砗屠脭?shù)據(jù)(II)3.

SQL-SELECT之多表聯(lián)合操作SQL-SELECT之多表聯(lián)合操作----多表聯(lián)合操作之連接條件----表與列的別名----表與自身的連接Select的多表聯(lián)合檢索語(yǔ)句如下:

Select列名[[,列名]…]

From表名1,表名2,…

Where檢索條件;相當(dāng)于列名,…,列名(

檢索條件(表名1表名2…))檢索條件中要包含連接條件,通過(guò)不同的連接條件可以實(shí)現(xiàn)各種連接操作。3.SQL-SELECT之多表聯(lián)合操作3.1多表聯(lián)合檢索的表達(dá)方法例如:按“001”號(hào)課成績(jī)由高到低的順序顯示出所有學(xué)生的姓名(二表連接)SelectSnameFromStudent,SCWhere

Student.S#=SC.S#andSC.C#=‘001’OrderByScoreDESC;

當(dāng)多表連接時(shí),如果兩個(gè)表的屬性名相同,則需采用表名.

屬性名方式來(lái)限定該屬性是屬于哪一個(gè)表再如:按‘?dāng)?shù)據(jù)庫(kù)’課程成績(jī)由高到低順序顯示所有同學(xué)姓名(三表連接)SelectSnameFromStudent,SC,CourseWhere

Student.S#=SC.S#andSC.C#=Course.C#

andCname=‘?dāng)?shù)據(jù)庫(kù)’OrderByScoreDESC;3.SQL-SELECT之多表聯(lián)合操作3.2多表聯(lián)合檢索之連接條件書寫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)連接運(yùn)算涉及到重名的問(wèn)題,如兩個(gè)表中的屬性重名,連接的兩個(gè)表重名(同一表的連接)等,因此需要使用別名以便區(qū)分

select中采用別名的方式:

Select列名as列別名[[,列名as列別名]…]

From表名1as表別名1,表名2as表別名2,…

Where檢索條件;

上述定義中的as可以省略當(dāng)定義了別名后,在檢索條件中可以使用別名來(lái)限定屬性3.SQL-SELECT之多表聯(lián)合操作3.3多表聯(lián)合檢索之表與列的別名例如:求有薪水差額的任意兩位教師SelectT1.TnameasTeacher1,T2.TnameasTeacher2FromTeacherT1,TeacherT2Where

T1.Salary>T2.Salary;求年齡有差異的任意兩位同學(xué)的姓名SelectS1.SnameasStud1,S2.SnameasStud2FromStudentS1,StudentS2Where

S1.Sage>S2.Sage;請(qǐng)同學(xué)書寫一下:求‘001’號(hào)課程有成績(jī)差的任意兩位同學(xué)有時(shí)表名很長(zhǎng)時(shí),為書寫條件簡(jiǎn)便,也定義表別名,以簡(jiǎn)化書寫。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)3.SQL-SELECT之多表聯(lián)合操作3.3多表聯(lián)合檢索之表與列的別名再如:求既學(xué)過(guò)“001”號(hào)課又學(xué)過(guò)“002”號(hào)課的所有學(xué)生的學(xué)號(hào)(二表連接)SelectSC1.S#FromSCSC1,SCSC2Where

SC1.S#=SC2.S#andSC1.C#=‘C01’andSC2.C#=‘C02;

再如:求“C01”號(hào)課成績(jī)比“C02”號(hào)課成績(jī)高的所有學(xué)生的學(xué)號(hào)(二表連接)SelectSC1.S#FromSCSC1,SCSC2Where

SC1.S#=SC2.S#andSC1.C#=‘C01’andSC2.C#=‘C02’andSC1.Score>SC2.Score;3.SQL-SELECT之多表聯(lián)合操作3.4多表聯(lián)合檢索之表與自身的連接正確理解漢語(yǔ)表達(dá)的查詢語(yǔ)義,正確表達(dá)為SQL語(yǔ)句

例如:列出沒(méi)學(xué)過(guò)李明老師講授課程的所有同學(xué)的姓名?如下書寫SQL語(yǔ)句會(huì)得到正確結(jié)果嗎?它能得到什么結(jié)果?怎樣正確書寫?SelectSnameFromStudentS,SC,CourseC,TeacherTWhere

T.Tname<>‘李明’

andC.C#=SC.C# andSC.S#=S.S#andT.T#=C.T#; //正確的SQL語(yǔ)句在講義后面的示例中講解3.SQL-SELECT之多表聯(lián)合操作3.5多表聯(lián)合檢索之語(yǔ)義之理解IN子查詢。其基本語(yǔ)法為:表達(dá)式[not]in(子查詢)

語(yǔ)義:判斷某一表達(dá)式的值是否在子查詢的結(jié)果中。再例如:列出選修了001號(hào)課程的學(xué)生的學(xué)號(hào)和姓名SelectS#,SnameFromStudentWhereS#in(SelectS#FromSCWhereC#=‘001’);再例如:求既學(xué)過(guò)001號(hào)課程,又學(xué)過(guò)002號(hào)課程的學(xué)生的學(xué)號(hào)SelectS#FromSCWhereC#=‘001’andS#in(SelectS#FromSCWhereC#=‘002’);3.SQL-SELECT之多表聯(lián)合操作3.6多表聯(lián)合檢索之嵌套子查詢?cè)倮纾毫谐鰶](méi)學(xué)過(guò)李明老師講授課程的所有同學(xué)的姓名?SelectSnameFromStudentWhereS#not

in(SelectS#FromSC,CourseC,TeacherT WhereT.Tname=‘李明’andSC.C#=C.C# andT.T#=C.T#);3.SQL-SELECT之多表聯(lián)合操作3.6多表聯(lián)合檢索之嵌套子查詢非相關(guān)子查詢SelectSnameFromStudentWhereS#not

in(SelectS#

FromSC,CourseC,TeacherT WhereT.Tname=‘李明’andSC.C#=C.C# andT.T#=C.T#);

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

SelectSnameFromStudentStudWhereS#in(SelectS#

FromSC WhereS#=Stud.S#andC#=‘001’);

注意:相關(guān)子查詢只能由外層向內(nèi)層傳遞參數(shù),而不能反之;這也稱為變量的作用域原則。相關(guān)子查詢3.SQL-SELECT之多表聯(lián)合操作3.8非相關(guān)子查詢vs.相關(guān)子查詢?cè)鯓庸芾砗屠脭?shù)據(jù)(II)4.

SQL-SELECT之分組聚集操作SQL-SELECT之分組聚集操作----結(jié)果計(jì)算與聚集函數(shù)----分組聚集----分組聚集與分組過(guò)濾結(jié)果計(jì)算與聚集函數(shù)select子句可以是一些計(jì)算表達(dá)式或聚集函數(shù),表明在選擇和投影的同時(shí)直接進(jìn)行一些運(yùn)算,如下所示:

Select列名|expr|agfunc(列名)[[,列名|expr|agfunc(列名)]…]

From表名1[,表名2…][Where檢索條件];

計(jì)算表達(dá)式可以是常量、列名或由常量、列名、特殊函數(shù)及算術(shù)運(yùn)算符構(gòu)成的算術(shù)運(yùn)算式。4.

SQL-SELECT之分組聚集操作4.1SELECT之結(jié)果計(jì)算與聚集函數(shù)?求有差額(差額>0)的任意兩位教師的薪水差額SelectT1.TnameasTR1,T2.TnameasTR2,T1.Salary–T2.Salary

FromTeacherT1,TeacherT2WhereT1.Salary>T2.Salary;

結(jié)果計(jì)算與聚集函數(shù)

SQL提供了五個(gè)作用在簡(jiǎn)單列值集合上的內(nèi)置聚集函數(shù)agfunc,分別是:COUNT、SUM、AVG、MAX、MINSQL聚集函數(shù)的參數(shù)類型、結(jié)果類型與作用如下:4.

SQL-SELECT之分組聚集操作4.1SELECT之結(jié)果計(jì)算與聚集函數(shù)?求教師的工資總額SelectSum(Salary)FromTeacher;

求計(jì)算機(jī)系教師的工資總額SelectSum(Salary)

FromTeacherT,DeptWhereDept.Dname=‘計(jì)算機(jī)’andDept.D#=T.D#;

求數(shù)據(jù)庫(kù)課程的平均成績(jī)SelectAVG(Score)

FromCourseC,SCWhereC.Cname=‘?dāng)?shù)據(jù)庫(kù)’andC.C#=SC.C#;結(jié)果計(jì)算與聚集函數(shù)4.

SQL-SELECT之分組聚集操作4.1SELECT之結(jié)果計(jì)算與聚集函數(shù)?分組計(jì)算與聚集為解決同時(shí)求解若干個(gè)集合的聚集運(yùn)算問(wèn)題,引出了分組的概念。SQL可以將檢索到的元組按照某一條件進(jìn)行分類,具有相同條件值的元組劃到一個(gè)組或一個(gè)集合中,這一過(guò)程就是分組過(guò)程。分組可以在基本Select語(yǔ)句基礎(chǔ)上引入分組子句來(lái)完成:

Select列名|expr|agfunc(列名)[[,列名|expr|agfunc(列名)]…]

From表名1[,表名2…][Where檢索條件][Groupby分組條件];

分組條件可以是

列名1,列名2,…SELECT…FROM…WHERE…GROUPBY…HAVING…ORDERBY…4.

SQL-SELECT之分組聚集操作4.2SELECT之分組計(jì)算與聚集?例如:求每一個(gè)學(xué)生的平均成績(jī)SelectS#,AVG(Score)FromSCGroupbyS#;再如:求每一門課程的平均成績(jī)SelectC#,AVG(Score)FromSCGroupbyC#;4.

SQL-SELECT之分組聚集操作4.2SELECT之分組計(jì)算與聚集?分組計(jì)算與聚集GroupbyC#GroupbyS#求不及格課程超過(guò)兩門的同學(xué)的學(xué)號(hào),下述寫法正確嗎?SelectS#FromSCWhereScore<60andCount(*)>2GroupbyS#;4.

SQL-SELECT之分組聚集操作4.3SELECT之分組過(guò)濾若要對(duì)分組(集合)進(jìn)行條件過(guò)濾,可使用Having子句

Select列名|expr|agfunc(列名)[[,列名|expr|agfunc(列名)]…]

From表名1[,表名2…][Where檢索條件][Groupby分組條件[Having分組過(guò)濾條件]];分組過(guò)濾----過(guò)濾掉分組,而不是元組每一行都要檢查滿足與否的條件要用WHERE子句表達(dá)每一分組檢查滿足與否的條件要用Having子句表達(dá)。注意:不是每一行都檢查,所以使用Having子句一定要有Groupby子句

HAVING子句與WHERE子句表達(dá)條件的區(qū)別4.

SQL-SELECT之分組聚集操作4.3SELECT之分組過(guò)濾分組過(guò)濾----過(guò)濾掉分組,而不是元組例如求不及格課程超過(guò)兩門的同學(xué)的學(xué)號(hào)SelectS#FromSCWhereScore<60GroupbyS#HavingCount(*)>2;

再如求有10人以上不及格的課程號(hào)SelectC#FromSCWhereScore<60GroupbyC#HavingCount(*)>10;分組過(guò)濾----過(guò)濾掉分組,而不是元組4.

SQL-SELECT之分組聚集操作4.3SELECT之分組過(guò)濾例如:求有兩門以上不及格課程的同學(xué)的學(xué)號(hào)及其平均成績(jī)SelectS#,Avg(Score)FromSCWhereScore<60GroupbyS#HavingCount(*)>2;

上述寫法正確嗎?正確的如下書寫,為什么呢?SelectS#,AVG(Score)FromSCWhereS#in

(SelectS#FromSC WhereScore<60 GroupbyS#HavingCount(*)>2)GroupbyS#;4.

SQL-SELECT之分組聚集操作4.3SELECT之分組過(guò)濾分組過(guò)濾----過(guò)濾掉分組,而不是元組SQL-SELECT的完整語(yǔ)法Subquery::==

SELECT[ALL|DISTINCT]{*|expr[[AS]c_alias]{,…}}

FROM

tableref{,…}[WHERE

search_condition][GROUPBY

column{,…}][HAVING

search_condition]|subquery[UNION

[ALL]|INTERSECT

[ALL]|EXCEPT

[ALL]][CORRESPONDING[BY](colname{,…})]subquery;Tableref::==tablename[corr_name]Selectstatement::==Subquery[ORDERBYresult_column[ASC|DESC]{,…}]4.

SQL-SELECT之分組聚集操作4.4最為完整的SELECT語(yǔ)句怎樣管理和利用數(shù)據(jù)(II)5.由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘(I)---數(shù)據(jù)也是生產(chǎn)力?---什么是數(shù)據(jù)挖掘?---怎樣挖掘數(shù)據(jù)?---數(shù)據(jù)挖掘的計(jì)算過(guò)程示意

數(shù)據(jù)對(duì)超市經(jīng)營(yíng)有無(wú)幫助呢?客戶購(gòu)買習(xí)慣商品組合方式及策略…

…營(yíng)銷策略價(jià)格策略貨源組織5.由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘5.1數(shù)據(jù)也是生產(chǎn)力?5.由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘5.2數(shù)據(jù)運(yùn)用的前提—數(shù)據(jù)的聚集與管理?超市數(shù)據(jù)庫(kù)5.由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘5.3什么是數(shù)據(jù)挖掘?數(shù)據(jù)挖掘,又稱為數(shù)據(jù)庫(kù)中知識(shí)發(fā)現(xiàn),它是一個(gè)從大量數(shù)據(jù)中抽取挖掘出未知的、有價(jià)值的模式或規(guī)律等知識(shí)的復(fù)雜過(guò)程。簡(jiǎn)單地講就是從大量數(shù)據(jù)中挖掘或抽取出知識(shí)。概要?dú)w納關(guān)聯(lián)分析分類與預(yù)測(cè)聚類分析異類分析演化分析5.由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘5.4怎樣挖掘數(shù)據(jù)--一個(gè)例子?數(shù)據(jù)挖掘之關(guān)聯(lián)規(guī)則挖掘商品的關(guān)聯(lián)規(guī)則“尿布”?

“啤酒”

[支持度=2%,置信度=60%]

“由尿布的購(gòu)買,能夠推斷出啤酒的購(gòu)買”

支持度2%意味著所分析事務(wù)的2%同時(shí)購(gòu)買尿布和啤酒置信度60%意味著購(gòu)買尿布的顧客60%也購(gòu)買啤酒。是否相信這條規(guī)則呢?—讓數(shù)據(jù)說(shuō)話5.由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘5.5概念準(zhǔn)備?1.項(xiàng)、項(xiàng)集與事務(wù)設(shè)P

={p1,p2,...,pm

}是所有項(xiàng)(Item)的集合。D是數(shù)據(jù)庫(kù)中所有事務(wù)的集合,其中每個(gè)事務(wù)T(Transaction)是項(xiàng)的集合,是P的子集,即T

P;每一個(gè)事務(wù)有一個(gè)關(guān)鍵字屬性,稱作交易號(hào)或事務(wù)號(hào)以區(qū)分?jǐn)?shù)據(jù)庫(kù)中的每一個(gè)事務(wù)。設(shè)A

是一個(gè)項(xiàng)集(ItemSet),事務(wù)T包含A當(dāng)且僅當(dāng)A

T。2.關(guān)聯(lián)規(guī)則關(guān)聯(lián)規(guī)則是形如A

B

的蘊(yùn)涵式,即命題A(如“項(xiàng)集A的購(gòu)買”)蘊(yùn)涵著命題B(“如項(xiàng)集B的購(gòu)買”),或者說(shuō)由命題A能夠推出命題B,其中A

P,B

P,并且A∩B=。

關(guān)聯(lián)規(guī)則挖掘相關(guān)的基本概念3.支持度與置信度Support(A

B)=P(A∪B)=包含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ī)則同時(shí)滿足最小支持度閾值(min_s)和最小置信度閾值(min_c)的規(guī)則稱作強(qiáng)規(guī)則。

5.k-項(xiàng)集與k-頻繁項(xiàng)集項(xiàng)的集合稱為項(xiàng)集,包含k個(gè)項(xiàng)的項(xiàng)集稱為k-項(xiàng)集。項(xiàng)集的出現(xiàn)頻率是包含項(xiàng)集的事務(wù)數(shù),簡(jiǎn)稱為項(xiàng)集的頻率、支持計(jì)數(shù)或計(jì)數(shù)。如果項(xiàng)集的出現(xiàn)頻率大于或等于min_s與D中事務(wù)總數(shù)的乘積,則項(xiàng)集滿足最小支持度min_s。如果項(xiàng)集滿足最小支持度,則稱它為頻繁項(xiàng)集。頻繁k-項(xiàng)集的集合通常記作Lk。

關(guān)聯(lián)規(guī)則挖掘相關(guān)的基本概念{面包,果醬}

---2-項(xiàng)集{面包,果醬,奶油}

---3-項(xiàng)集5.由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘5.5概念準(zhǔn)備?5.由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘5.6關(guān)聯(lián)規(guī)則挖掘的基本思想?關(guān)聯(lián)規(guī)則挖掘的基本思想由頻繁項(xiàng)集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則。依定義,這些規(guī)則必須滿足最小支持度和最小置信度。找出所有頻繁項(xiàng)集。依定義,這些項(xiàng)集出現(xiàn)的頻率至少和預(yù)定義的最小出現(xiàn)頻率一樣。如何挖掘頻繁項(xiàng)集?Apriori算法怎樣管理和利用數(shù)據(jù)(II)5.由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘由數(shù)據(jù)庫(kù)到數(shù)據(jù)挖掘(II)---數(shù)據(jù)也是生產(chǎn)力?---什么是數(shù)據(jù)挖掘?---怎樣挖掘數(shù)據(jù)?

---數(shù)據(jù)挖掘的計(jì)算過(guò)程示意商品購(gòu)買明細(xì)數(shù)據(jù)庫(kù)頻繁項(xiàng)集挖掘算法計(jì)算示例1.對(duì)問(wèn)題域數(shù)據(jù)進(jìn)行抽象5.由數(shù)據(jù)庫(kù)到數(shù)據(jù)

溫馨提示

  • 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)論