




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
金鑫
吳靖
主編
唐小毅
馬燕林
參編數(shù)據(jù)庫原理及應用(Access2021版)2.1數(shù)據(jù)模型2.5關(guān)系數(shù)據(jù)操作基礎2.2關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)2.4E-R模型向關(guān)系模型的轉(zhuǎn)換2.3關(guān)系數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫規(guī)范化第2章
關(guān)系模型和關(guān)系數(shù)據(jù)庫2.3.1關(guān)系數(shù)據(jù)庫
2.3.2關(guān)系數(shù)據(jù)庫規(guī)范化
2.3.3關(guān)系數(shù)據(jù)完整性規(guī)則
2.4.1實體轉(zhuǎn)換為關(guān)系模式2.4.2實體之間聯(lián)系的轉(zhuǎn)換2.5.1集合運算
2.5.2關(guān)系運算1.層次數(shù)據(jù)模型層次數(shù)據(jù)模型(HierarchicalDataModel)的基本結(jié)構(gòu)是一種倒掛樹狀結(jié)構(gòu),如圖所示。這種樹結(jié)構(gòu)很常見,例如,Windows系統(tǒng)中的文件夾和文件結(jié)構(gòu)、一個組織的結(jié)構(gòu)等。2.網(wǎng)狀數(shù)據(jù)模型取消層次數(shù)據(jù)模型的兩個限制條件,每一個結(jié)點可以有多個父結(jié)點,從而形成了網(wǎng)狀數(shù)據(jù)模型(NetworkDataModel)。2.1數(shù)據(jù)模型3.關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型是一個滿足一定條件的二維表格。3.元組表(關(guān)系)的每一行稱為一個元組(Tuple)。1.關(guān)系關(guān)系(Relation)即一個二維表格。2.2關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)2.屬性表(關(guān)系)的每一列必須有一個名字,稱為屬性(Attribute)。4.域表(關(guān)系)的每一屬性有一個取值范圍,稱為域(Domain)。域是一組具有相同數(shù)據(jù)類型的值的集合。7.關(guān)系模式關(guān)系模式(RelationalSchema)是對關(guān)系數(shù)據(jù)結(jié)構(gòu)的描述。簡記為關(guān)系名(屬性1,屬性2,屬性3,…,屬性n)5.關(guān)鍵字關(guān)鍵字又稱主屬性,可以唯一地標識一個元組(一行)的一個屬性或多個屬性的組合??梢云鸬竭@樣作用的關(guān)鍵字(Key)有兩類:(1)主關(guān)鍵字(2)候選關(guān)鍵字2.2關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)6.外部關(guān)鍵字如果某個關(guān)系中的一個屬性或?qū)傩越M合不是所在關(guān)系的主關(guān)鍵字或候選關(guān)鍵字,但卻是其他關(guān)系的主關(guān)鍵字,對這個關(guān)系而言,則稱其為外部關(guān)鍵字(ForeignKey)。2.2關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)倉庫號倉庫名地點面積WH1興旺上海390WH2廣發(fā)長沙460WH3紅星昆明500WH4奧盛蘭州280WH5高利長春300WH6中財北京600概念模型關(guān)系模型DBMS用戶概念模型關(guān)系數(shù)據(jù)庫表二維表格實體元祖記錄行屬性屬性字段列鍵關(guān)鍵字(主屬性)主關(guān)鍵字實體性關(guān)系模式2.3關(guān)系數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫規(guī)范化按照關(guān)系數(shù)據(jù)模型建立的數(shù)據(jù)庫稱為關(guān)系數(shù)據(jù)庫,關(guān)系數(shù)據(jù)庫規(guī)范化原則是用來確保數(shù)據(jù)正確、有效的一組規(guī)則。本節(jié)討論關(guān)系數(shù)據(jù)庫的建立以及關(guān)系數(shù)據(jù)庫規(guī)范化。
2.3.1關(guān)系數(shù)據(jù)庫
關(guān)系數(shù)據(jù)庫是以關(guān)系模型為基礎的數(shù)據(jù)庫,它利用關(guān)系描述現(xiàn)實世界中的對象。一個關(guān)系既可用來描述一個實體及其屬性,也可用來描述實體間的聯(lián)系。關(guān)系數(shù)據(jù)庫是由一組關(guān)系組成的,針對一個具體問題,應該如何構(gòu)造一個適合于它的數(shù)據(jù)模式,即應該構(gòu)造幾個關(guān)系?每個關(guān)系由哪些屬性組成?這就是關(guān)系數(shù)據(jù)庫邏輯設計要討論的問題。
2.3.2關(guān)系數(shù)據(jù)庫規(guī)范化
1.函數(shù)依賴及其對關(guān)系的影響學號姓名性別出生日期專業(yè)010001AF010100會計010002BF041101注會010003CM051800會計010004DF091200會計學號姓名性別出生日期專業(yè)學院院長010001AF010100會計會計學院Z010002BF041101注會會計學院Z010003CM051800會計會計學院Z010004DF091200會計會計學院Z00005EM121201信管信息學院W010006FF101100信管信息學院W設計出如下關(guān)系模式:STUDENT2(學號,姓名,性別,出生日期,專業(yè),學院,院長)1)數(shù)據(jù)冗余太大:例如,院長的姓名會重復出現(xiàn),重復的次數(shù)與該學院學生的人數(shù)相同。
2.3.2關(guān)系數(shù)據(jù)庫規(guī)范化
2)更新異常(UpdateAnomalies):例如,某學院更換院長后,系統(tǒng)必須修改與該學院學生有關(guān)的每一個元組。3)插入異常(InsertionAnomalies):例如,一個學院剛成立,尚無學生,則這個學院及其院長的信息就無法存入數(shù)據(jù)庫。4)刪除異常(DeletionAnomalies):例如,某個學院的學生全部畢業(yè)了,在刪除該學院學生信息的同時,也把這個學院的信息(學院名稱和院長)全部刪除了。如果刪除一組屬性,帶來的副作用可能是丟失了一些其他信息。2.規(guī)范化范式
(1)1NF 關(guān)系模式都滿足第一范式,即符合關(guān)系定義的二維表格(關(guān)系)都滿足第一范式。列的取值只能是原子數(shù)據(jù);每一列的數(shù)據(jù)類型相同,每一列有唯一的列名(屬性);列的先后順序無關(guān)緊要,行的先后順序也無關(guān)緊要。(2)2NF關(guān)系的每一個非關(guān)鍵字屬性都完全函數(shù)依賴于關(guān)鍵字屬性,則關(guān)系滿足第二范式。第二范式要求每個關(guān)系只包含一個實體集的信息,所有非關(guān)鍵字屬性依賴于關(guān)鍵字屬性。每個以單個屬性作為主鍵的關(guān)系自動滿足第二范式。(3)3NF關(guān)系的所有非關(guān)鍵字屬性相互獨立,任何屬性其屬性值的改變不應影響其他屬性,則該關(guān)系滿足第三范式。一個關(guān)系滿足第二范式,同時沒有傳遞依賴,則該關(guān)系滿足第三范式。
2.3.2關(guān)系數(shù)據(jù)庫規(guī)范化
實體完整性規(guī)則:是指保證關(guān)系中元組唯一的特性。通過關(guān)系的主關(guān)鍵字和候選關(guān)鍵字實現(xiàn)。
域完整性規(guī)則:是指保證關(guān)系中屬性取值正確、有效的特性。例如,定義屬性的數(shù)據(jù)類型、設置屬性的有效性規(guī)則等。
參照完整性規(guī)則:參照完整性與關(guān)系之間的聯(lián)系有關(guān),包括插入規(guī)則、刪除規(guī)則和更新規(guī)則。
用戶定義完整性規(guī)則:是指為滿足用戶特定需要而設定的規(guī)則。在關(guān)系數(shù)據(jù)完整性規(guī)則中,實體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱為是關(guān)系的兩個不變性,由關(guān)系系統(tǒng)自動支持。
2.3.3關(guān)系數(shù)據(jù)完整性規(guī)則
E-R模型向關(guān)系模型轉(zhuǎn)換要解決的問題是如何將實體以及實體之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,如何確定這些關(guān)系模式的屬性和主關(guān)鍵字(這里所說的實體更確切地說是實體集)。
2.4E-R模型向關(guān)系模型的轉(zhuǎn)換E-R模型的表現(xiàn)形式是E-R圖,由實體、實體的屬性和實體之間的聯(lián)系3個要素組成。從E-R圖轉(zhuǎn)換為關(guān)系模式的方法是:為每個實體定義一個關(guān)系,實體的名字就是關(guān)系的名字;實體的屬性就是關(guān)系的屬性;實體的鍵是關(guān)系的主關(guān)鍵字。用規(guī)范化準則檢查每個關(guān)系,上述設計可能需要改變,也可能不用改變。依據(jù)關(guān)系規(guī)范化準則,在定義實體時就應遵循每個實體只有一個主題的原則。實體之間的聯(lián)系轉(zhuǎn)換為關(guān)系之間的聯(lián)系,關(guān)系之間的聯(lián)系是通過外部關(guān)鍵字來體現(xiàn)的。
2.4.1實體轉(zhuǎn)換為關(guān)系模式1.一對一聯(lián)系的轉(zhuǎn)換【例2-1】
本例的需求分析和E-R模型見第1章【例1-2】。關(guān)系模式一:公司(公司編號,公司名稱,地址,電話)總經(jīng)理(經(jīng)理編號,姓名,性別,出生日期,民族,公司編號)關(guān)系模式二:公司(公司編號,公司名稱,地址,電話,經(jīng)理編號)總經(jīng)理(經(jīng)理編號,姓名,性別,出生日期,民族)注意:其中斜體內(nèi)容為外部關(guān)鍵字。
2.4.2實體之間聯(lián)系的轉(zhuǎn)換
2.一對多聯(lián)系的轉(zhuǎn)換【例2-2】
本例的需求分析和E-R模型見第1章【例1-4】。關(guān)系模式:倉庫(倉庫號,倉庫名,地點,面積)員工(員工號,姓名,性別,出生日期,工資,倉庫號)
【例2-3】
考慮學生畢業(yè)設計中的指導教師和學生的情況。(1)需求分析學校使用數(shù)據(jù)庫來管理學生畢業(yè)設計時的教師和學生數(shù)據(jù)。畢業(yè)設計時,一名教師指導多位學生,每位學生必須有一名教師指導其畢業(yè)設計論文。(2)E-R模型E-R圖如圖2-2所示。實體型如下:教師(教師號,姓名,院系,電話)學生(學號,姓名,性別,出生日期,所屬院系)(3)關(guān)系模型的表示方法教師(教師號,姓名,院系,電話)學生(學號,姓名,性別,出生日期,所屬院系,教師號)
2.4.2實體之間聯(lián)系的轉(zhuǎn)換
2.4.2實體之間聯(lián)系的轉(zhuǎn)換
【例2-3】
考慮學生畢業(yè)設計中的指導教師和學生的情況。3.多對多聯(lián)系的轉(zhuǎn)換【例2-4】
學生和社團問題。需求分析和E-R模型見第1章【例1-5】。(1)對應社團實體和學生實體分別建立社團關(guān)系和學生關(guān)系社團(編號,名稱,地點,電話)學生(學號,姓名,性別,出生日期,所屬院系)(2)建立第三個關(guān)系表示社團關(guān)系與學生關(guān)系之間具有m∶n聯(lián)系綜上所述得到的關(guān)系模型的關(guān)系模式:社團(編號,名稱,地點,電話)學生(學號,姓名,性別,出生日期,所屬院系)成員(編號,學號)
2.4.2實體之間聯(lián)系的轉(zhuǎn)換
【例
2-5】
學生與選修課程之間的情況。每個學生會選擇多門課程,每門課程也對應多名學生選修。需求分析和E-R模型見第1章【例1-6】和圖1-12。聯(lián)系類型方法1:1一個關(guān)系的主關(guān)鍵字置于另一個關(guān)系中1:n父關(guān)系(一方)的主關(guān)鍵字置于子關(guān)系(多方)中m:n分解成兩個1:n關(guān)系。建立“紐帶關(guān)系”,兩個父關(guān)系的關(guān)鍵字置于紐帶關(guān)系中,紐帶關(guān)系是兩個父關(guān)系的字關(guān)系4.多元聯(lián)系E-R模型轉(zhuǎn)換為關(guān)系模型【例2-6】
倉庫-員工-訂單-供應商。需求分析和E-R模型見第1章
【例1-7】和圖1-13。本例的E-R數(shù)據(jù)模型轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型的步驟如下。(1)首先為每個實體建立與之相對應的關(guān)系倉庫(倉庫號,倉庫名,地點,面積)員工(員工號,姓名,性別,出生日期,婚否,工資)訂單(訂購單號,訂購日期,金額)供應商(供應商號,供應商名,地址)(2)分別處理每兩個關(guān)系之間的聯(lián)系綜上所述,得到如下關(guān)系數(shù)據(jù)模型:倉庫(倉庫號,倉庫名,地點,面積)員工(員工號,姓名,性別,出生日期,婚否,工資,倉庫號)訂單(訂購單號,訂購日期,金額,員工號,供應商號)供應商(供應商號,供應商名,地址)
2.4.2實體之間聯(lián)系的轉(zhuǎn)換
關(guān)系是集合,關(guān)系中的元組可以看做是集合的元素。因此,能在集合上執(zhí)行的操作也能在關(guān)系上執(zhí)行。
關(guān)系代數(shù)是一種抽象的查詢語言,是關(guān)系數(shù)據(jù)操縱語言的一種傳統(tǒng)表達方式,它是用對關(guān)系的運算來表達查詢的。關(guān)系代數(shù)是封閉的,也就是說,一個或多個關(guān)系操作的結(jié)果仍然是一個關(guān)系。關(guān)系運算分為傳統(tǒng)的集合運算和專門的關(guān)系運算。
2.5關(guān)系數(shù)據(jù)操作基礎1.并運算關(guān)系A和關(guān)系B的并運算是指把A的元組與B的元組加在一起構(gòu)成新的關(guān)系C。元組在C中出現(xiàn)的順序無關(guān)緊要,但必須去掉重復的元組,即關(guān)系A和關(guān)系B并運算的結(jié)果關(guān)系C由屬于A和屬于B的元組構(gòu)成,但不能有重復的元組,并且仍具有n個屬性。關(guān)系A和關(guān)系B的并運算記作:A∪B或A+B。
2.5.1集合運算
2.差運算關(guān)系A和關(guān)系B差運算的結(jié)果關(guān)系C仍為n目關(guān)系,由只屬于A而不屬于B的元組構(gòu)成。關(guān)系A和關(guān)系B差運算記作:A-B。注意,A-B與B-A的結(jié)果是不同的。3.交運算關(guān)系A和關(guān)系B交運算形成新的關(guān)系C,關(guān)系C由既屬于A同時又屬于B的元組構(gòu)成并仍為n個屬性。關(guān)系A和關(guān)系B交運算記作:A∩B。
2.5.1集合運算
4.積運算
如果關(guān)系A有m個元組,關(guān)系B有n個元組,關(guān)系A與關(guān)系B的積運算是指一個關(guān)系中的每個元組與另一個關(guān)系中的每個元組相連接形成新的關(guān)系C。關(guān)系C中有m×n個元組。關(guān)系A和關(guān)系B積運算記作:A×B。
2.5.1集合運算
【例2-7】
設有關(guān)系R1和R2,如表2-6和表2-7所示。R1中是K社團學生名單;R2中是L社團學生名單。學
號姓
名性
別001AF008BM101CF600DM學
號姓
名性
別001AF101CF909EM學
號姓
名性
別001AF008BM101CF600DM909EM學
號姓
名性
別008BM600DM學
號姓
名性
別001AF101CF1.投影
投影操作是指從一個或多個關(guān)系中選擇若干個屬性組成新的關(guān)系。投影操作取的是垂直方向上關(guān)系的子集(列),即投影是從關(guān)系中選擇列。投影可用于變換一個關(guān)系中屬性的順序。
2.5.2關(guān)系運算
2.選擇
選擇操作是指從關(guān)系中選擇滿足一定條件的元組。選擇取的是水平方向上關(guān)系的子集(行)。3.連接連接操作是兩個關(guān)系的積、選擇和投影的組合。連接操作是從兩個關(guān)系的笛卡兒積中選擇屬性間滿足一定條件的元組的運算?!纠?-8】
關(guān)系student如表2-11所示,在此關(guān)系上的投影操作和選擇操作示例如表2-12和表2-13。
2.5.2關(guān)系運算
學
號姓
名性
別出生日期黨
員
否出
生
地183501438劉昕女02/28/00.T.北京183501437顏俊男08/14/00.F.山西183501433王倩女01/05/99.F.黑龍江183506122李一女06/28/00.F.山東183505235張舞男09/21/99.F.北京183501412李竟男02/15/00.F.天津183502112王五男01/01/99.T.上海183510228趙子雨男06/23/00.F.河南1)從關(guān)系student中選擇部分屬性構(gòu)成新的關(guān)系st1的操作稱為投影,關(guān)系st1如表所示。
2.5.2關(guān)系運算
學
號姓
名出生日期出
生
地183501438劉昕02/28/00北京183501437顏俊08/14/00山西183501433王倩01/05/99黑龍江183506122李一06/28/00山東183505235張舞09/21/99北京183501412李竟02/15/00天津183502112王五01/01/99上海183510228趙子雨06/23/00河南2)從關(guān)系student中選擇部分元組構(gòu)成新的關(guān)系st2的操作稱為選擇,關(guān)系st2如表所示。
2.5.2關(guān)系運算
學
號姓
名性
別出生日期黨
員
否出
生
地183501437顏俊男08/14/00.F.山西183505235張舞男09/21/99.F.北京183501412李竟男02/15/00.F.天津183502112王五男01/01/99.T.上海183510228趙子雨男06/23/00.F.河南【例2-9】
關(guān)系A(如表2-14所示)與關(guān)系B(如表2-15所示)的等值連接,結(jié)果如表2-16所示。
2.5.2關(guān)系運算
ADFE2D26E2D38E3D410E3D516BD4D17D212D22D52D6AA.DFBB.DE2D267D2E2D2612D2E3D5162D5【例2-10】
關(guān)系A(如表2-14所示)與關(guān)系B(如表2-15所示)的自然連接,結(jié)果如表所示。
2.5.2關(guān)系運算
ADFBE2D267E2D2612E3D5162【例2-11】
關(guān)系A與關(guān)系B的左外連接,結(jié)果如表2-18所示。
2.5.2關(guān)系運算
ADFBE2D267E2D2612E2D38NULLE3D410NULLE3D5162【例2-12】
關(guān)系A與關(guān)系B的右外連接,結(jié)果如表2-19所示。
2.5.2關(guān)系運算
AFBDNULLNULL4D1E267D2E2612D2E3162D5NULLNULL2D6【例2-13】
關(guān)系A與關(guān)系B的全連接,結(jié)果如表2-20所示。
2.5.2關(guān)系運算
AA.DFBB.DE2D267D2E2D2612D2E2D38NULLNULLE3D410NULLNULLE3D5162D5NULLNULLNULL4D1NULLNULLNULL2D62.6習題1.選擇題1)關(guān)系型數(shù)據(jù)庫中的“關(guān)系”是指(
)。A.各個記錄中的數(shù)據(jù)彼此間有一定的關(guān)聯(lián)關(guān)系B.數(shù)據(jù)模型符合滿足一定條件的二維表格式C.某兩個數(shù)據(jù)庫文件之間有一定的關(guān)系D.表中的兩個字段有一定的關(guān)系2)用二維表來表示實體及實體之間聯(lián)系的數(shù)據(jù)模型是(
)。A.關(guān)系模型 B.層次模型C.網(wǎng)狀模型 D.實體-聯(lián)系模型3)關(guān)系數(shù)據(jù)庫系統(tǒng)能夠?qū)崿F(xiàn)的3種基本關(guān)系運算是(
)。A.索引,排序,查詢
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學英語名詞變復數(shù)知識總結(jié)練習
- 影視廣告設計的敘事技巧研究試題及答案
- 社會媒體對設計傳播的影響試題及答案
- 助理廣告師考試案例分享與分析試題及答案
- 梨園醫(yī)院筆試題目及答案
- 如何在廣告設計中實施反饋循環(huán)機制試題及答案
- 2024年紡織品檢驗員考試考生分享經(jīng)驗試題及答案
- 2024年商業(yè)美術(shù)設計師創(chuàng)意設計考題及答案
- 2024年設計師考試創(chuàng)作思路指導試題及答案
- 國畫審美測試題及答案
- 第二章中國體育產(chǎn)業(yè)的發(fā)展與現(xiàn)狀
- 靜脈炎的護理 課件
- DB3303T078-2024規(guī)模以上工業(yè)企業(yè)健康評價指標體系
- 特種作業(yè)合同協(xié)議
- 社工證考試試題及答案
- 2025年云南專升本招生計劃
- 汽車營銷專業(yè)畢業(yè)論文
- 2025年中國VOC治理市場深度評估研究報告
- 2025年寬帶網(wǎng)絡拓展合作協(xié)議書
- 《工程勘察設計收費標準》(2002年修訂本)
- 太湖縣趙氏宗譜編纂理事會章程
評論
0/150
提交評論