![關系模型與關系代數(shù)_第1頁](http://file4.renrendoc.com/view/e036221c4e815eba2ddbff6a77c5ca0e/e036221c4e815eba2ddbff6a77c5ca0e1.gif)
![關系模型與關系代數(shù)_第2頁](http://file4.renrendoc.com/view/e036221c4e815eba2ddbff6a77c5ca0e/e036221c4e815eba2ddbff6a77c5ca0e2.gif)
![關系模型與關系代數(shù)_第3頁](http://file4.renrendoc.com/view/e036221c4e815eba2ddbff6a77c5ca0e/e036221c4e815eba2ddbff6a77c5ca0e3.gif)
![關系模型與關系代數(shù)_第4頁](http://file4.renrendoc.com/view/e036221c4e815eba2ddbff6a77c5ca0e/e036221c4e815eba2ddbff6a77c5ca0e4.gif)
![關系模型與關系代數(shù)_第5頁](http://file4.renrendoc.com/view/e036221c4e815eba2ddbff6a77c5ca0e/e036221c4e815eba2ddbff6a77c5ca0e5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
關系模型與關系代數(shù)第1頁,課件共47頁,創(chuàng)作于2023年2月目錄關系模型2.1關系代數(shù)2.2第2頁,課件共47頁,創(chuàng)作于2023年2月關系模型系統(tǒng)而嚴格地提出關系模型的是美國IBM公司的E.F.Codd
1970年提出關系數(shù)據(jù)模型E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks”,《CommunicationoftheACM》,1970關系數(shù)據(jù)庫系統(tǒng)是支持關系數(shù)據(jù)模型的數(shù)據(jù)庫系統(tǒng)。關系數(shù)據(jù)庫管理系統(tǒng)是當今的主流數(shù)據(jù)庫管理系統(tǒng)。關系模型由關系數(shù)據(jù)結構、關系操作集合和關系完整性約束三部分組成。第3頁,課件共47頁,創(chuàng)作于2023年2月關系數(shù)據(jù)結構關系關系模型的數(shù)據(jù)結構非常簡單,它就是二維表,亦稱為關系。關系數(shù)據(jù)庫是表的集合,即關系的集合。表是一個實體集,一行就是一個實體,它由共同表示一個實體的有關聯(lián)的若干屬性的值所構成。由于一個表是這種有關聯(lián)的值的集合(即行的集合),而表這個概念和數(shù)學上的關系概念密切相關,因此稱為關系模型。關系模型中,現(xiàn)實世界的實體以及實體間的各種聯(lián)系都是用關系來表示。第4頁,課件共47頁,創(chuàng)作于2023年2月關系數(shù)據(jù)結構關系數(shù)據(jù)結構的形式化定義域——是一組具有相同數(shù)據(jù)類型的值的集合。笛卡爾積給定一組域D1,D2,…,Dn,它們之中可以有相同的域。D1,D2,…,Dn的笛卡爾積為:
D1×D2×…×Dn
={(d1,d2,…,dn)∣di∈Di,i=1,2,…,n}其中,集合中的每一個元素(d1,d2,…,dn)稱為一個n元組,簡稱為元組;元素中的每一個值di稱為一個分量。若Di(i=1,2,…,n)為有限集,假設其基數(shù)為mi(i=1,2,…,n),則D1×D2×…×Dn的基數(shù)M為:
舉例:給定兩個域:學生的姓名集合:D1={‘李小勇’,‘劉方晨’,‘王紅敏’}課程的名稱集合:D2={‘數(shù)據(jù)庫系統(tǒng)概論’,‘操作系統(tǒng)’}則D1,D2的笛卡爾積為:
D1×D2={(‘李小勇’,‘數(shù)據(jù)庫系統(tǒng)概論’),(‘李小勇’,‘操作系統(tǒng)’),(‘劉方晨’,‘數(shù)據(jù)庫系統(tǒng)概論’),(‘劉方晨’,‘操作系統(tǒng)’),(‘王紅敏’,‘數(shù)據(jù)庫系統(tǒng)概論’),(‘王紅敏’,‘操作系統(tǒng)’)}
第5頁,課件共47頁,創(chuàng)作于2023年2月關系數(shù)據(jù)結構關系數(shù)據(jù)結構的形式化定義關系D1×D2×…×Dn的子集稱為在域D1,D2,…,Dn上的關系,表示為:
r(D1,D2,…,Dn)
其中,r表示關系的名字,n是關系的目或度(degree)。當
n=1時,稱該關系為單元關系;當n=2時,稱該關系為二元關系。
關系是笛卡爾積的有限子集,所以關系也是一個二維表,表的每行對應于關系的一個元組,表的每列對應于關系的一個域。由于域可以相同,為了區(qū)別就必須給每列起一個名字,稱為屬性(attribute)。n目關系共有n個屬性。
第6頁,課件共47頁,創(chuàng)作于2023年2月關系數(shù)據(jù)結構關系數(shù)據(jù)結構的形式化定義超碼:對于關系r的一個或多個屬性的集合A,如果屬性集A可以唯一地標識關系r中的一個元組,則稱屬性集A為關系r的一個超碼(superkey)
。候選碼:對于關系r的一個或多個屬性的集合A,如果屬性集A的任意真子集都不能成為關系r的超碼,則稱屬性集A為候選碼(candidatekey)
。主碼:若一個關系有多個候選碼,則可以選定其中的一個候選碼作為該關系的主碼??罩担核锌赡艿挠虻囊粋€取值,表明值未知或不存在。
如果某學生的speciality屬性值為null,則表示該學生還沒有明確所學專業(yè),或不知道他的所學專業(yè)。舉例:Student關系studentNostudentNamesexbirthday speciality
0701001 李小勇 男1990-12-21 計算機 0701008 王紅 男1992-04-26 計算機
0802002 劉方晨 女1990-11-11 信息系統(tǒng) 0802005 王紅敏 女1990-10-01 信息系統(tǒng) 0703045 王紅 男1992-04-26 會計學
0703010 李宏冰 女1992-03-09 會計學 超碼:studentNo,{studentNo,studentName}、{studentNo,sex}、
{studentNo,studentName,speciality}、…
候選碼:studentNo和{studentName,speciality}——與語義有關主碼:studentNo第7頁,課件共47頁,創(chuàng)作于2023年2月關系數(shù)據(jù)結構關系模式對于一個二維表,有表頭部分和表體部分,表頭部分定義了該表的結構,即定義了該表由哪些列構成(假設由n列構成),每個列的名字和取值范圍等;表體就是所有數(shù)據(jù)行的集合,每一個數(shù)據(jù)行都是由表頭部分規(guī)定的n列有關聯(lián)的取值的集合構成。對應于關系數(shù)據(jù)庫,表的每一個數(shù)據(jù)行對應于關系的一個元組,表體對應于關系,關系是元組的集合,關系是值的概念;表頭部分對應于關系模式,關系模式是型的概念,它定義了元組集合的結構,即定義了一個元組由哪些屬性構成(假設由n個屬性構成),每個屬性的名字和來自的域等.第8頁,課件共47頁,創(chuàng)作于2023年2月關系數(shù)據(jù)結構關系模式關系的描述稱為關系模式(relationschema)。形式化地表示為:r(U,D,DOM,F)
r為關系名,U為組成該關系的屬性名的集合,D為屬性集U中所有屬性所來自的域的集合,DOM為屬性向域的映像集合,F(xiàn)為屬性間數(shù)據(jù)的依賴關系集合(即體現(xiàn)一個元組的各屬性取值之間的“關聯(lián)”性)。關系模式通常被簡記為:r(U)
或r(A1,A2,…,An)
r為關系名,U為屬性名的集合{A1,A2,…,An}
第9頁,課件共47頁,創(chuàng)作于2023年2月關系數(shù)據(jù)結構關系模式關系數(shù)據(jù)庫也有型和值之分,型就是關系數(shù)據(jù)庫模式,即它所包含的所有關系模式的集合;值就是這些關系模式在某一時刻所對應的關系的集合,通常就稱為關系數(shù)據(jù)庫實例。在實際應用中,人們經(jīng)常把關系數(shù)據(jù)庫模式和關系數(shù)據(jù)庫實例都籠統(tǒng)地稱為關系數(shù)據(jù)庫。舉例:學生成績管理數(shù)據(jù)庫ScoreDB的模式
Class(classNo:char(6),className:varchar(30),institute:varchar(30),
grade:smallint,classNum:tinyint)Student(studentNo:char(7),studentName:varchar(20),sex:char(2),birthday:
datetime,native:varchar(20),nation:varchar(30),classNo:char(6))Course(courseNo:char(5),courseName:varchar(30),creditHour:numeric,
courseHour:int,priorCourse:char(5))Score(studentNo:char(7),courseNo:char(5),term:char(5),score:numeric)
說明:基本數(shù)據(jù)類型請參見P112~113第10頁,課件共47頁,創(chuàng)作于2023年2月關系完整性約束條件實體完整性若屬性集A是關系r的主碼,則A不能取空值null。
例如,關系Student,由于studentNo是關系Student的主碼,因此它在任何時候的取值都不能為空值null,但其他屬性如sex、birthday、speciality等都可以取空值,表示當時該屬性的值未知或不存在。
如果主碼是由若干個屬性的集合構成,則要求構成主碼的每一個屬性的值都不能取空值。例如,學生成績管理數(shù)據(jù)庫ScoreDB中的關系Score,它的主碼是{studentNo,courseNo,term},因此這3個屬性都不能取空值。第11頁,課件共47頁,創(chuàng)作于2023年2月關系完整性約束條件參照完整性設F是關系r的一個屬性(或屬性集),Ks是關系s的主碼。如果F與Ks相對應,則稱F是關系r參照關系s的外碼(foreignkey),簡稱F是關系r的外碼。并稱關系r為參照關系,關系s為被參照關系或目標關系。若屬性(或屬性集)F是關系r的外碼,它與關系s的主碼Ks相對應,則對于關系r中的每一個元組在屬性F上的取值要么為空值null,要么等于關系s中某個元組的主碼值。
第12頁,課件共47頁,創(chuàng)作于2023年2月關系完整性約束條件舉例:
多對一聯(lián)系的屬性引用學生成績管理數(shù)據(jù)庫ScoreDB中,學生關系Student與班級關系Class之間存在多對一的“歸屬”聯(lián)系。
多對多聯(lián)系的聯(lián)系關系及屬性引用學生成績管理數(shù)據(jù)庫ScoreDB中,假設每一個學生一個學期可以選修若干門課程,每一門課程同時有若干個學生選修,那么學生關系Student與課程關系Course之間存在多對多的“選修”聯(lián)系,且課程的開課學期term和修讀成績score為聯(lián)系屬性。
關系內部屬性間的引用聯(lián)系
學生成績管理數(shù)據(jù)庫ScoreDB中,假設一門課程可能存在先修課程,且關系Course中的priorCourse屬性用來存放先修課程的課程編號。課程關系Course中的priorCourse屬性需要引用課程關系Course的主碼“課程編號”courseNo。Class(classNo,className,institute,grade,classNum
) Student(studentNo,studentName,sex,birthday,native,nation,classNo)圖2-4實現(xiàn)“多對一”聯(lián)系的屬性引用1nStudent(studentNo,studentName,sex,birthday,native,nation,classNo)
Score(studentNo,courseNo,term,score) Course(courseNo,courseName,creditHour,courseHour,priorCourse
)圖2-5實現(xiàn)“多對多”聯(lián)系的聯(lián)系關系及屬性引用mnCourse(courseNo,courseName,creditHour,courseHour,priorCourse)圖2-6實現(xiàn)關系內部屬性間的引用聯(lián)系第13頁,課件共47頁,創(chuàng)作于2023年2月關系完整性約束條件數(shù)據(jù)庫模式導航圖一個含有主碼和外碼依賴的數(shù)據(jù)庫模式可以通過模式導航圖來表示。
第14頁,課件共47頁,創(chuàng)作于2023年2月關系完整性約束條件數(shù)據(jù)庫模式導航圖一個含有主碼和外碼依賴的數(shù)據(jù)庫模式可以通過模式導航圖來表示。關系Student與關系Class之間存在多對一的“歸屬”聯(lián)系(一個班由多個學生組成,一個學生只能歸屬于某個班),通過外碼classNo實現(xiàn)該聯(lián)系。關系Course與關系Student之間存在多對多的“選修”聯(lián)系。關系Score的主碼是{studentNo,courseNo,term},顯然同一個學生在同一個學期不允許修讀同一門課程多次。關系Course的priorCourse屬性參照本關系的主碼courseNo屬性第15頁,課件共47頁,創(chuàng)作于2023年2月關系完整性約束條件數(shù)據(jù)庫模式導航圖
第16頁,課件共47頁,創(chuàng)作于2023年2月關系完整性約束條件數(shù)據(jù)庫模式導航圖一個含有主碼和外碼依賴的數(shù)據(jù)庫模式可以通過模式導航圖來表示關系Student與關系Class之間、關系Class與關系Institute之間、關系Teacher與關系Institute之間都存在多對一的“歸屬”聯(lián)系。關系Course的priorCourse屬性參照本關系的主碼courseNo屬性關系CourseClass與關系Course之間存在多對一的“開課”聯(lián)系(每個學期一門課程可能開設多個教學班,一個教學班只講授一門課程)。關系CourseClass與關系Classroom之間存在多對一的“上課”聯(lián)系關系CourseClass與關系Teacher之間存在多對一的“授課”聯(lián)系關系CourseClass與關系Student之間存在多對多的“選課”聯(lián)系。關系SC的主碼是{cClassNo,studentNo},顯然同一個學生不允許選修同一個教學班的課程多次。第17頁,課件共47頁,創(chuàng)作于2023年2月關系完整性約束條件用戶自定義完整性任何關系數(shù)據(jù)庫管理系統(tǒng)都應該支持實體完整性和參照完整性。用戶定義的完整性就是針對某一具體應用要求來定義的約束條件,它反映某一具體應用所涉及的數(shù)據(jù)必須滿足的語義要求。例如,限制關系中某些屬性的取值要符合業(yè)務語義要求。限制關系中某些屬性的取值之間需要滿足一定的邏輯關系。限制關系中某屬性集上的取值必須唯一。
第18頁,課件共47頁,創(chuàng)作于2023年2月關系操作關系操作關系操作的特點是集合操作方式,即操作的對象和結果都是集合。這種操作方式也稱為一次一個集合的方式。相應地,非關系數(shù)據(jù)模型的數(shù)據(jù)操作方式則為一次一個記錄的方式。關系模型中的關系操作有查詢操作和更新操作(包括插入刪除和修改)兩大類。查詢操作是關系操作中最主要的部分.查詢操作又可以分為選擇(select)、投影(project)、連接(join)、除(divide)、并(union)、交(intersection)、差(except)、笛卡爾積等。第19頁,課件共47頁,創(chuàng)作于2023年2月關系操作關系操作能力可用兩種方式來表示:代數(shù)方式和邏輯方式。關系代數(shù)是用代數(shù)方式表達的關系查詢語言。關系演算是用邏輯方式表達的關系查詢語言。關系演算又可按謂詞變元的基本對象是元組變量還是域變量分為元組關系演算和域關系演算。對于關系代數(shù)、元組關系演算和域關系演算均是抽象的查詢語言,在表達能力上是完全等價的。第20頁,課件共47頁,創(chuàng)作于2023年2月目錄關系模型2.1關系代數(shù)2.2第21頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)關系代數(shù)關系代數(shù)是通過關系代數(shù)運算構成的表達式來表達查詢?;镜年P系代數(shù)運算有選擇、投影、集合并、集合差、笛卡爾積和更名等。關系代數(shù)運算是以一個或兩個關系作為輸入(即運算對象)產(chǎn)生一個新的關系作為結果。第22頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)傳統(tǒng)的集合運算前提假設:關系r和關系s具有相同的n個屬性,且相應的屬性取自同一個域。t是元組變量,t∈r表示t是r的一個元組。
并運算關系r與關系s的并記作:r∪s={t∣tr∨ts}其結果關系仍為n目關系,由屬于r或屬于s的所有元組組成。第23頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)傳統(tǒng)的集合運算
差關系r與關系s的差記作:r-s={t∣tr∧ts}其結果關系仍為n目關系,由屬于r而不屬于s的所有元組組成。
交關系r與關系s的交記作:r∩s={t∣tr∧ts}其結果關系仍為n目關系,由既屬于r又屬于s的所有元組組成。關系的交可以通過差來表達,即r∩s=r-(r-s)。第24頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)傳統(tǒng)的集合運算
笛卡爾積兩個分別為n目和m目的關系r和s的笛卡爾積是一個n+m目元組的集合。元組的前n列是關系r的一個元組,后m列是關系s的一個元組若關系r有kr個元組,關系s有ks個元組,則關系r和s的笛卡爾積有kr×ks個元組。記作:
r×s={tr·ts∣trr∧tss}第25頁,課件共47頁,創(chuàng)作于2023年2月成績管理數(shù)據(jù)庫ScoreDB的實例數(shù)據(jù)(P56)
關系Student、Course和Score可分別描述為:Student(學號,姓名,性別,出生日期,所學專業(yè))Course(課程號,課程名稱,學時,學分)Score(學號,課程號,學期,成績)關系模型要求關系必須是規(guī)范化的,即要求關系必須滿足一定的規(guī)范條件。最基本的規(guī)范條件是:關系的每一個分量必須是一個不可分的數(shù)據(jù)項,即不允許表中有表
Student關系StudentNoStudentNamesex
birthdaynativenationclassNo0701001 李小勇 男1990-12-21南昌漢族CS07010701008 王紅 男1992-04-26上海漢族CS0701
0703010 李宏冰 女1992-03-09太原蒙古族AC07030703045 王紅 男1992-04-26北京漢族AC07030802002 劉方晨 女1990-11-11南昌傣族ISO8020802005 王紅敏 女1990-10-01上海蒙古族ISO802Course關系CourseNo CourseNamecreditHourcourseHourpriorCourseAC001基礎會計483nullCN028 大學語文483nulCS012 操作系統(tǒng)805nullCS015數(shù)據(jù)庫系統(tǒng)644CS012Score關系StudentNo courseNo termscore0701001 CN028 07081 850701001 CS012 07082 880701001 CS015 08091 920701008 AC001 07081 760701008 CN028 07081 860701008 CS012 07082 930701008 CS015 08091 960703010 AC001 07081 920703010 CN028 07081 830703010 CS012 07082 730703045 AC001 07081 520703045 AC001 08091 940703045CN02807081800703045CS01508091820802002 AC001 08091 980802002 CN028 08091 720802002 CS015 09101 850802005 AC001 09101 880802005 CS012 08092 900802005 CS015 09101 87Class關系ClassNo ClassName
instiutegrade
ClassNumAC0703 會計學08(3)班會計學院200846CS0701 計算機07(1)班
信息學院200748 ISO802 信息系統(tǒng)08(2)班信息學院200843第26頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)傳統(tǒng)的集合運算對于數(shù)據(jù)庫ScoreDB,笛卡爾積Class×Course的結果關系為:
第27頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)專門的關系運算
選擇選擇操作是在關系r中查找滿足給定謂詞(即選擇條件)的所有元組,記作:
σP(r)={t∣tr∧P(t)}
P表示謂詞(即選擇條件),它是一個邏輯表達式,取值為“真”或“假”。第28頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)專門的關系運算
選擇
例如,在數(shù)據(jù)庫ScoreDB中,查找2007級的所有班級情況
σgrade=2007(Class)
ClassNo ClassName
instiutegrade
ClassNumAC0703 會計學08(3)班會計學院200746CS0701 計算機07(1)班
信息學院200748
例如,在數(shù)據(jù)庫ScoreDB中,查找所有1992年及以后出生的女學生情況,σyear(birthday)>=1992∧sex='女'(Student)StudentNo StudentName
sexbirthdaynativenationclassNo0703010 李宏冰女1992-03-09太原蒙古族AC0703第29頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)專門的關系運算
投影關系是一個二維表,對它的操作可以從水平(行)的角度進行,即選擇操作;也可以從縱向(列)的角度進行,即投影操作。關系r上的投影是從r中選擇出若干屬性列組成新的關系。記作:
∏A(r)={t[A]∣tr}
A為關系r的屬性集合。第30頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)專門的關系運算
投影例如,在數(shù)據(jù)庫ScoreDB中,查找所有學生的姓名和民族
∏studentName,nation(Student)
例如,在數(shù)據(jù)庫ScoreDB中,查找所有“蒙古族”學生的姓名和籍貫StudentName
nation
李小勇漢族王紅漢族王宏冰蒙古族劉方晨傣族王紅敏蒙古族StudentName
native
王宏冰太原王紅敏上?!莝tudentName,native(σnation=‘蒙古族’(Student))第31頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)專門的關系運算
連接連接也稱為θ連接。記為AopB,其中A、B分別為關系r和s中的度數(shù)相等且可比的連接屬性集,op為比較運算符。θ連接是從兩個關系的笛卡爾積中選取連接屬性間滿足謂詞θ的所有元組。記作:r?θ
s={tr·ts∣trr∧tss∧(r.Aops.B)}θ連接運算就是從關系r和s的笛卡爾積r×s中,選取r關系在A屬性集上的值與s關系在B屬性集上的值滿足連接謂詞θ的所有元組,即r?θ
s=
第32頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)專門的關系運算
連接連接運算中有兩種最常用、最重要的連接,一種是等值連接(equijoin),另一種是自然連接(naturaljoin)。θ為等值比較謂詞的連接運算稱為等值連接。
自然連接是一種特殊的等值連接,它要求兩個參與連接的關系具有公共的屬性集,并在這個公共屬性集上進行等值連接;同時,還要求將連接結果中的重復屬性列去除掉,即在公共屬性集中的列只保留一次。
第33頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)專門的關系運算例如,在數(shù)據(jù)庫ScoreDB中,查找所有2008級的“蒙古族”學生的姓名
StudentName
王紅敏
分析:
①σnation=‘蒙古族’(Student)可以找到所有蒙古族學生的情況,但關系Student中沒有年級的信息,因此必須將關系Student與關系Class關聯(lián)起來。②根據(jù)模式導航圖可知,關系Student與關系Class可通過外碼classNo關聯(lián)起來,這種外碼引用關系可通過自然連接表示
Student?Class=σStudent.classNo=Class.classNo(Student×Class)
③最后的查詢可表達為:
∏studentName(σnation='蒙古族'(Student)?σgrade=2008(Class))
第34頁,課件共47頁,創(chuàng)作于2023年2月∏studentName(σnation=‘蒙古族’(Student)?σgrade=2008(Class))
=∏studentName(σStudent.classNo=Class.classNo(σnation='蒙古族'(Student)×σgrade=2008(Class)))
=∏studentName(σStudent.classNo=Class.classNo(σnation='蒙古族'∧grade=2008(Student×Class)))=∏studentName(σnation='蒙古族'∧grade=2008∧Student.classNo=Class.classNo(Student×Class))
=∏studentName(σnation='蒙古族'∧grade=2008(σStudent.classNo=Class.classNo(Student×Class)))
=∏studentName(σnation='蒙古族'∧grade=2008(Student?Class))
關系代數(shù)第35頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)例如,在數(shù)據(jù)庫ScoreDB中,查找課程號為“AC001”課程的考試中比學號為“0703045”的學生考得更好的所有學生的姓名和成績。
分析:①找出學號為“0703045”的學生在課程號為“AC001”的課程中的成績元組
(結果關系記為r1),可表達為:σstudentNo='0703045'∧courseNo='AC001'(Score)
②找出選修了課程號為“AC001”課程的所有學生的成績元組(結果關系記為r2)
,其查詢可表達為:
σcourseNo='AC001'(Score)
③將關系r1與關系r2進行θ連接(結果關系記為r3),其查詢可表達為:
r1?r1.score<r2.score
r2=σr1.score<r2.score(r1×r2)
④將關系r3與學生關系Student按外碼studentNo進行自然連接,并對連接結果在屬性studentName和r2.score上進行投影,其查詢可表達為:
∏studentName,r2.score(r3?Student)
=∏studentName,r2.score(σr2.studentNo=Student.studentNo(r3×Student))
=∏studentName,r2.score(σr2.studentNo=Student.studentNo((σr1.score<r2.score(r1×r2))
×Student))第36頁,課件共47頁,創(chuàng)作于2023年2月studentNocourseNotermscore0701008 AC00107081760703010 AC001 07081920703045
AC001 07081520703045
AC001 08091940802002 AC001 08091980802005 AC001 0910188(b)關系r2studentNo courseNo termscore0703045 AC001 07081520703045 AC001 0809194(a)關系r1r1.studentNor1.courseNor1.termr1.scorer2.studentNor2.courseNor2.termr2.score
0703045 AC0010708152 0701008AC00107081 76 0703045 AC0010708152 0703010AC00107081 92 0703045 AC0010708152 0703045AC00108091 94 0703045 AC0010708152
0802002AC00108091 98 0703045 AC0010708152 0802005AC00109101 88 0703045 AC0010809194 0802002AC00108091 98 (c)關系r3studentNamescore王紅76 李宏冰 92 王紅 94 劉方晨 98 王紅敏 88 (d)最后結果圖2-19例2.16的θ連接的計算過程Score關系StudentNo courseNo termscore0701001 CN028 07081 850701001 CS012 07082 880701001 CS015 08091 920701008 AC001 07081 760701008 CN028 07081 860701008 CS012 07082 930701008 CS015 08091 960703010 AC001 07081 920703010 CN028 07081 830703010 CS012 07082 730703045 AC001 07081 520703045 AC001 08091 940703045CN02807081800703045CS01508091820802002 AC001 08091 980802002 CN028 08091 720802002 CS015 09101 850802005 AC001 09101 880802005 CS012 08092 900802005 CS015 09101 87關系代數(shù)第37頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)專門的關系運算
除運算例如,需要查找修讀過信息學院開設的所有課程的學生學號,如何表達查詢?
分析:①查找出修讀過信息學院課程的所有學生
r1=∏studentNo,courseNo(σcourseNoLIKE'CS%'(Score))
②找出信息學院開設的所有課程
r2=∏courseNo(σcourseNoLIKE'CS%'(Course))
StudentNocourseNo0701001 CS012 0701001 CS015 0701008 CS012 0701008 CS015 0703010 CS012 0703045CS015
0802002 CS015 0802005 CS012 0802005 CS015CourseNo
CS012CS015第38頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)專門的關系運算(象集的概念見P58)③
比較圖2-20(a)和(b)
,修讀過信息學院開設的所有課程的學生就是關系r1中滿足“courseNo列包含關系r2的所有行”的那些學生。第39頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)專門的關系運算設關系r(R)和s(S),屬性集S是R的子集,即SR,則關系r÷s是關系r中滿足下列條件的元組在屬性集R-S上的投影:trr,記x=tr[R-S],則關系r中屬性集R-S的取值x的象集Sx包含關系s。記作
r÷s={tr[R-S]∣trr∧sSx}
第40頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)專門的關系運算例如,關系數(shù)據(jù)庫ScoreDB中,求以下結果
①
Score÷(∏courseNo(σcourseNo=‘AC001’(Course)))的結果為:②Score÷(∏courseNo(σcourseNo=‘CN028’(Course)))的結果為:
StudentNo termscore0701008 07081 760703010 07081 920703045 07081 520703045 08091 940802002 08091 980802005 09101 88StudentNo termscore0701001 07081 850701008 07081 860703010 07081 830703045 07081 80080200208091 72Score關系StudentNo courseNo termscore0701001 CN028 07081 850701001 CS012 07082 880701001 CS015 08091 920701008 AC001 07081 760701008 CN028 07081 860701008 CS012 07082 930701008 CS015 08091 960703010 AC001 07081 920703010 CN028 07081 830703010 CS012 07082 730703045 AC001 07081 520703045 AC001 08091 940703045CN02807081800703045CS01508091820802002 AC001 08091 980802002 CN028 08091 720802002 CS015 09101 850802005 AC001 09101 880802005 CS012 08092 900802005 CS015 09101 87Score關系StudentNo courseNo termscore0701001 CN028 07081 850701001 CS012 07082 880701001 CS015 08091 920701008 AC001 07081 760701008 CN028 07081 860701008 CS012 07082 930701008 CS015 08091 960703010 AC001 07081 920703010 CN028 07081 830703010 CS012 07082 730703045 AC001 07081 520703045 AC001 08091 940703045CN02807081800703045CS01508091820802002 AC001 08091 980802002 CN028 08091 720802002 CS015 09101 850802005 AC001 09101 880802005 CS012 08092 900802005 CS015 09101 87第41頁,課件共47頁,創(chuàng)作于2023年2月關系代數(shù)查詢綜合舉例給定一個查詢需求,構造其關系代數(shù)表達式的步驟
明確該查詢涉及到哪些屬性;明確該查詢涉及到哪些關系;根據(jù)數(shù)據(jù)庫模式導航圖,通過多對一聯(lián)系(或一對多聯(lián)系)把所有涉及的關系連接起來,每一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三方抵賬合同模板
- 個人商用車輛貸款擔保合同范本
- 個人設備抵押合同樣本
- 中外技術秘密許可合同(四)
- 二手家具買賣合同及附件
- 三方合作經(jīng)營合同范本格式
- 臨時用工合同協(xié)議
- 個人汽車抵押借款合同范本
- 二手房預訂合同定金協(xié)議書模板
- 二手車買賣合同范本
- 2025年個人合法二手車買賣合同(4篇)
- 2025年山西國際能源集團限公司所屬企業(yè)招聘43人高頻重點提升(共500題)附帶答案詳解
- 青海省海北藏族自治州(2024年-2025年小學六年級語文)統(tǒng)編版隨堂測試(上學期)試卷及答案
- 外研版(三起)小學英語三年級下冊Unit 1 Animal friends Get ready start up 課件
- 江蘇省無錫市2023-2024學年高三上學期期終教學質量調研測試語文試題(解析版)
- 銅礦隱蔽致災普查治理工作計劃
- 農(nóng)業(yè)行政執(zhí)法現(xiàn)狀及相關法律法規(guī)課件
- 測量管理體系內審檢查表
- 班組月度考核評分表
- 部編版一年級下冊《道德與法治》教學工作計劃及全冊教案
- 三重一大事項決策流程
評論
0/150
提交評論