第3章關系數(shù)據(jù)庫-含習題_第1頁
第3章關系數(shù)據(jù)庫-含習題_第2頁
第3章關系數(shù)據(jù)庫-含習題_第3頁
第3章關系數(shù)據(jù)庫-含習題_第4頁
第3章關系數(shù)據(jù)庫-含習題_第5頁
已閱讀5頁,還剩100頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第3第3章3.13.2關系代3.3元組關系3.4域關系演3.5小 關系模型的基本3.1.1關系的2.域 3關系3.1.2關系模3.1.33.1.4完整性 關系的定關系模型中,數(shù)據(jù)是以二維表的形式存在的,這個二–單一的數(shù)據(jù)結 關數(shù)據(jù)的邏輯結 二維是一些表格的格式,其中包括關系名、屬性名、在關系理論是以集合代數(shù)理論為基礎的,因此,我們 關系的定為了從集出,先域和 。1.域(域是一自然數(shù)、整數(shù)、{男、女}、{0、關系中D1={李麗,王平,劉偉D2={男,女其中D1,D2,D3為,分別表示教師關系中 的集 積(Cartesian積定義3.1給定一組集合D,D2,…,Dn,它們可以是相同的。D1,D2,…,Dn的 D1×D2×…×Dn={(d1,d2,…,dn)|diDi,所有域的 積(Cartesian例給出域:D1=SUPERVISOR={張清玫,劉}D1×D2×D3(張清玫,計算機專業(yè),王敏),(張清玫,信息專業(yè),李勇),(張清玫,信息專業(yè),劉晨),(張清玫,信息專業(yè),王敏),(劉逸,計算機專業(yè)李勇),(劉逸,計算機專業(yè)劉晨),(劉逸,信息專業(yè),劉晨),(劉逸,信息專業(yè),王敏) 積(Cartesian2元組積中每一個元素(d1,d2,…,dn)叫做一個n(n-tuple)或簡稱3)分量 例張清玫,計算機專 331)3.2D1×D2×…×DnD1,D2,…,Dn上的一個關系。N叫做關系的目或度2)元組關系中的每一行對應一個元組,通常用t每一列對應一個域。關系中的列稱為屬性,每一列用屬性t[Ai]表示元組t在屬性Ai上的值3)一元當n=1時,稱該關系為一元關系(Unary當n=2時,稱該關系為二元關系(Binary 關例如在上例的 積中取出有實際意義的元組來構SAP(SUPERVISOR,SPECIALITY,假導師與專業(yè):1:1(即一個導師只能對一個專業(yè)導師與:1:n(一個只能遵從一個導師于是:SAPSAP玫玫玫關嚴格地說,關系是一種規(guī)范化了的二維表中行的集合按照定義,由 積不 換律,所

(d1,…di,dj,…dn)=(d1,…dj,di,…dn),(i,j=1,2,…,n)。規(guī)范化的關系的每一列中的分量是同一類型的數(shù)據(jù)其中的每一列稱為一個屬性,不同的屬性要給予不列的次 規(guī)范化的關系的性質(續(xù)④各個元組是不同的,即關系中不允許出現(xiàn)重復元有些數(shù)⑤行的順序無所謂,即行的次序可以任意交 每一個這是規(guī) 3.1.23.1.2關系的型稱為關系模式(Relation關聯(lián)關系關系模式一般簡記為關系名和屬性名的集如關系模式可描述為(書號,書名,作者,單價,關系的關系模式3.1.23.1.2R={R1,R2,,Rp} 鍵關系中能夠起標識作用的鍵稱為候在一個關鍵作為主鍵(primary若關系的鍵由多個屬性組成,稱為聯(lián)合關系的 完整性約關系模型為了數(shù)據(jù)庫中數(shù)據(jù)與現(xiàn)實世界的一致性,對關系數(shù)據(jù)庫的插入、刪除和修改操作必須有一定的約束條實體完通常由關系系統(tǒng)自動支參照完整通常由用戶定

?用戶定義后由系統(tǒng)支 完整性約1實體完整性約束(EntityIntegrityConstraint實體完整性是指主鍵的值不能為空或實體完整 關系模型必須遵守實體完整性規(guī)則的原(1)實體完整性規(guī)則是針對基本關系而言(3)相應地,關系模型中以主鍵作為唯(4)主鍵中的屬性即主屬性不能取空值主屬性取空值,說明存在某個不可標識的實體,(2)相因此這 參照完整性約參照完整性約束是對關系中作為外鍵的值的約束外主 學生

5-

計算

班計算

班 人 計1 主鍵/外鍵(ForeignKey,FKA表中的某個屬性(組)是B表中 參照完整性約參照完整性約束(ReferenceIntegrityConstraint)是設F是基本關系R的一個或一組屬性,但不是關系R的基本關系R稱為參照關系 Relation),基本關系稱為被參照關系(ReferencedRelation)或目標說明:關系R和SS的主鍵Ks和R的外鍵F必須定義在同一個或組域外鍵并 參照完整性約用關系來描述實體及實體間的聯(lián)系,因此關系模型中學生關系中每個元組的“專業(yè)號”只取下面兩類值空值,表示尚未給該學生分配專即學生關系中的某個屬性的取值需要參照專業(yè)關系中的屬性

男男男女男關系選修(學號,課程號,成績

課程號課程 數(shù)據(jù)結 編

三 四 五 六 七

25關系例學生實體及其內部 聯(lián)系(一對多學生(學號 ,專業(yè)號 ,班長學號專業(yè)班801 女 0119802802 男 0120803 男 0120802804 女 0220805805 錢 0219“班長”屬性值可以取2/14非空值,這時該值必須是本關系中某個元組的學號值用戶定義的完整不同的關系數(shù)據(jù)庫系統(tǒng)由于應用環(huán)境的不同,往往還需要一些特殊的約束條件,這就是用戶定義完整性(User-definedIntegrity)用戶定義的完整性是針對某一具體關系數(shù)據(jù)庫的約束條件,反映某一具體應用所涉及的數(shù)據(jù)必須滿足的語例如,屬性值根據(jù)實際需要,要具備一些約束條件如選課關某些數(shù)關系模型應該提供定義和檢驗這類完整性的機制,以便用統(tǒng)一的、系統(tǒng)的方法處理它們,而不要由用程序承擔 能 第3第3章3.13.2關系代3.3元組關系3.4域關系演3.5小 3.2關系代3.2.0關系代3.2.1傳統(tǒng)的集并、差、交、廣 3.2.2專門的選擇、投影、連接、3.2.3擴充的關屬性重命名、外連3.2.43.2.5ISBL語言(略 1一種抽象2.關系運算對運算結運算 3.2.0關系按運算符的不同,關系代數(shù)運算的分傳統(tǒng)的集并、差、交、廣義把關系看成元組的集合,以元組作為集合中元素來進行運算,其運算是從關系的“水平”方向即行的角度進行的專門的選擇、投影、連接 3.2關系代3.2.0關系代3.2.1傳統(tǒng)的集并、差、交、廣 3.2.2專門的選擇、投影、連接、3.2.3擴充的關屬性重命名、外連3.2.43.2.5ISBL語言(略 并并R和具有相同的目n(即兩個關系都有n個屬性相應的仍為n目關系,由屬于R或屬于SR∪S={t|tR∨tSABCABCABCABC 差差R和具有相同的目相應的仍為n目關系,由屬于R而不屬于SR-S={t|tR∧tSABCABCABC

ABABC交交R和具有相同的目相應的仍為n目關系,由既屬于R又屬于SR∩S={t|tR∧tSR∩S=R–(R-ABCABCABC

R∩ABABC積關系R和S的 積為R中所有元組和S中所有元組R:n目關系,k1個元S:m目關系,k2列:(n+m)元組的前n列是關系R的一個元后m列是關系S的一個行:k1×k2個元R×S={trts|trR∧tsS 積(續(xù)ABCABCABABC

R×ABABCABC3.2關系代3.2.0關系代3.2.1傳統(tǒng)的集并、差、交、廣 3.2.2專門的選擇、投影、連接、3.2.3擴充的關屬性重命名、外連3.2.43.2.5ISBL語言(略 (1)設關系模式為R(A1,A2,…,An),它的一個關系設為RtR表示t是Rt[Ai]則表示元組t中相應于屬性Ai的一個 是A1,A2,…,An中的一部分,則At[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元組t在屬性列上諸分量的集合 (3)trR為n目關系,S為m目關系。trR,tsStrts稱為元組的連接。它是一個n+m列的元組,前n個分量 選擇選擇運算是關系上的一元運算,是從關系中選擇滿足F(R)={tt∈Rt(F)F是限定條件的布爾表達式,由邏輯算符(、、連接比較表達式上式表示在關系R中選擇使t(F)選擇運算是從行的角度進行的運 11選擇[例]查詢信息系(IS系)結果

σSdept='IS'學S所在男女女張男SS女張男11選擇[例]結

σSage<學S男女女張男::S女女張男投影投影x(R)={t[X]|其中,是投影算符,X是模式R屬性的子集,t[X]從R投影操但投影之后不僅取消了原關系中的某些列,而且還 投影 結果學學S男女女男 連接連接運算是把二個關系中的元組按條件連接起來,形成條件連自然連條件連接也稱連接,是將二個關系中滿足條件的元組設屬性A和B分別是關系R和S上的屬性,且定義在同其中,是連接符,AB為連接條件。 連接(續(xù)ABC5ABC568BE3722[例ACEACE5756768 連接條件 最常用的連接是二個屬性值的相等比θ為“=”的連接運算稱為等值連 BE3BE3722ABC568等值連R

ACACE5367882 連接連接自然連接(Natural 自然連接是一種特殊的等值連接;它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結 BE3BE3722ABC568等值連R

ACACE5367882

自然連 AA CE5367882連接(續(xù)ABABC568BC5588E3722自然連 BCE BCE35882連接一般的連接操作是從行的角度進行運RS 44除運算若RS,要求R和S設R(X,Y),S(Y),R’(X)。則RSRS=R'={t|tR'∧tr∈R∧ts∈S∧tr[R']=t∧tSR 除運算選修了C1結果集是R的屬性中去掉與S選修了C1舉例說明

同時選修了同時選修了C2和課的所有除除操作除運算可用下式表R÷S=X(R)X(X(R)?S上式中,X為R中除去與S屬性相同的其余屬R÷÷S 除除ABCABC

ABCABCD(參考)4.除運算象集 :給定一個關系R(X,Z),X和Z為屬性組.t[X]=x時,x在R中的象集(ImagesSet)為Zx={t[Z]|tABCABC例:在關系RA可以取四個值a1的象集為a2的象集為a3的象集為a4的象集為(參考)4.除運算給定關系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性R÷S={tr[X]|trRY(S)Yx}①Yx①Yx:x在R中的②Y③Y(S)Yx(參考(參考4除[例]設關系R,S分別如下,求ABCABCBCD Yx:x在R中的 Y(S)②Yx④分析:在關系R中,A可以取四個值a的象集為{(b,c),(b,c),(b,c BC )a2的象集為a3的象集為 a4的象集為S在(B,C)上的投影BCDb1)2{(b1,c2),(b2,c1),(b2,c3)只有a1的象集包含了S在(B,C)屬性組上所以R÷S={a 1 (參考4除以學生-課程數(shù)據(jù)庫為例,查詢至少選修1號課程和3號1313Sno,學課程成學課程成323 95001象集95002象集于是: 擴充的關系運 屬性重設r是模式R上的一個關系,A是RB為屬性名,B不是R中的屬性,B和Ar'(R')=重命名后的關系r'可表示【例3-7】把學生關系中的學號 Sno和Sname命名為Sno’和Sname’Sno,SnameSno',Sname' 3.2.3擴充的關系運 屬性重命名(續(xù)重命名通過屬性重命名運算,可在同一做同一個關系 將兩個關系的等值連接方便地表示為 擴充的關系運2.外連接(interjoin),還有一種連接稱為外連接。外連接(outerjoin)是對自然連接運算的擴展。外左外連左外連接的連接結果中包含了關系R(左邊關系)中性上的值為空值,記為:RLS 3.2.3擴充的關系運 外連接(續(xù)右外右外連接的連接結果中包含了關系S(右邊關系)中性上的值為空值,記為:RRS完全外果的并,記為:RFS。 左外SELECTbuyer_name,sales.buyer_id,FROMbuyersLEFTOUTERJOINsalesONbuyers.buyer_id=sales.buyer_id buyer_id Adam Sean Eva Erin

buyer_name

AdamBarrAdamBarrErinO’MeliaEvaCoretsErinO’MeliaSeanChai

1434

5 3.2.4 S劉明男計算李和男外女計算張小女數(shù)Sno,Sname(Sdept=‘計算 舉]學號課程號成績323Sno(σCno='2'(SC) 3.2.43.2.4【例3-10】檢索選修了C1課的學。S男男外女女數(shù)sname(Cno='C1'(SC))sname(Cno=‘C1’(sc.sno=student.sno 3.2.4【例3-11】檢索不選C1課的學生信息S劉明男李和男外女女數(shù)Student–(Sno(Cno='C1'(SC)) 舉學號成32313[例]查詢至少選修1號課程和3學號成32313然后Sno,于是:Sno, 3.2.4【例3-12C計算英外計算數(shù)數(shù) 3.2.4 【例3-14】刪除學生‘劉明亮’選修SC(Sno(Sname=‘劉明亮‘(Student))SCCno(Cname=‘ 舉課程課程先行學數(shù)據(jù)數(shù)信息系操作課程課程先行學數(shù)據(jù)數(shù)信息系操作系5數(shù)據(jù)結746數(shù)據(jù)處2764S男S男1

Sname(Sno(σCpno='5'

Sno,Sname 舉學學S男課程學1數(shù)據(jù)54學課程成1 o(SC)÷ 3.2.4【例3-15】檢索 ‘(Sname,Sno',Sname'(Student 在對學生關系中的學號 重命名后,只有屬2013/10/14Sdept是相同的,自然連接的結果為系相同的學生信 3.2.43.2.4 3.2.4操作查詢:查詢的表達能力是其中最重要選擇(select),投影(project),連接(join),除(devide), 積關系操集合操一次一集非關系數(shù)

一次一3.2.4交運算可連接運除運算R÷S=X(R)X(X(R)上式中,X為R中除去與S 3.2關系代關系代數(shù)關系代數(shù)并、差、交 積、投影、選擇、連接、基本運并、差 積、投影、選引進它們關系代數(shù)關系代數(shù)運算經有限次復合后形成的式 第3第3章3.13.2關系代3.3元組關系3.4域關系演3.5小 用對關系典型代關系演算語言:用謂詞來表達查詢要按謂詞變元組關謂詞變元的基本對象是典型代表:APLHA,域關系謂詞變元的基本對象是典型代表 元組關系演算語言由E.F.Codd提INGRES所用的QUEL語言是參照ALPHA語言研制的,這一語言并沒有實際實現(xiàn)。ALPHA操作<工作空間名表達式操作條 元組關系演算語言元組關系演算語言–例:查詢所有被選修的GET GET 例:查詢信息系(IS)中小于20的學生學號GETWStudent.Sdept='IS'∧ GETW

元組關系演算語言元組關系演算語言修改操作①用HOLD語句將要修改的元組從數(shù)據(jù)庫中讀到工作HOLD工作空間名(表達式1)[:操作條件]③用UPDATE語句將修改后的元組送回數(shù)據(jù)UPDATE工作空 修改]HOLDW(Student.Sno,(從Student關系中讀出95007學生的數(shù)據(jù)MOVE'IS'TO(用宿主語言進行修改UPDATE(把修改后的元組送回Student關系 步步②用PUT語句把該元組存入指定關系PUT工作空間名(關系名PUT語句只對一個 插入[例]學校新開設了一門2學分的課計算機組織與結構”,其課程號為8,直接先行課為6號課程。插入該MOVE MOVE'計算機組織與結構'TO MOVE'6'TOW.CpnoMOVE'2'TOW.CcreditPUTW(Course) 刪除HOLD語句把要刪除的元組從數(shù)據(jù)庫中讀到工作②用DELETE語句刪DELETE工作空[例]95110學生因故退學,刪除該學生元組。HOLDW(StudentStudent.Sno='95110'DELETEW 域關系演算語言域關系演算語言l由M.M.Zloof1978年在IBM370上得以QBE QBE:QueryBy基于屏查詢要用示例元素(域變量)查詢結果:以表格形式 QBE操作框關關系屬性操作命 元組屬性值或查詢條件或操作命 檢索用戶提出屏幕顯示用戶在最左邊一欄輸入要查詢的關系名, 檢索S(5)SC(6)屏SC 修改[例]學生改為歲。方法修改[例]學生SU.方法(2):將操作符“U.”放在關系S碼95001標明要修改的元組?!皹嗣魉诘男惺切薷暮蟮男轮?Monday由于主碼是不能修改的,所以系統(tǒng)不會要修改的屬性修改[例14]把95001學生 增加1S 插入[例]把信息系 S女 刪除[例17]刪除學生S 關系數(shù)據(jù)語言的關系代關系數(shù)據(jù)語言的關系數(shù)據(jù)語 關系演算語

元組關系演算域關系演算

溫馨提示

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

評論

0/150

提交評論