




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
由關(guān)系模型到
結(jié)構(gòu)化數(shù)據(jù)庫語言SQLResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology戰(zhàn)德臣哈爾濱工業(yè)大學(xué)教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員由關(guān)系模型到
結(jié)構(gòu)化數(shù)據(jù)庫語言SQLResearchCen由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫語言SQL(1)回顧:數(shù)據(jù)庫系統(tǒng)的概念數(shù)據(jù)格式數(shù)據(jù)981102數(shù)據(jù)庫李四99秋02王四90誰能訪問數(shù)據(jù)更新數(shù)據(jù)有什么要求…………用戶定義的數(shù)據(jù)安全性約束條件階段1:User/DBAP通過數(shù)據(jù)定義語言(DDL)定義數(shù)據(jù)表的格式階段2:User/DBAP通過數(shù)據(jù)操縱語言(DML)操縱數(shù)據(jù)進(jìn)出數(shù)據(jù)庫User/DBA通過數(shù)據(jù)控制語言(DCL)定義數(shù)據(jù)安全性班級課程教師學(xué)期學(xué)號姓名成績981101數(shù)據(jù)庫李四98秋01張三100981101數(shù)據(jù)庫李四98秋02張四90981101數(shù)據(jù)庫李四98秋03張五80981101計(jì)算機(jī)李五98秋01張三89981101計(jì)算機(jī)李五98秋02張四98981101計(jì)算機(jī)李五98秋03張五72981102數(shù)據(jù)庫李四99秋01王三30981102數(shù)據(jù)庫李四99秋02王四90981102數(shù)據(jù)庫李四99秋03王武78學(xué)生成績單DBUserDBMS檢查用戶合法性檢查數(shù)據(jù)合法性按用戶要求的操作執(zhí)行并返回結(jié)果。DBAP由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫語言SQL數(shù)據(jù)格式數(shù)據(jù)981102數(shù)據(jù)庫語言SQL
Select列名[[,列名]…]
From表名1[[,表名2],…][Where檢索條件];語義:將From后面的所有表串接起來,檢索出滿足“檢索條件”的元組,并按給定的列名及順序進(jìn)行投影顯示。列名,…,列名(
檢索條件(表名1表名2…))關(guān)系運(yùn)算式由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫語言SQL(2)由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫語言SQL數(shù)據(jù)庫語言SQL列名,…,列名(檢索條件(表SQL:StructuralQueryLanguageSQL語言是數(shù)據(jù)庫系統(tǒng)的標(biāo)準(zhǔn)語言,它可以定義數(shù)據(jù)庫、操縱數(shù)據(jù)庫和進(jìn)行數(shù)據(jù)庫控制。SQL語言主要由以下9個(gè)單詞引導(dǎo)的操作語句來構(gòu)成,但每一種語句都能表達(dá)復(fù)雜的操作請求。
DDL語句引導(dǎo)詞:Create(建立),Alter(修改),Drop(撤消)定義Database,Table,View,IndexDML語句引導(dǎo)詞:Insert(插入),Update(更新),Delete(刪除),Select(查詢)各種方式的更新與檢索操作各種條件的查詢操作,如連接查找,模糊查找,分組查找,嵌套查找等各種聚集操作,求平均、求和、…等,分組聚集,分組過濾等
DCL語句引導(dǎo)詞:Grant,Revoke安全性控制---授權(quán)和撤消授權(quán)由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫語言SQL(3)什么是結(jié)構(gòu)化數(shù)據(jù)庫語言SQLSQL:StructuralQueryLanguage由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫語言SQL(4)用SQL語言創(chuàng)建數(shù)據(jù)庫并定義表-簡介創(chuàng)建課程學(xué)習(xí)數(shù)據(jù)庫:SCT
CreateDatabase
SCT;SCT定義學(xué)生表:StudentCreateTableStudent(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ù)類型,…]);由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫語言SQL創(chuàng)建課程學(xué)習(xí)數(shù)據(jù)庫:SCT由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫語言SQL(5)用SQL語言在所定義表中增加記錄-簡介insertinto表名[(列名[,列名]…]
values
(值[,值],…);追加學(xué)生表中的元組InsertIntoStudentValues(‘98030101’,‘張三’,‘男’,20,’03’,‘980301’);InsertIntoStudent(S#,Sname,Ssex,Sage,D#,Sclass)Values(‘98030102’,‘張四’,‘女’,20,’03’,‘980301’);追加課程表中的元組InsertIntoCourse/*所有列名省略,須與定義或存儲的列名順序一致Values(‘001’,‘?dāng)?shù)據(jù)庫’,40,6,’001’);
/*如列名未省略,須與語句中列名的順序一致InsertIntoCourse(Cname,C#,Credit,Chours,T#);Values(‘?dāng)?shù)據(jù)庫’,‘001’,6,20,‘001’);由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫語言SQLinsertinto已經(jīng)建立好的數(shù)據(jù)庫---供后面學(xué)習(xí)和訓(xùn)練使用由關(guān)系模型到結(jié)構(gòu)化數(shù)據(jù)庫語言SQL(6)已經(jīng)建立起的數(shù)據(jù)庫已經(jīng)建立好的數(shù)據(jù)庫---供后面學(xué)習(xí)和訓(xùn)練使用由關(guān)系模型到結(jié)構(gòu)SQL-SELECT之簡單使用ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology戰(zhàn)德臣哈爾濱工業(yè)大學(xué)教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員SQL-SELECT之簡單使用ResearchCenterSelect的簡單語法形式為:
Select列名[[,列名]…]
From表名[Where檢索條件];語義:從<表名>所給出的表中,查詢出滿足<檢索條件>的元組,并按給定的<列名>及順序進(jìn)行投影顯示列名,…,列名(
檢索條件(表名))SQL-SELECT之簡單使用(1)基本檢索操作的表達(dá)方法Select的簡單語法形式為:SQL-SELECT之簡單使例如:檢索學(xué)生表中所有學(xué)生的信息SelectS#,Sname,Ssex,Sage,Sclass,D#
FromStudent;Select*FromStudent;//如投影所有列,則可以用*來簡寫
再如:檢索學(xué)生表中所有學(xué)生的姓名及年齡SelectSname,Sage//投影出某些列
FromStudent;
再如:檢索學(xué)生表中所有年齡小于19歲的學(xué)生的年齡及姓名SelectSage,
Sname //投影的列可以重新排定順序
FromStudentWhereSage<=19;SQL-SELECT之簡單使用(2)基本檢索條件書寫SELECT…FROM…WHERE…例如:檢索學(xué)生表中所有學(xué)生的信息SQL-SELECT之簡單例如:求或者學(xué)過001號課程,或者學(xué)過002號課程的學(xué)生的學(xué)號SelectS#FromSCWhereC#=‘001’ORC#=‘002’;
再例如:求既學(xué)過001號課程,又學(xué)過002號課程的學(xué)生的學(xué)號?如下書寫SQL語句會(huì)得到正確結(jié)果嗎?它能得到什么結(jié)果?怎樣正確書寫?SelectS#FromSCWhereC#=‘001’ANDC#=‘002’; //正確的SQL語句在講義后面的示例中講解SQL-SELECT之簡單使用(2)基本檢索條件書寫對于每一行應(yīng)用Where子句的條件SELECT…FROM…WHERE…例如:求或者學(xué)過001號課程,或者學(xué)過002號課程的學(xué)生例如:在選課表中,檢索成績大于80分的所有學(xué)號SelectS#
FromSCWhereScore>80;//有重復(fù)元組出現(xiàn),比如一個(gè)同學(xué)兩門以上課程大于80SelectDISTINCTS#
FromSCWhereScore>80;//重復(fù)元組被DISTINCT過濾掉,只保留一份檢索結(jié)果去重復(fù):DISTINCT表(Table)和關(guān)系(Relation)在大部分情況下概念通用,但有細(xì)微差別:前者可允許有重復(fù)元組,而后者不允許SQL-SELECT之簡單使用(3)如何去掉檢索結(jié)果的重復(fù)元組或記錄呢?例如:在選課表中,檢索成績大于80分的所有學(xué)號檢索結(jié)果去重復(fù)Select語句中結(jié)果排序是通過增加orderby子句實(shí)現(xiàn)的
orderby
列名[asc|desc]意義為結(jié)果按指定列名進(jìn)行排序,若后跟asc或省略,則為升序;若后跟desc,則為降序。例如:按學(xué)號由小到大的順序顯示出所有學(xué)生的學(xué)號及姓名SelectS#,SnameFromStudentOrderByS#ASC
;
再如:檢索002號課大于80分的所有同學(xué)學(xué)號并按成績由高到低順序顯示SelectS#FromSCWhereC#=‘002’andScore>80OrderByScoreDESC
;檢索結(jié)果的排序SQL-SELECT之簡單使用(4)如何對檢索結(jié)果進(jìn)行排序呢?SELECT…FROM…WHERE…ORDERBY…Select語句中結(jié)果排序是通過增加orderby子句實(shí)現(xiàn)比如檢索“姓張的學(xué)生”,檢索“張某某”,這類查詢問題,Select語句是通過在檢索條件中引入運(yùn)算符like來表示的含有l(wèi)ike運(yùn)算符的表達(dá)式
列名[not]like“字符串”找出匹配給定字符串的字符串。其中給定字符串中可以出現(xiàn)%,_等匹配符.
匹配規(guī)則:“%”匹配零個(gè)或多個(gè)字符“_”匹配任意單個(gè)字符
“
\”
轉(zhuǎn)義字符,用于去掉一些特殊字符的特定含義,使其被作為普通字符看待,如用“\%”去匹配字符%,用\_去匹配字符_SQL-SELECT之簡單使用(5)如何表達(dá)模糊性的查詢內(nèi)容呢?模糊查詢比如檢索“姓張的學(xué)生”,檢索“張某某”,這類查詢問題,Sel例如:檢索所有姓張的學(xué)生學(xué)號及姓名SelectS#,SnameFromStudentWhereSnameLike‘張%’;
再如:檢索名字為張某某的所有同學(xué)姓名SelectSnameFromStudentWhereSnameLike‘張__’;
再如:檢索名字不姓張的所有同學(xué)姓名SelectSnameFromStudentWhereSnameNot
Like‘張%’;SQL-SELECT之簡單使用(5)如何表達(dá)模糊性的查詢內(nèi)容呢?例如:檢索所有姓張的學(xué)生學(xué)號及姓名SQL-SELECT之簡SQL-SELECT之簡單使用(6)小結(jié)?例如:檢索學(xué)生表中所有學(xué)生的信息SelectS#,Sname,Ssex,Sage,Sclass,D#
FromStudent;Select*FromStudent;//如投影所有列,則可以用*來簡寫
再如:檢索學(xué)生表中所有學(xué)生的姓名及年齡SelectSname,Sage//投影出某些列
FromStudent;
再如:檢索學(xué)生表中所有年齡小于19歲的學(xué)生的年齡及姓名SelectSage,
Sname //投影的列可以重新排定順序
FromStudentWhereSage<=19;SELECT…FROM…WHERE…SELECT…FROM…WHERE…SELECTDISTINCT…FROM…WHERE…SELECT…FROM…WHERE…ORDERBY…SELECT…FROM…WHERE…LIKE…SQL-SELECT之簡單使用例如:檢索學(xué)生表中所有學(xué)生的SQL-SELECT之多表聯(lián)合操作ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology戰(zhàn)德臣哈爾濱工業(yè)大學(xué)教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員SQL-SELECT之多表聯(lián)合操作ResearchCentSelect的多表聯(lián)合檢索語句如下:
Select列名[[,列名]…]
From表名1,表名2,…
Where檢索條件;相當(dāng)于列名,…,列名(
檢索條件(表名1表名2…))檢索條件中要包含連接條件,通過不同的連接條件可以實(shí)現(xiàn)各種連接操作。SQL-SELECT之多表聯(lián)合操作(1)多表聯(lián)合檢索的表達(dá)方法Select的多表聯(lián)合檢索語句如下:SQL-SELECT之例如:按“001”號課成績由高到低的順序顯示出所有學(xué)生的姓名(二表連接)SelectSnameFromStudent,SCWhere
Student.S#=SC.S#andSC.C#=‘001’OrderByScoreDESC;
當(dāng)多表連接時(shí),如果兩個(gè)表的屬性名相同,則需采用表名.
屬性名方式來限定該屬性是屬于哪一個(gè)表再如:按‘?dāng)?shù)據(jù)庫’課程成績由高到低順序顯示所有同學(xué)姓名(三表連接)SelectSnameFromStudent,SC,CourseWhere
Student.S#=SC.S#andSC.C#=Course.C#
andCname=‘?dāng)?shù)據(jù)庫’OrderByScoreDESC;SQL-SELECT之多表聯(lián)合操作(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)例如:按“001”號課成績由高到低的順序顯示出所有學(xué)生的姓名連接運(yùn)算涉及到重名的問題,如兩個(gè)表中的屬性重名,連接的兩個(gè)表重名(同一表的連接)等,因此需要使用別名以便區(qū)分
select中采用別名的方式:
Select列名as列別名[[,列名as列別名]…]
From表名1as表別名1,表名2as表別名2,…
Where檢索條件;
上述定義中的as可以省略當(dāng)定義了別名后,在檢索條件中可以使用別名來限定屬性SQL-SELECT之多表聯(lián)合操作(3)多表聯(lián)合檢索之表與列的別名連接運(yùn)算涉及到重名的問題,如兩個(gè)表中的屬性重名,連接的兩個(gè)例如:求有薪水差額的任意兩位教師SelectT1.TnameasTeacher1,T2.TnameasTeacher2FromTeacherT1,TeacherT2Where
T1.Salary>T2.Salary;求年齡有差異的任意兩位同學(xué)的姓名SelectS1.SnameasStud1,S2.SnameasStud2FromStudentS1,StudentS2Where
S1.Sage>S2.Sage;請同學(xué)書寫一下:求‘001’號課程有成績差的任意兩位同學(xué)有時(shí)表名很長時(shí),為書寫條件簡便,也定義表別名,以簡化書寫。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)合操作(3)多表聯(lián)合檢索之表與列的別名例如:求有薪水差額的任意兩位教師Student(S#,Sna再如:求既學(xué)過“001”號課又學(xué)過“002”號課的所有學(xué)生的學(xué)號(二表連接)SelectSC1.S#FromSCSC1,SCSC2Where
SC1.S#=SC2.S#andSC1.C#=‘C01’andSC2.C#=‘C02;
再如:求“C01”號課成績比“C02”號課成績高的所有學(xué)生的學(xué)號(二表連接)SelectSC1.S#FromSCSC1,SCSC2Where
SC1.S#=SC2.S#andSC1.C#=‘C01’andSC2.C#=‘C02’andSC1.Score>SC2.Score;SQL-SELECT之多表聯(lián)合操作(4)多表聯(lián)合檢索之表與自身的連接再如:求既學(xué)過“001”號課又學(xué)過“002”號課的所有學(xué)生正確理解漢語表達(dá)的查詢語義,正確表達(dá)為SQL語句
例如:列出沒學(xué)過李明老師講授課程的所有同學(xué)的姓名?如下書寫SQL語句會(huì)得到正確結(jié)果嗎?它能得到什么結(jié)果?怎樣正確書寫?SelectSnameFromStudentS,SC,CourseC,TeacherTWhere
T.Tname<>‘李明’
andC.C#=SC.C# andSC.S#=S.S#andT.T#=C.T#; //正確的SQL語句在講義后面的示例中講解SQL-SELECT之多表聯(lián)合操作(5)多表聯(lián)合檢索之語義之理解正確理解漢語表達(dá)的查詢語義,正確表達(dá)為SQL語句SQL-SEIN子查詢。其基本語法為:表達(dá)式[not]in(子查詢)
語義:判斷某一表達(dá)式的值是否在子查詢的結(jié)果中。再例如:列出選修了001號課程的學(xué)生的學(xué)號和姓名SelectS#,SnameFromStudentWhereS#in(SelectS#FromSCWhereC#=‘001’);再例如:求既學(xué)過001號課程,又學(xué)過002號課程的學(xué)生的學(xué)號SelectS#FromSCWhereC#=‘001’andS#in(SelectS#FromSCWhereC#=‘002’);SQL-SELECT之多表聯(lián)合操作(6)多表聯(lián)合檢索之嵌套子查詢IN子查詢。其基本語法為:再例如:列出選修了001號課程的再例如:列出沒學(xué)過李明老師講授課程的所有同學(xué)的姓名?SelectSnameFromStudentWhereS#not
in(SelectS#FromSC,CourseC,TeacherT WhereT.Tname=‘李明’andSC.C#=C.C# andT.T#=C.T#);SQL-SELECT之多表聯(lián)合操作(6)多表聯(lián)合檢索之嵌套子查詢再例如:列出沒學(xué)過李明老師講授課程的所有同學(xué)的姓名?SQL非相關(guān)子查詢SelectSnameFromStudentWhereS#not
in(SelectS#
FromSC,CourseC,TeacherT WhereT.Tname=‘李明’andSC.C#=C.C# andT.T#=C.T#);
內(nèi)層查詢獨(dú)立進(jìn)行,沒有涉及任何外層查詢相關(guān)信息的子查詢被稱為非相關(guān)子查詢。內(nèi)層查詢外層查詢SQL-SELECT之多表聯(lián)合操作(7)非相關(guān)子查詢vs.相關(guān)子查詢非相關(guān)子查詢內(nèi)層查詢外層查詢SQL-SELECT之多表聯(lián)合操有時(shí),內(nèi)層查詢需要依靠外層查詢的某些參量作為限定條件才能進(jìn)行,這樣的子查詢稱為相關(guān)子查詢。外層向內(nèi)層傳遞的參量需要使用外層的表名或表別名來限定例如:求學(xué)過001號課程的同學(xué)的姓名
SelectSnameFromStudentStudWhereS#in(SelectS#
FromSC WhereS#=Stud.S#andC#=‘001’);
注意:相關(guān)子查詢只能由外層向內(nèi)層傳遞參數(shù),而不能反之;這也稱為變量的作用域原則。相關(guān)子查詢SQL-SELECT之多表聯(lián)合操作(8)非相關(guān)子查詢vs.相關(guān)子查詢有時(shí),內(nèi)層查詢需要依靠外層查詢的某些參量作為限定條件才能進(jìn)再如:求既學(xué)過“001”號課又學(xué)過“002”號課的所有學(xué)生的學(xué)號(二表連接)SelectSC1.S#FromSCSC1,SCSC2Where
SC1.S#=SC2.S#andSC1.C#=‘C01’andSC2.C#=‘C02;
再如:求“C01”號課成績比“C02”號課成績高的所有學(xué)生的學(xué)號(二表連接)SelectSC1.S#FromSCSC1,SCSC2Where
SC1.S#=SC2.S#andSC1.C#=‘C01’andSC2.C#=‘C02’andSC1.Score>SC2.Score;SQL-SELECT之多表聯(lián)合操作(6)小結(jié)?SELECT…FROM表名1,表名2,…
WHERE…SELECT…FROM…WHERE…IN(SELECT…FROM…WHERE…)再如:求既學(xué)過“001”號課又學(xué)過“002”號課的所有學(xué)生SQL-SELECT之分組聚集操作ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology戰(zhàn)德臣哈爾濱工業(yè)大學(xué)教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員SQL-SELECT之分組聚集操作ResearchCent結(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)算式。SQL-SELECT之分組聚集操作(1)SELECT之結(jié)果計(jì)算與聚集函數(shù)?求有差額(差額>0)的任意兩位教師的薪水差額SelectT1.TnameasTR1,T2.TnameasTR2,T1.Salary–T2.Salary
FromTeacherT1,TeacherT2WhereT1.Salary>T2.Salary;
結(jié)果計(jì)算與聚集函數(shù)select子句可以是一些計(jì)算表達(dá)式或聚集結(jié)果計(jì)算與聚集函數(shù)
SQL提供了五個(gè)作用在簡單列值集合上的內(nèi)置聚集函數(shù)agfunc,分別是:COUNT、SUM、AVG、MAX、MINSQL聚集函數(shù)的參數(shù)類型、結(jié)果類型與作用如下:SQL-SELECT之分組聚集操作(1)SELECT之結(jié)果計(jì)算與聚集函數(shù)?結(jié)果計(jì)算與聚集函數(shù)SQL提供了五個(gè)作用在簡單列值集合上的內(nèi)求教師的工資總額SelectSum(Salary)FromTeacher;
求計(jì)算機(jī)系教師的工資總額SelectSum(Salary)
FromTeacherT,DeptWhereDept.Dname=‘計(jì)算機(jī)’andDept.D#=T.D#;
求數(shù)據(jù)庫課程的平均成績SelectAVG(Score)
FromCourseC,SCWhereC.Cname=‘?dāng)?shù)據(jù)庫’andC.C#=SC.C#;結(jié)果計(jì)算與聚集函數(shù)SQL-SELECT之分組聚集操作(1)SELECT之結(jié)果計(jì)算與聚集函數(shù)?求教師的工資總額結(jié)果計(jì)算與聚集函數(shù)SQL-SELECT之分分組計(jì)算與聚集為解決同時(shí)求解若干個(gè)集合的聚集運(yùn)算問題,引出了分組的概念。SQL可以將檢索到的元組按照某一條件進(jìn)行分類,具有相同條件值的元組劃到一個(gè)組或一個(gè)集合中,這一過程就是分組過程。分組可以在基本Select語句基礎(chǔ)上引入分組子句來完成:
Select列名|expr|agfunc(列名)[[,列名|expr|agfunc(列名)]…]
From表名1[,表名2…][Where檢索條件][Groupby分組條件];
分組條件可以是
列名1,列名2,…SELECT…FROM…WHERE…GROUPBY…HAVING…ORDERBY…SQL-SELECT之分組聚集操作(2)SELECT之分組計(jì)算與聚集?分組計(jì)算與聚集為解決同時(shí)求解若干個(gè)集合的聚集運(yùn)算問題,引出例如:求每一個(gè)學(xué)生的平均成績SelectS#,AVG(Score)FromSCGroupbyS#;再如:求每一門課程的平均成績SelectC#,AVG(Score)FromSCGroupbyC#;SQL-SELECT之分組聚集操作(2)SELECT之分組計(jì)算與聚集?分組計(jì)算與聚集GroupbyC#GroupbyS#例如:求每一個(gè)學(xué)生的平均成績SQL-SELECT之分組聚求不及格課程超過兩門的同學(xué)的學(xué)號,下述寫法正確嗎?SelectS#FromSCWhereScore<60andCount(*)>2GroupbyS#;SQL-SELECT之分組聚集操作(3)SELECT之分組過濾若要對分組(集合)進(jìn)行條件過濾,可使用Having子句
Select列名|expr|agfunc(列名)[[,列名|expr|agfunc(列名)]…]
From表名1[,表名2…][Where檢索條件][Groupby分組條件[Having分組過濾條件]];分組過濾----過濾掉分組,而不是元組求不及格課程超過兩門的同學(xué)的學(xué)號,下述寫法正確嗎?SQL-S每一行都要檢查滿足與否的條件要用WHERE子句表達(dá)每一分組檢查滿足與否的條件要用Having子句表達(dá)。注意:不是每一行都檢查,所以使用Having子句一定要有Groupby子句
HAVING子句與WHERE子句表達(dá)條件的區(qū)別SQL-SELECT之分組聚集操作(3)SELECT之分組過濾分組過濾----過濾掉分組,而不是元組每一行都要檢查滿足每一分組檢查滿足與否的條件要用Having例如求不及格課程超過兩門的同學(xué)的學(xué)號SelectS#FromSCWhereScore<60GroupbyS#HavingCount(*)>2;
再如求有10人以上不及格的課程號SelectC#FromSCWhereScore<60GroupbyC#HavingCount(*)>10;分組過濾----過濾掉分組,而不是元組SQL-SELECT之分組聚集操作(3)SELECT之分組過濾例如求不及格課程超過兩門的同學(xué)的學(xué)號分組過濾----過例如:求有兩門以上不及格課程的同學(xué)的學(xué)號及其平均成績SelectS#,Avg(Score)FromSCWhereScore<60GroupbyS#HavingCount(*)>2;
上述寫法正確嗎?正確的如下書寫,為什么呢?SelectS#,AVG(Score)FromSCWhereS#in
(SelectS#FromSC WhereScore<60 GroupbyS#HavingCount(*)>2)GroupbyS#;SQL-SELECT之分組聚集操作(3)SELECT之分組過濾分組過濾----過濾掉分組,而不是元組例如:求有兩門以上不及格課程的同學(xué)的學(xué)號及其平均成績SQL-SQL-SELECT的完整語法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]{,…}]SQL-SELECT之分組聚集操作(4)SQL-SELECT之總結(jié)SQL-SELECT的完整語法Subquery::==SQ由數(shù)據(jù)庫到數(shù)據(jù)挖掘I
-數(shù)據(jù)挖掘示例之背景與概念ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology戰(zhàn)德臣哈爾濱工業(yè)大學(xué)教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員由數(shù)據(jù)庫到數(shù)據(jù)挖掘I
-數(shù)據(jù)挖掘示例之背景與概念Resear數(shù)據(jù)對超市經(jīng)營有無幫助呢?客戶購買習(xí)慣商品組合方式及策略…
…營銷策略價(jià)格策略貨源組織由數(shù)據(jù)庫到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念(1)數(shù)據(jù)也是生產(chǎn)力?數(shù)據(jù)對超市經(jīng)營有無幫助呢?客戶購買習(xí)慣營銷策略由數(shù)據(jù)庫到數(shù)據(jù)由數(shù)據(jù)庫到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念(2)數(shù)據(jù)運(yùn)用的前提—數(shù)據(jù)的聚集與管理?超市數(shù)據(jù)庫由數(shù)據(jù)庫到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念超市數(shù)據(jù)庫由數(shù)據(jù)庫到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念(3)什么是數(shù)據(jù)挖掘?數(shù)據(jù)挖掘,又稱為數(shù)據(jù)庫中知識發(fā)現(xiàn),它是一個(gè)從大量數(shù)據(jù)中抽取挖掘出未知的、有價(jià)值的模式或規(guī)律等知識的復(fù)雜過程。簡單地講就是從大量數(shù)據(jù)中挖掘或抽取出知識。概要?dú)w納關(guān)聯(lián)分析分類與預(yù)測聚類分析異類分析演化分析由數(shù)據(jù)庫到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念數(shù)據(jù)挖掘,又稱由數(shù)據(jù)庫到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念(4)怎樣挖掘數(shù)據(jù)--一個(gè)例子?數(shù)據(jù)挖掘之關(guān)聯(lián)規(guī)則挖掘商品的關(guān)聯(lián)規(guī)則“尿布”?
“啤酒”
[支持度=2%,置信度=60%]
“由尿布的購買,能夠推斷出啤酒的購買”
支持度2%意味著所分析事務(wù)的2%同時(shí)購買尿布和啤酒置信度60%意味著購買尿布的顧客60%也購買啤酒。是否相信這條規(guī)則呢?—讓數(shù)據(jù)說話由數(shù)據(jù)庫到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念數(shù)據(jù)挖掘之關(guān)聯(lián)由數(shù)據(jù)庫到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念(5)概念準(zhǔn)備?1.項(xiàng)、項(xiàng)集與事務(wù)設(shè)P
={p1,p2,...,pm
}是所有項(xiàng)(Item)的集合。D是數(shù)據(jù)庫中所有事務(wù)的集合,其中每個(gè)事務(wù)T(Transaction)是項(xiàng)的集合,是P的子集,即T
P;每一個(gè)事務(wù)有一個(gè)關(guān)鍵字屬性,稱作交易號或事務(wù)號以區(qū)分?jǐn)?shù)據(jù)庫中的每一個(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的購買”)蘊(yùn)涵著命題B(“如項(xiàng)集B的購買”),或者說由命題A能夠推出命題B,其中A
P,B
P,并且A∩B=。
關(guān)聯(lián)規(guī)則挖掘相關(guān)的基本概念由數(shù)據(jù)庫到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念1.項(xiàng)、項(xiàng)集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ù),簡稱為項(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)集由數(shù)據(jù)庫到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念(5)概念準(zhǔn)備?3.支持度與置信度關(guān)聯(lián)規(guī)則挖掘相關(guān)的基本概念{面包,果醬由數(shù)據(jù)庫到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念(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ù)庫到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念關(guān)聯(lián)規(guī)則挖掘的{面包,果醬}
---2-項(xiàng)集{面包,果醬,奶油}
---3-項(xiàng)集數(shù)據(jù)挖掘之關(guān)聯(lián)規(guī)則挖掘商品的關(guān)聯(lián)規(guī)則“尿布”?
“啤酒”
[支持度=2%,置信度=60%]
“由尿布的購買,能夠推斷出啤酒的購買”
支持度2%意味著所分析事務(wù)的2%同時(shí)購買尿布和啤酒置信度60%意味著購買尿布的顧客60%也購買啤酒。是否相信這條規(guī)則呢?—讓數(shù)據(jù)說話由數(shù)據(jù)庫到數(shù)據(jù)挖掘I-數(shù)據(jù)挖掘示例之背景與概念(7)小結(jié)項(xiàng)K-項(xiàng)集支持度置信度事務(wù)/交易K-頻繁項(xiàng)集關(guān)聯(lián)規(guī)則{面包,果醬}---2-項(xiàng)集數(shù)據(jù)挖掘之關(guān)聯(lián)規(guī)則挖掘商品的由數(shù)據(jù)庫到數(shù)據(jù)挖掘II
-數(shù)據(jù)挖掘示例之計(jì)算過程-1ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology戰(zhàn)德臣哈爾濱工業(yè)大學(xué)教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員由數(shù)據(jù)庫到數(shù)據(jù)挖掘II
-數(shù)據(jù)挖掘示例之計(jì)算過程-1Rese關(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ù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-1(0)回顧:頻繁項(xiàng)集的挖掘算法-Apriori算法的相關(guān)概念項(xiàng)K-項(xiàng)集支持度置信度事務(wù)/交易K-頻繁項(xiàng)集關(guān)聯(lián)規(guī)則{面包,果醬}
---2-項(xiàng)集{面包,果醬,奶油}
---3-項(xiàng)集關(guān)聯(lián)規(guī)則挖掘的基本思想由頻繁項(xiàng)集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則。依定義,這些商品購買明細(xì)數(shù)據(jù)庫頻繁項(xiàng)集挖掘算法計(jì)算示例1.對問題域數(shù)據(jù)進(jìn)行抽象由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-1(1)頻繁項(xiàng)集發(fā)現(xiàn)的計(jì)算過程?商品購買明細(xì)數(shù)據(jù)庫頻繁項(xiàng)集挖掘算法計(jì)算示例1.對問題域數(shù)據(jù)進(jìn)候選1項(xiàng)集.頻繁1項(xiàng)集.支持度計(jì)數(shù)最小支持度計(jì)數(shù)5
(min_sup=5/20=25%)頻繁項(xiàng)集挖掘算法計(jì)算示例2.形成候選1-項(xiàng)集,并求出頻繁1-項(xiàng)集由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-1(1)頻繁項(xiàng)集發(fā)現(xiàn)的計(jì)算過程?候選1項(xiàng)集.頻繁1項(xiàng)集.支持度計(jì)數(shù)最小支持度計(jì)數(shù)5(mi候選2項(xiàng)集.C2=L1JoinL1頻繁項(xiàng)集挖掘算法計(jì)算示例3.形成候選2-項(xiàng)集,并求出頻繁2-項(xiàng)集頻繁1項(xiàng)集頻繁2項(xiàng)集.支持度計(jì)數(shù)最小支持度計(jì)數(shù)5由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-1(1)頻繁項(xiàng)集發(fā)現(xiàn)的計(jì)算過程?候選2項(xiàng)集.C2=L1JoinL1頻繁項(xiàng)集挖掘算法計(jì)算示候選3項(xiàng)集.C3=L2JoinL2頻繁項(xiàng)集挖掘算法計(jì)算示例4.形成候選3-項(xiàng)集,并剪枝,進(jìn)一步求出頻繁3-項(xiàng)集頻繁2項(xiàng)集候選3項(xiàng)集的支持度計(jì)數(shù)頻繁3項(xiàng)集由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-1(1)頻繁項(xiàng)集發(fā)現(xiàn)的計(jì)算過程?候選3項(xiàng)集.C3=L2JoinL2頻繁項(xiàng)集挖掘算法計(jì)算示候選4項(xiàng)集---頻繁4項(xiàng)集支持度計(jì)數(shù)>=5>頻繁3項(xiàng)集頻繁項(xiàng)集全集=頻繁1項(xiàng)集頻繁2項(xiàng)集頻繁3項(xiàng)集
頻繁4項(xiàng)集頻繁項(xiàng)集挖掘算法計(jì)算示例5.迭代地求出最終結(jié)果-頻繁項(xiàng)集由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-1(1)頻繁項(xiàng)集發(fā)現(xiàn)的計(jì)算過程?候選4項(xiàng)集---頻繁4項(xiàng)集支持度計(jì)數(shù)>=5>頻繁3項(xiàng)集頻繁項(xiàng)由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-1(2)頻繁項(xiàng)集的發(fā)現(xiàn)算法由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-1由數(shù)據(jù)庫到數(shù)據(jù)挖掘II
-數(shù)據(jù)挖掘示例之計(jì)算過程-2ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology戰(zhàn)德臣哈爾濱工業(yè)大學(xué)教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員由數(shù)據(jù)庫到數(shù)據(jù)挖掘II
-數(shù)據(jù)挖掘示例之計(jì)算過程-2Rese關(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)頻率一樣。由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-2(0)回顧:頻繁項(xiàng)集的挖掘項(xiàng)K-項(xiàng)集事務(wù)/交易K-頻繁項(xiàng)集{面包,果醬}
---2-項(xiàng)集{面包,果醬,奶油}
---3-項(xiàng)集支持度置信度關(guān)聯(lián)規(guī)則關(guān)聯(lián)規(guī)則挖掘的基本思想由頻繁項(xiàng)集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則。依定義,這些商品的關(guān)聯(lián)規(guī)則“尿布”?
“啤酒”
[支持度=2%,置信度=60%]
“由尿布的購買,能夠推斷出啤酒的購買”
支持度2%意味著所分析事務(wù)的2%同時(shí)購買尿布和啤酒置信度60%意味著購買尿布的顧客60%也購買啤酒。由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-2(1)什么是關(guān)聯(lián)規(guī)則商品的關(guān)聯(lián)規(guī)則“尿布”?“啤酒”[支持度=2%,置信度=關(guān)聯(lián)規(guī)則的生成計(jì)算示例{P1,P2,P5,P6}可以產(chǎn)生的潛在規(guī)則A?B,其中AB={P1,P2,P5,P6},AB=.
由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-2(2)關(guān)聯(lián)規(guī)則的產(chǎn)生頻繁項(xiàng)集關(guān)聯(lián)規(guī)則關(guān)聯(lián)規(guī)則的生成計(jì)算示例{P1,P2,P5,P6}可以產(chǎn)生的潛輸出的規(guī)則表,AB=,“購買A能夠推出購買B”.置信度>=70%的規(guī)則.
關(guān)聯(lián)規(guī)則的生成計(jì)算示例由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-2(2)關(guān)聯(lián)規(guī)則的產(chǎn)生輸出的規(guī)則表,AB=,“購買A能夠推出購買B”.組合形成規(guī)則表,頻繁3項(xiàng)集能推出哪些頻繁項(xiàng)集?置信度標(biāo)記紅色為置信度>=70%的規(guī)則.支持度標(biāo)記藍(lán)色的為滿足置信度前提下的支持度>=50%的規(guī)則關(guān)聯(lián)規(guī)則的生成計(jì)算示例由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-2(2)關(guān)聯(lián)規(guī)則的產(chǎn)生組合形成規(guī)則表,頻繁3項(xiàng)集能推出哪些頻繁項(xiàng)集?關(guān)聯(lián)規(guī)則的生成最終輸出的規(guī)則表關(guān)聯(lián)規(guī)則的生成計(jì)算示例由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-2(2)關(guān)聯(lián)規(guī)則的產(chǎn)生最終輸出的規(guī)則表關(guān)聯(lián)規(guī)則的生成計(jì)算示例由數(shù)據(jù)庫到數(shù)據(jù)挖掘IIage(X,"30...39")∧income(X,"42K...48K")?buys(X,"high_resolution_TV")關(guān)聯(lián)規(guī)則挖掘X代表顧客buys(X,"面包")?buys(X,"果醬")
單維度單層次規(guī)則多維度多層次規(guī)則由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-2(3)還能挖掘什么?age(X,"30...39")∧income(X,Web數(shù)據(jù)挖掘由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-2(3)還能挖掘什么?Web數(shù)據(jù)挖掘由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程只求關(guān)系,不求因果不要相信經(jīng)驗(yàn),一切以數(shù)據(jù)說話bit&Byte1KB(Kilobyte)=210字節(jié)1MB(Megabyte)=210KB1GB(Gigabyte)=210MB1TB(Trillionbyte)=210GB=220MB1PB(Petabyte)=210TB=230MB1EB(Exabyte)=210PB=240MB1ZB(Zettabyte)=210EB=250MB1YB(Yottabyte)=210ZB=260MB1BB(Brontobyte)=210YB=270MB大數(shù)據(jù)大數(shù)據(jù)環(huán)境下什么不能發(fā)生呢?由數(shù)據(jù)庫到數(shù)據(jù)挖掘II-數(shù)據(jù)挖掘示例之計(jì)算過程-2(5)小結(jié)只求關(guān)系,不求因果不要相信經(jīng)驗(yàn),一切以數(shù)據(jù)說話bit&B數(shù)據(jù)抽象與設(shè)計(jì)I
---抽象之理解-區(qū)分-命名-表達(dá)ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology戰(zhàn)德臣哈爾濱工業(yè)大學(xué)教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員數(shù)據(jù)抽象與設(shè)計(jì)I
---抽象之理解-區(qū)分-命名-表達(dá)Rese抽象、理論和設(shè)計(jì)是計(jì)算學(xué)科的三種形態(tài)或三種過程設(shè)計(jì)--是指構(gòu)造計(jì)算系統(tǒng)來改造世界的手段,是工程的主要內(nèi)容,只有設(shè)計(jì)才能造福于人類(設(shè)計(jì)的價(jià)值)理論--是發(fā)現(xiàn)世界規(guī)律的手段,理論,如果不能指導(dǎo)設(shè)計(jì),則是反映不出其價(jià)值的;設(shè)計(jì),如果沒有理論指導(dǎo),則設(shè)計(jì)的嚴(yán)密性、可靠性、正確性是沒有保證的(理論的價(jià)值)抽象--是感性認(rèn)識世界的手段。理論和設(shè)計(jì)的前提都需要抽象,沒有抽象二者都是沒有辦法達(dá)成目標(biāo)的(抽象的價(jià)值)抽象-理論-設(shè)計(jì)概述數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之理解-區(qū)分-命名-表達(dá)(0)抽象-理論-設(shè)計(jì)概述抽象、理論和設(shè)計(jì)是計(jì)算學(xué)科的三種形態(tài)或三種過程抽象-理論-設(shè)抽象:指在思維中對同類事物去除其現(xiàn)象的次要方面,抽取其共同的主要方面,從而做到從個(gè)別中把握一般,從現(xiàn)象中把握本質(zhì)的認(rèn)知過程和思維方法。抽象:一方面是建立對客觀事物進(jìn)行抽象描述的方法(方法論),另一方面是要采用現(xiàn)有的抽象方法建立具體問題的概念模型,從而實(shí)現(xiàn)對客觀世界的感性認(rèn)識(方法論的應(yīng)用)
。抽象:是現(xiàn)實(shí)事物的概念化。數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之理解-區(qū)分-命名-表達(dá)(1)科學(xué)方法論中關(guān)于“抽象”的描述怎樣進(jìn)行抽象?有沒有抽象的技巧?抽象:指在思維中對同類事物去除其現(xiàn)象的次要方面,抽取其共同的抽象:是指由具體事物中發(fā)現(xiàn)其本質(zhì)性特征和方法的過程。Quelle:Piccasso具體化抽象化抽象就是“逐漸剝離語義、逐漸去掉細(xì)節(jié)”數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之理解-區(qū)分-命名-表達(dá)(2)怎樣進(jìn)行“抽象”?抽象:是指由具體事物中發(fā)現(xiàn)其本質(zhì)性特征和方法的過程。Quel抽象:就是尋找相同的形式,處理可變的內(nèi)容抽象:區(qū)分并命名表的每一個(gè)形式要素若干具有相似性的具體的表用抽象出的概念表示的表的形式“理解區(qū)分命名表達(dá)”數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之理解-區(qū)分-命名-表達(dá)(2)怎樣進(jìn)行“抽象”?V1V2V3V4V5屬性名屬性值屬性元組內(nèi)容模式抽象:就是尋找相同的形式,處理可變的內(nèi)容抽象:區(qū)分并命名表的抽象:就是共性中尋找差異,差異中尋找共性數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之理解-區(qū)分-命名-表達(dá)(2)怎樣進(jìn)行“抽象”?與前一個(gè)示例一樣嗎?怎樣進(jìn)行抽象呢?“理解區(qū)分命名表達(dá)”抽象:就是共性中尋找差異,差異中尋找共性數(shù)據(jù)抽象與設(shè)計(jì)I--數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之理解-區(qū)分-命名-表達(dá)(2)怎樣進(jìn)行“抽象”?二維交叉表維度--1層次/粒度-1層次/粒度-2維度--2多維度多粒度交叉表交叉格<(1季,南崗區(qū)),35000><(時(shí)間維度,地區(qū)維度),銷售額><(1季2月,南崗區(qū)四分店),4000><(時(shí)間維度,地區(qū)維度),銷售額>抽象:就是共性中尋找差異,差異中尋找共性“理解區(qū)分命名表達(dá)”數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之理解-區(qū)分-命名-表達(dá)二維交叉表數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之理解-區(qū)分-命名-表達(dá)(2)怎樣進(jìn)行“抽象”?數(shù)據(jù)的抽象維度粒度/概念層次度量-交叉格“事實(shí)”操作的抽象下鉆,上卷切片/切塊轉(zhuǎn)軸抽象:就是共性中尋找差異,差異中尋找共性“理解區(qū)分命名表達(dá)”切片上卷下鉆切片數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之理解-區(qū)分-命名-表達(dá)數(shù)據(jù)的抽象抽象結(jié)果的表達(dá)---用設(shè)計(jì)手段表達(dá)?用數(shù)學(xué)手段表達(dá)?數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之理解-區(qū)分-命名-表達(dá)(2)怎樣進(jìn)行“抽象”?“理解區(qū)分命名表達(dá)”抽象結(jié)果的表達(dá)---用設(shè)計(jì)手段表達(dá)?用數(shù)學(xué)手段表達(dá)?數(shù)據(jù)抽數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之理解-區(qū)分-命名-表達(dá)(3)小結(jié)?抽象的基本特征:本質(zhì)性、區(qū)分與概念記?。汗残灾袑ふ也町悾町愔袑ふ夜残?---思維方法尋找相同的形式,處理可變的內(nèi)容----計(jì)算學(xué)科“抽象”過程的本質(zhì)理解區(qū)分命名表達(dá)----計(jì)算學(xué)科“抽象”的過程最關(guān)鍵的理解區(qū)分命名表達(dá)抽象數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之理解-區(qū)分-命名-表達(dá)抽象的基本數(shù)據(jù)抽象與設(shè)計(jì)I
---抽象之不同層次ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology戰(zhàn)德臣哈爾濱工業(yè)大學(xué)教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員數(shù)據(jù)抽象與設(shè)計(jì)I
---抽象之不同層次ResearchCe概念的抽象關(guān)系數(shù)據(jù)表的抽象待表達(dá)的問題:產(chǎn)品構(gòu)成關(guān)系概念級抽象實(shí)現(xiàn)級抽象不同層面的抽象:現(xiàn)實(shí)世界概念/信息世界計(jì)算機(jī)世界邏輯世界(語義結(jié)構(gòu))物理世界(存儲結(jié)構(gòu))數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之不同層次(1)“抽象”層次?分層級抽象概念的抽象關(guān)系數(shù)據(jù)表的抽象待表達(dá)的問題:產(chǎn)品構(gòu)成關(guān)系概念級抽概念的一般性表達(dá)方法用一般性方法指導(dǎo)抽象關(guān)系數(shù)據(jù)表的一般性表達(dá)方法用一般性方法指導(dǎo)抽象抽象方法/或稱方法論(抽象過程;抽象結(jié)果的表達(dá)方法)按抽象方法進(jìn)行抽象數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之不同層次(2)方法論及其應(yīng)用?分層級抽象概念的一般性表達(dá)方法用一般性方法指導(dǎo)抽象關(guān)系數(shù)據(jù)表的一般性表ModelInstanceModelInstanceModelInstance建模的不同層次:模型與元模型,模型(型)與實(shí)例(值)建模層次數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之不同層次(3)建模層次模型實(shí)例模型現(xiàn)實(shí)元模型ModelModelModel建模的不同層次:模型與元模型,最關(guān)鍵的理解區(qū)分命名表達(dá)抽象數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之不同層次(4)小結(jié)層次方法論應(yīng)用方法論元模型模型現(xiàn)實(shí)世界信息世界計(jì)算機(jī)世界最關(guān)鍵的理解區(qū)分命名表達(dá)抽象數(shù)據(jù)抽象與設(shè)計(jì)I---抽象之不同數(shù)據(jù)抽象與設(shè)計(jì)II
---設(shè)計(jì)之形式-構(gòu)造-自動(dòng)化ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology戰(zhàn)德臣哈爾濱工業(yè)大學(xué)教授.博士生導(dǎo)師教育部大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)委員數(shù)據(jù)抽象與設(shè)計(jì)II
---設(shè)計(jì)之形式-構(gòu)造-自動(dòng)化Resea抽象、理論和設(shè)計(jì)是計(jì)算學(xué)科的三種形態(tài)或三種過程設(shè)計(jì)--是指構(gòu)造計(jì)算系統(tǒng)來改造世界的手段,是工程的主要內(nèi)容,只有設(shè)計(jì)才能造福于人類(設(shè)計(jì)的價(jià)值)理論--是發(fā)現(xiàn)世界規(guī)律的手段,理論,如果不能指導(dǎo)設(shè)計(jì),則是反映不出其價(jià)值的;設(shè)計(jì),如果沒有理論指導(dǎo),則設(shè)計(jì)的嚴(yán)密性、可靠性、正確性是沒有保證的(理論的價(jià)值)抽象--是感性認(rèn)識世界的手段。理論和設(shè)計(jì)的前提都需要抽象,沒有抽象二者都是沒有辦法達(dá)成目標(biāo)的(抽象的價(jià)值)抽象-理論-設(shè)計(jì)概述數(shù)據(jù)抽象與設(shè)計(jì)II---設(shè)計(jì)之形式-構(gòu)造-自動(dòng)化?(0)抽象-理論-設(shè)計(jì)概述抽象、理論和設(shè)計(jì)是計(jì)算學(xué)科的三種形態(tài)或三種過程抽象-理論-設(shè)設(shè)計(jì):源于工程并用于系統(tǒng)或設(shè)備的開發(fā)以實(shí)現(xiàn)給定的任務(wù)設(shè)計(jì):作為變革控制和利用自然界的手段,必須以對自然規(guī)律的認(rèn)識為前提,可以是科學(xué)形態(tài)的認(rèn)識,也可以是經(jīng)驗(yàn)形態(tài)的認(rèn)識。設(shè)計(jì):要達(dá)到變革控制和利用自然界的目的,必須創(chuàng)造出相應(yīng)的人工系統(tǒng)和人工條件,還必須認(rèn)識自然規(guī)律在這些人工系統(tǒng)中和人工條件下的具體表現(xiàn)形式。設(shè)計(jì)形態(tài)具有較強(qiáng)的實(shí)踐性、社會(huì)性和綜合性。因此要記住:設(shè)計(jì)要對社會(huì)和人類有貢獻(xiàn),要有責(zé)任感!科學(xué)方法論中關(guān)于“設(shè)計(jì)”的描述怎樣進(jìn)行設(shè)計(jì)?數(shù)據(jù)抽象與設(shè)計(jì)II---設(shè)計(jì)之形式-構(gòu)造-自動(dòng)化?(1)什么是設(shè)計(jì)?設(shè)計(jì):源于工程并用于系統(tǒng)或設(shè)備的開發(fā)以實(shí)現(xiàn)給定的任務(wù)科學(xué)方設(shè)計(jì):是構(gòu)建計(jì)算系統(tǒng)的過程,是技術(shù)、原理在計(jì)算系統(tǒng)中實(shí)現(xiàn)的過程計(jì)算機(jī)語言/協(xié)議的設(shè)計(jì)和實(shí)現(xiàn)是重要的“設(shè)計(jì)”形態(tài)的內(nèi)容設(shè)計(jì):語法化各種概念,便于操作及自動(dòng)化抽象形態(tài)設(shè)計(jì)形態(tài)數(shù)據(jù)抽象與設(shè)計(jì)II---設(shè)計(jì)之形式-構(gòu)造-自動(dòng)化?(2)怎樣進(jìn)行“設(shè)計(jì)”?計(jì)算機(jī)語言“形式構(gòu)造自動(dòng)化”設(shè)計(jì):是構(gòu)建計(jì)算系統(tǒng)的過程,是技術(shù)、原理在計(jì)算系統(tǒng)中實(shí)現(xiàn)的過解析語言并執(zhí)行的系統(tǒng)廣義的語言系統(tǒng)的應(yīng)用基于廣義的計(jì)算機(jī)語言的設(shè)計(jì)和實(shí)現(xiàn)軟件/硬件/網(wǎng)絡(luò)系統(tǒng)數(shù)據(jù)抽象與設(shè)計(jì)II---設(shè)計(jì)之形式-構(gòu)造-自動(dòng)化?(2)怎樣進(jìn)行“設(shè)計(jì)”?“形式構(gòu)造自動(dòng)化”解析語言并執(zhí)行的系統(tǒng)廣義的語言系統(tǒng)的應(yīng)用基于廣義的計(jì)算機(jī)語言廣義的計(jì)算機(jī)語言/協(xié)議的設(shè)計(jì)和實(shí)現(xiàn)是重要的“設(shè)計(jì)”形態(tài)的內(nèi)容數(shù)據(jù)抽象與設(shè)計(jì)II---設(shè)計(jì)之形式-構(gòu)造-自動(dòng)化?(2)怎樣進(jìn)行“設(shè)計(jì)”?definecube<cube_name>[<dimension_list>]:<measure_list>definedimension<dimension_name>as(<attribute_or_subdimension_list>)definecube銷售數(shù)據(jù)方體[地區(qū),時(shí)間,商品]:銷售額=sum(金額)definedimension時(shí)間as(時(shí)間標(biāo)識,日,月,季,年)definedimension商品as(商品號,商品名,細(xì)類,大類)definedimension地區(qū)as(地區(qū)標(biāo)識,分店,區(qū)縣)Cube語言-語法結(jié)構(gòu)示例“形式構(gòu)造自動(dòng)化”廣義的計(jì)算機(jī)語言/協(xié)議的設(shè)計(jì)和實(shí)現(xiàn)是重要的“設(shè)計(jì)”形態(tài)的內(nèi)容基于廣義的計(jì)算機(jī)語言的設(shè)計(jì)和實(shí)現(xiàn)軟件/硬件/網(wǎng)絡(luò)系統(tǒng)數(shù)據(jù)抽象與設(shè)計(jì)II---設(shè)計(jì)之形式-構(gòu)造-自動(dòng)化?(2)怎樣進(jìn)行“設(shè)計(jì)”?“形式構(gòu)造自動(dòng)化”數(shù)據(jù)庫DBMS數(shù)據(jù)庫應(yīng)用程序或最終用戶SQL語言數(shù)據(jù)倉庫OLAP在線分析與處理Cube語言基于廣義的計(jì)算機(jī)語言的設(shè)計(jì)和實(shí)現(xiàn)軟件/硬件/網(wǎng)絡(luò)系統(tǒng)數(shù)據(jù)抽象設(shè)計(jì)形態(tài)的其他示意性示例軟件、硬件產(chǎn)品的設(shè)計(jì)與實(shí)現(xiàn)是重要的“設(shè)計(jì)”形態(tài)的內(nèi)容。設(shè)計(jì)形態(tài)的結(jié)果可以是:各種模型。數(shù)據(jù)抽象與設(shè)計(jì)II---設(shè)計(jì)之形式-構(gòu)造-自動(dòng)化?(2)怎樣進(jìn)行“設(shè)計(jì)”?可視化開發(fā)框架的次序圖模型設(shè)計(jì)形態(tài)的其他示意性示例數(shù)據(jù)抽象與設(shè)計(jì)II---設(shè)計(jì)之形式-數(shù)據(jù)抽象與設(shè)計(jì)II---設(shè)計(jì)之形式-構(gòu)造-自動(dòng)化?(2)怎樣進(jìn)行“設(shè)計(jì)”?庫存管理系統(tǒng)的類圖和狀態(tài)圖模型設(shè)計(jì)形態(tài)的其他示意性示例軟件、硬件產(chǎn)品的設(shè)計(jì)與實(shí)現(xiàn)是重要的“設(shè)計(jì)”形態(tài)的內(nèi)容。設(shè)計(jì)形態(tài)的結(jié)果可以是:各種模型。數(shù)據(jù)抽象與設(shè)計(jì)II---設(shè)計(jì)之形式-構(gòu)造-自動(dòng)化?庫存管理系設(shè)計(jì)形態(tài)的其他示意性示例設(shè)計(jì)形態(tài)的結(jié)果也可以是程序代碼和軟件產(chǎn)品設(shè)計(jì)結(jié)果的正確性是怎樣的呢?
怎樣度量設(shè)計(jì)形態(tài)的成果呢?怎樣判斷設(shè)計(jì)成果的有效性呢?軟件產(chǎn)品(界面)示意程序代碼示意數(shù)據(jù)抽象與設(shè)計(jì)II---設(shè)計(jì)之形式-構(gòu)造-自動(dòng)化?(2)怎樣進(jìn)行“設(shè)計(jì)”?設(shè)計(jì)形態(tài)的其他示意性示例軟件產(chǎn)品(界面)示意程序代碼示意數(shù)據(jù)構(gòu)造系統(tǒng)(表示-存儲-執(zhí)行),實(shí)現(xiàn):“尋找相同的形式,處理可變的內(nèi)容”形式構(gòu)造自動(dòng)化----計(jì)算學(xué)科“設(shè)計(jì)”的過程最關(guān)鍵的形式構(gòu)造自動(dòng)化數(shù)據(jù)抽象與設(shè)計(jì)II---設(shè)計(jì)之形式-構(gòu)造-自動(dòng)化?(3)小結(jié)?設(shè)計(jì)構(gòu)造系統(tǒng)(表示-存儲-執(zhí)行),實(shí)現(xiàn):“尋找相同的形式,處理可數(shù)據(jù)抽象與設(shè)計(jì)III
---理論之定義-定理-證明ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology戰(zhàn)德臣哈爾濱工業(yè)大學(xué)教授.博士生
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人典當(dāng)合同范例
- 農(nóng)村工程合同書樣本電子版
- 商場中途轉(zhuǎn)讓合同范本
- 答辯之道模板
- 咖啡合作合同范本
- 嘉定汽車吊車租賃合同范本
- 有關(guān)股東名義簽署的房屋租賃合同 (4篇)
- 回填農(nóng)村用地合同范本
- 初三生活應(yīng)對策略
- 合同包多個(gè)合同范本
- 小兒推拿法操作評分標(biāo)準(zhǔn)
- 心腦血管疾病的危險(xiǎn)因素與管理1
- 第一單元練習(xí)卷(單元測試)2023-2024學(xué)年統(tǒng)編版語文六年級下冊
- 2016年4月自考00040法學(xué)概論試題及答案
- 2024中國碳普惠發(fā)展與實(shí)踐案例研究報(bào)告
- 2024年中國檢驗(yàn)認(rèn)證集團(tuán)招聘筆試參考題庫附帶答案詳解
- 人教版九年級數(shù)學(xué)下冊《第二十六章反比例函數(shù)》測試卷單元測試卷-帶有參考答案
- 公園售票員管理制度
- 本科:交通管理專業(yè)培養(yǎng)方案(管理學(xué)院)
- 《汽車電子電氣系統(tǒng)構(gòu)造與拆裝》課件 項(xiàng)目三 起動(dòng)系統(tǒng)檢修
- 《安徒生童話》閱讀指導(dǎo)課件
評論
0/150
提交評論