數(shù)據(jù)庫(kù)原理第7講_第1頁(yè)
數(shù)據(jù)庫(kù)原理第7講_第2頁(yè)
數(shù)據(jù)庫(kù)原理第7講_第3頁(yè)
數(shù)據(jù)庫(kù)原理第7講_第4頁(yè)
數(shù)據(jù)庫(kù)原理第7講_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)系統(tǒng)概論AnIntroductiontoDatabaseSystem第二章關(guān)系數(shù)據(jù)庫(kù)(續(xù)).2.4

關(guān)系代數(shù)(上節(jié)回顧)傳統(tǒng)的集合運(yùn)算?,?,,專(zhuān)門(mén)的關(guān)系運(yùn)算.1.選擇(Selection)σF(R)選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算σ.2.投影(Projection)πA(R)

π投影操作主要是從列的角度進(jìn)行運(yùn)算.3.連接(Join)

RS

R.AθS.B

AθBRS.自然連接R

S從R×S的結(jié)果集中,選取在某些公共屬性上具有相同值的元組,組成新的關(guān)系R、S的公共屬性屬性集的交集(名稱(chēng)及類(lèi)型相同)公共屬性在結(jié)果中只出現(xiàn)一次.studentInnerjoinstudentscscsnosnamessexsagesdept95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19ISsnocnograde9500119295001285950013889500229095002380950051100student.snosnamessexsagesdeptsc.snocnograde95001李勇男20CS9500119295001李勇男20CS9500128595001李勇男20CS9500138895002劉晨女19IS9500229095002劉晨女19IS95002380.關(guān)系代數(shù)—外連接是連接運(yùn)算的擴(kuò)展,可以處理缺失信息保留非匹配元組外連接左外連接右外連接全外連接.關(guān)系代數(shù)—左外連接取出左側(cè)關(guān)系中所有與右側(cè)關(guān)系的任一元組都不匹配的元組,用空值填充所有來(lái)自右側(cè)關(guān)系的屬性,再把產(chǎn)生的元組加到自然連接的結(jié)果上例:.關(guān)系代數(shù)—全外連接左外連接與右外連接的合成.OuterJoin–ExampleLeftOuterJoinstudentsc下一頁(yè)student.snosnamessexsagesdeptsc.snocnograde95001李勇男20CS9500119295001李勇男20CS9500128595001李勇男20CS9500138895002劉晨女19IS9500229095002劉晨女19IS9500238095003王敏女18MAnullnullnull95004張立男19ISnullnullnull.OuterJoin–ExampleRightOuterJoinstudentsc下一頁(yè)student.snosnamessexsagesdeptsc.snocnograde95001李勇男20CS9500119295001李勇男20CS9500128595001李勇男20CS9500138895002劉晨女19IS9500229095002劉晨女19IS95002380nullnullnullnullnull950051100.OuterJoin–ExampleFullOuterJoinstudentscstudent.snosnamessexsagesdeptsc.snocnograde95001李勇男20CS9500119295001李勇男20CS9500128595001李勇男20CS9500138895002劉晨女19IS9500229095002劉晨女19IS9500238095003王敏女18MAnullnullnull95004張立男19ISnullnullnullnullnullnullnullnull950051100.4)象集Z

給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組。當(dāng)t[X]=x時(shí),x在R中的象集(ImagesSet)為:

Zx={t[Z]|tR,t[X]=x}

它表示R中屬性組X上值為x的諸元組在Z上分量的集合。.4)象集ZABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2R÷SAa1RS.4.除(Division)給定關(guān)系R(X,Y)

和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運(yùn)算得到一個(gè)新的關(guān)系P(X),P是R中滿(mǎn)足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。

R÷S={tr[X]|tr

R∧πY(S)

Yx}

Yx:x在R中的象集,x=tr[X].除(續(xù))2)除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算

3)舉例

[例6](p62)÷RS.除(續(xù))ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2R÷SAa1RS.分析:在關(guān)系R中,A可以取四個(gè)值{a1,a2,a3,a4}a1的象集為{(b1,c2),(b2,c3),(b2,c1)}

a2的象集為{(b3,c7),(b2,c3)}

a3的象集為{(b4,c6)}

a4的象集為{(b6,c6)}S在(B,C)上的投影為

{(b1,c2),(b2,c1),(b2,c3)}只有a1的象集包含了S在(B,C)屬性組上的投影所以R÷S={a1}.除(Division)(續(xù))

“除”的實(shí)際含義:有一個(gè)現(xiàn)實(shí)意義的集合,希望在另一個(gè)集合中找出“包含”該集合的元組集例,找出選修了所有課程的學(xué)生

“所有課程”

“學(xué)生”

“學(xué)生”

÷“所有課程”例,找出選修了所有劉晨所選課的學(xué)生

“張三所選課”

“學(xué)生”

“學(xué)生”

÷“劉晨所選課”.5.綜合舉例以學(xué)生-課程數(shù)據(jù)庫(kù)為例(P.59)[例7]查詢(xún)至少選修1號(hào)課程和3號(hào)課程的學(xué)生號(hào)碼

首先建立一個(gè)臨時(shí)關(guān)系K:

然后求:πSno.Cno(SC)÷K

Cno

1

3.綜合舉例(續(xù))例7續(xù)πSno.Cno(SC)

95001象集{1,2,3} 95002象集{2,3}

πCno(K)={1,3}

于是:πSno.Cno(SC)÷K={95001}SnoCno950011950012950013950022950023.綜合舉例(續(xù))[例8]查詢(xún)選修了2號(hào)課程的學(xué)生的學(xué)號(hào)。

πSno(σCno='2'(SC))={95001,95002}

.綜合舉例(續(xù))[例9]查詢(xún)至少選修了一門(mén)其直接先行課為5號(hào)課程的課程的學(xué)生姓名。

πSname(σCpno='5'(CourseSCStudent))或

πSname(σCpno='5'(Course)SCπSno,Sname(Student))或πSname(πSno(σCpno='5'(Course)SC)πSno,Sname(Student))

.綜合舉例(續(xù))[例10]查詢(xún)選修了全部課程的學(xué)生號(hào)碼和姓名。

πSno,Cno(SC)÷πCno(Course)πSno,Sname(Student)

.§4.6包的關(guān)系運(yùn)算集合無(wú)重復(fù)順序無(wú)關(guān)包可重復(fù)順序無(wú)關(guān)商業(yè)數(shù)據(jù)庫(kù)系統(tǒng)往往是基于包的采用包可以獲得比集合快的運(yùn)算速度.包的關(guān)系運(yùn)算并、交、差投影、選擇乘積、連接不必去除重復(fù)元組??!.2.3關(guān)系的完整性關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件。關(guān)系模型中三類(lèi)完整性約束:實(shí)體完整性參照完整性用戶(hù)定義的完整性實(shí)體完整性和參照完整性是關(guān)系模型必須滿(mǎn)足的完整性約束條件,被稱(chēng)作是關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持。.2.3.1實(shí)體完整性實(shí)體完整性規(guī)則(EntityIntegrity)若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值舉例說(shuō)明:.實(shí)體完整性(續(xù))關(guān)系模型必須遵守實(shí)體完整性規(guī)則的原因(1)實(shí)體完整性規(guī)則是針對(duì)基本關(guān)系而言的。一個(gè)基本表通常對(duì)應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集或多對(duì)多聯(lián)系。(2)現(xiàn)實(shí)世界中的實(shí)體和實(shí)體間的聯(lián)系都是可區(qū)分的,即它們具有某種唯一性標(biāo)識(shí)。(3)相應(yīng)地,關(guān)系模型中以主碼作為唯一性標(biāo)識(shí)。.實(shí)體完整性(續(xù))關(guān)系模型必須遵守實(shí)體完整性規(guī)則的原因(續(xù))(4)候選碼中的屬性即主屬性不能取空值??罩稻褪恰安恢馈被颉盁o(wú)意義”的值。主屬性取空值,就說(shuō)明存在某個(gè)不可標(biāo)識(shí)的實(shí)體,即存在不可區(qū)分的實(shí)體,這與第(2)點(diǎn)相矛盾,因此這個(gè)規(guī)則稱(chēng)為實(shí)體完整性。.實(shí)體完整性(續(xù))注意實(shí)體完整性規(guī)則規(guī)定基本關(guān)系的所有主屬性都不能取空值例選修(學(xué)號(hào),課程號(hào),成績(jī))“學(xué)號(hào)、課程號(hào)”為主碼,則兩個(gè)屬性都不能取空值。.2.3.2參照完整性1.關(guān)系間的引用2.外碼3.參照完整性規(guī)則.1.關(guān)系間的引用在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來(lái)描述的,因此可能存在著關(guān)系與關(guān)系間的引用。例1學(xué)生實(shí)體、專(zhuān)業(yè)實(shí)體以及專(zhuān)業(yè)與學(xué)生間的一對(duì)多聯(lián)系學(xué)生(學(xué)號(hào),姓名,性別,專(zhuān)業(yè)號(hào),年齡)專(zhuān)業(yè)(專(zhuān)業(yè)號(hào),專(zhuān)業(yè)名).

學(xué)生(學(xué)號(hào),姓名,性別,專(zhuān)業(yè)號(hào),年齡)

專(zhuān)業(yè)(專(zhuān)業(yè)號(hào),專(zhuān)業(yè)名)

.關(guān)系間的引用(續(xù))例2學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)系學(xué)生(學(xué)號(hào),姓名,性別,專(zhuān)業(yè)號(hào),年齡)課程(課程號(hào),課程名,學(xué)分)選修(學(xué)號(hào),課程號(hào),成績(jī)).

學(xué)生學(xué)生選課課程.關(guān)系間的引用(續(xù))例3學(xué)生實(shí)體及其內(nèi)部的領(lǐng)導(dǎo)聯(lián)系(一對(duì)多)

學(xué)生(學(xué)號(hào),姓名,性別,專(zhuān)業(yè)號(hào),年齡,班長(zhǎng)).2.外碼(ForeignKey)設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對(duì)應(yīng),則稱(chēng)F是基本關(guān)系R的外碼基本關(guān)系R稱(chēng)為參照關(guān)系(ReferencingRelation)基本關(guān)系S稱(chēng)為被參照關(guān)系(ReferencedRelation)或目標(biāo)關(guān)系(TargetRelation)。.外碼(續(xù))說(shuō)明關(guān)系R和S不一定是不同的關(guān)系目標(biāo)關(guān)系S的主碼Ks和參照關(guān)系的外碼F必須定義在同一個(gè)(或一組)域上外碼并不一定要與相應(yīng)的主碼同名當(dāng)外碼與相應(yīng)的主碼屬于不同關(guān)系時(shí),往往取相同的名字,以便于識(shí)別.3.參照完整性規(guī)則若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為:或者取空值(F的每個(gè)屬性值均為空值)或者等于S中某個(gè)元組的主碼值。.參

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論