




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
cocktail74@1第2章關(guān)系數(shù)據(jù)庫江西先鋒軟件職業(yè)技術(shù)學(xué)院主講:王浩本章主要內(nèi)容
1、關(guān)系模型的主要術(shù)語
2、關(guān)系的運(yùn)算
3、模型轉(zhuǎn)換
4、關(guān)系的完整性
5、關(guān)系數(shù)據(jù)庫設(shè)計(jì)實(shí)例
關(guān)系數(shù)據(jù)結(jié)構(gòu)二維表選擇、投影、連接等關(guān)系運(yùn)算關(guān)系操作集合關(guān)系模型插入、刪除、修改等數(shù)據(jù)操作
實(shí)體完整性關(guān)系的完整性域完整性參照完整性2.1關(guān)系模型的主要術(shù)語
2.1關(guān)系模型的主要術(shù)語
關(guān)系模型采用相互關(guān)聯(lián)而又相互獨(dú)立的多個二維表格來反映數(shù)據(jù)庫的關(guān)系。其數(shù)據(jù)的邏輯結(jié)構(gòu)就是相互關(guān)聯(lián)又相互獨(dú)立的多個二維表。表行列碼項(xiàng)關(guān)系Table記錄Record字段Field關(guān)鍵字Key數(shù)據(jù)Data
2.1關(guān)系模型的主要術(shù)語
表(關(guān)系Table):一個關(guān)系對應(yīng)于平常講的一張二維表,是具有相同性質(zhì)的記錄的集合。行(記錄Record):表中的一行稱為一條記錄。列(字段Field):表中的一列稱為字段,給每一列起一個名稱即字段名。碼(關(guān)鍵字Key):唯一地標(biāo)識一條記錄的一個或若干個字段集合。
主碼(PrimaryKey):被挑選出來作為表中記錄的唯一標(biāo)識的碼,一個表中只有一個主碼。
外碼(ForeignKey):如果兩個關(guān)聯(lián)關(guān)系中具有相容或相同的碼,當(dāng)這個碼在一個關(guān)系中是主碼,則被稱為另一個關(guān)系的外碼。外碼表示兩個關(guān)系之間的聯(lián)系。項(xiàng)Data(數(shù)據(jù)):行中的列值。2.1關(guān)系模型的主要術(shù)語字段記錄例:學(xué)生表數(shù)據(jù)主碼2.1關(guān)系模型的基本概念
例:學(xué)生選課系統(tǒng)中,其概念模型中有學(xué)生實(shí)體、課程實(shí)體以及選課聯(lián)系。學(xué)號(studentID)姓(studentName)性別(Sex)20100101張小麗女20100102王剛男20100103李平女20100104郭鵬男20100105劉翔男20100106吳飛男20100107張國強(qiáng)男20100108李國慶男2.1.2關(guān)系基本概念課程號(courseID)課程名(coursename)課程類別(typename)342101計(jì)算機(jī)基礎(chǔ)專業(yè)課342102數(shù)據(jù)庫應(yīng)用專業(yè)課342103C語言程序設(shè)計(jì)專業(yè)課342104大學(xué)英語基礎(chǔ)課342105高等數(shù)學(xué)基礎(chǔ)課學(xué)號(studentID)課程號(courseID)成績(Grade)20100102342103862010010134210179201001053421028120100107342104902010010834210192201001023421047520100107342105802010010634210170關(guān)系選課
外碼是指一個表中的某個列(非主碼)是另一個表的主碼,那么該列被稱為外碼。
關(guān)系學(xué)生
2.1關(guān)系模型的主要術(shù)語
需要關(guān)注的幾點(diǎn):1)關(guān)系中每一數(shù)據(jù)項(xiàng)不可再分,是最基本的數(shù)據(jù)單位。
2)每一列的數(shù)據(jù)項(xiàng)是同屬性的,列數(shù)根據(jù)需要而設(shè),且各列的順序是任意的。
3)每一行由一個個體事物的諸多屬性構(gòu)成,且各行的順序可以是任意的。
4)一個關(guān)系是一張二維表,不允許有相同的列名,也不允許有相同的行。
5)支持?jǐn)?shù)據(jù)獨(dú)立性,因而可維護(hù)性、可擴(kuò)展性、可重用性都比較好。
2.1關(guān)系模型的主要術(shù)語
對某個班級的學(xué)生、任課教師、課程和成績的管理,就需要用到以下3張表格:學(xué)生表、課程表、成績表。這些表雖然各自是獨(dú)立的,但又相互關(guān)聯(lián)。例:查詢孫雯同學(xué)的影視文學(xué)成績,并找出其任課老師。
1)到《學(xué)生表》姓名字段找到“孫雯”,記下她的學(xué)號[2007230317];
2)到《課程表》課程名字段找到“影視文學(xué)”,記下它的課程號[B0100260];
3)到《成績表》,在學(xué)號列找到[2007230317]集合,然后在該集合的課程列找到[B0100260],成績列就是李華偉同學(xué)的英語成績(72分)。
4)到《課程表》在課程編號字段找到[B0100260],對應(yīng)任課教師列就是大學(xué)英語的任課教師(劉建臣)。2.2關(guān)系的運(yùn)算
關(guān)系的運(yùn)算包括選擇、投影、差、并、交、乘、除、連接等。在關(guān)系運(yùn)算中,變量是關(guān)系,運(yùn)算結(jié)果仍然是關(guān)系。常用的關(guān)系運(yùn)算有:
1、選擇(select):由滿足條件的記錄組成。
2、投影(project):由某些字段的所有值組成。
3、連接(join):由多個關(guān)系通過連接條件組成。
學(xué)號姓名性別班級家庭住址聯(lián)系電話99010301劉中雨女注會北京東城6395665599020201聞書敏女金融北京懷柔8935632199020202于小麗女金融北京宣武623678352.2關(guān)系的運(yùn)算1、選擇運(yùn)算
選擇是在關(guān)系R中選擇滿足給定條件的諸記錄;選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算。
僅選出【性別】為【女】的同學(xué)信息班級姓名性別注會劉中雨女注會林天力男注會王平男注會章聞天男金融聞書敏女金融于小麗女2.2關(guān)系的運(yùn)算2、投影運(yùn)算
投影是從關(guān)系R中選擇出若干字段組成新的關(guān)系。投影運(yùn)算是從列的角度進(jìn)行的運(yùn)算。
僅選出學(xué)生的【班級】【姓名】【性別】信息(3)連接連接運(yùn)算是二元關(guān)系運(yùn)算,是從兩個關(guān)系元組的所有組合中選取滿足一定條件的元組,由這些元組形成連接運(yùn)算的結(jié)果關(guān)系。其中條件表達(dá)式涉及到兩個關(guān)系中屬性的比較,該表達(dá)式的取值為邏輯的真或假。連接運(yùn)算中最為常用的是等值連接和自然連接。等值連接是指對關(guān)系R和S中按相同屬性的等值進(jìn)行的連接運(yùn)算,而自然連接是在等值連接中去掉重復(fù)列的連接運(yùn)算。2.1關(guān)系模型的概述學(xué)號數(shù)學(xué)語文990103038072990202018860990103029188990103047265990202026870990103017580學(xué)號姓名數(shù)學(xué)語文99010301劉中雨758099010302林天力916899010303王平807299010304章聞天726599020201聞書敏886099020202于小麗6870學(xué)號姓名性別班級家庭住址聯(lián)系電話99010301劉中雨女注會北京東城6395665599010302林天力男注會北京崇文6711737899010303王
平男注會北京豐臺6372891299010304章聞天男注會北京朝陽6739135699020201聞書敏女金融北京懷柔8935632199020202于小麗女金融北京宣武623678352.2關(guān)系的運(yùn)算3、連接運(yùn)算連接運(yùn)算是二元關(guān)系運(yùn)算,是從兩個關(guān)系記錄的所有組合中選取滿足一定條件的記錄,由這些記錄形成連接運(yùn)算的結(jié)果關(guān)系。
連接【學(xué)生表】和【成績表】,從中選出學(xué)生的【數(shù)學(xué)】【語文】成績信息2.3模型轉(zhuǎn)換1、模型轉(zhuǎn)換的方法
概念模型向關(guān)系模型轉(zhuǎn)換實(shí)際就是將E-R圖轉(zhuǎn)換為關(guān)系模型,要將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式。2.3模型轉(zhuǎn)換1)模型轉(zhuǎn)換遵循的原則
(1)一個實(shí)體型轉(zhuǎn)換為一個關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。(2)一個m::n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。各實(shí)體的碼及聯(lián)系本身的屬性均轉(zhuǎn)為關(guān)系的屬性,關(guān)系的碼為各實(shí)體碼的組合。(3)一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨(dú)立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。各實(shí)體的碼及聯(lián)系本身的屬性均轉(zhuǎn)為關(guān)系的屬性,關(guān)系的碼為n端實(shí)體的碼。(4)一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨(dú)立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。(5)具有相同嗎的關(guān)系模式可合并。
【例】實(shí)體部門(編號,名稱)與實(shí)體經(jīng)理(工號,姓名)之間的任職聯(lián)系是1:1聯(lián)系。E-R模型如圖所示。將其轉(zhuǎn)換為關(guān)系模型。11部門經(jīng)理任職名稱工號編號任職日期姓名11部門(編號,名稱)經(jīng)理(工號,姓名,編號,任職日期)2.3模型轉(zhuǎn)換【例】將圖書借閱系統(tǒng)的E-R模型轉(zhuǎn)換為關(guān)系模型。
讀者編號姓名讀者類型已借數(shù)量圖書出版日期出版社編號書名定價(jià)借期還期借閱mn讀者(編號,姓名,讀者類型,已借數(shù)量)借閱(讀者編號,圖書編號,借期,還期)圖書(編號,書名,出版社,出版日期,定價(jià))2.3模型轉(zhuǎn)換2.3模型轉(zhuǎn)換2、關(guān)系模型的優(yōu)化(3NF標(biāo)準(zhǔn))(1)表內(nèi)的每一個值都只能被表達(dá)一次。
例:R1(職工,姓名,電話號碼)問題:一人可能有1個辦公室電話號碼和1個家庭電話號碼。解決辦法:將電話號碼分為辦公室電話號碼和家庭電話號碼2個屬性。改為:R1(職工,姓名,辦公室電話號碼,家庭電話號碼)2.3模型轉(zhuǎn)換2、關(guān)系模型的優(yōu)化(3NF標(biāo)準(zhǔn))(2)表內(nèi)的每一行都應(yīng)該被唯一標(biāo)識。
例:R2(學(xué)號,課程號,成績)問題:若將學(xué)號定位關(guān)鍵字,一個學(xué)生選修多門課程,沒有被唯一標(biāo)識。解決辦法:將學(xué)號、課程號組合為關(guān)鍵字。改為R2(學(xué)號,課程號,成績)2.3模型轉(zhuǎn)換2、關(guān)系模型的優(yōu)化(3NF標(biāo)準(zhǔn))(3)表內(nèi)不應(yīng)該存儲依賴于其他鍵的非鍵信息。例:R3(學(xué)號,姓名,系編號,系名稱,系地址)問題:系編號,系名稱,系地址等字段將重復(fù)存儲。解決辦法:分為2個關(guān)系。改為:R31(學(xué)號,姓名,系編號)
R32(系編號,系名稱,系地址)2.3模型轉(zhuǎn)換3、模型轉(zhuǎn)換示例課本第19頁,例2.1思考:該模型有幾個實(shí)體,分析出各實(shí)體的主碼?哪些實(shí)體間有聯(lián)系,分析該聯(lián)系是哪種類型的聯(lián)系?并指出主碼和外碼。課本第20頁,例2.2思考:該模型有幾個實(shí)體,分析出各實(shí)體的主碼?哪些實(shí)體間有聯(lián)系,分析該聯(lián)系是哪種類型的聯(lián)系?并指出主碼和外碼。課堂練習(xí):E-R圖轉(zhuǎn)換成關(guān)系模式,并指出主碼和外碼。倉庫號面積電話號碼倉庫職稱職工號姓名年齡職工開工日期項(xiàng)目號預(yù)算項(xiàng)目課堂練習(xí):將某工廠的倉庫管理E-R模型轉(zhuǎn)換為關(guān)系模型供應(yīng)商號姓名地址電話號帳號供應(yīng)商(a)某工廠物資管理實(shí)體-聯(lián)系圖(E-R圖)零件號名稱規(guī)格單價(jià)供應(yīng)商號零件倉庫號供應(yīng)商項(xiàng)目零件倉庫職工mnnmn1n入庫存儲保管出庫m課堂練習(xí):將某工廠的倉庫管理E-R模型轉(zhuǎn)換為關(guān)系模型轉(zhuǎn)換出來的關(guān)系模型倉庫(倉庫號、面積、電話號碼)零件(零件號、名稱、規(guī)格、單價(jià)、供應(yīng)商號、倉庫號)供應(yīng)商(供應(yīng)商號、姓名、地址、電話號碼、賬號)職工(職工號、姓名、年齡、職稱)項(xiàng)目(項(xiàng)目號、預(yù)算、開工日期)入庫(供應(yīng)商號、零件號)存儲(倉庫號、零件號)出庫(項(xiàng)目號、零件號)保管(倉庫號、職工號)課堂練習(xí):將某工廠的倉庫管理E-R模型轉(zhuǎn)換為關(guān)系模型2.3關(guān)系的完整性
數(shù)據(jù)的完整性有完整性規(guī)則來定義,關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件。1、實(shí)體完整性
實(shí)體完整性實(shí)施在行上。
規(guī)則:若屬性A是關(guān)系R的主屬性,則A不能取空值。解釋:在任何關(guān)系的任何一條記錄中,主屬性值的任一數(shù)據(jù)項(xiàng)都不允許為空值,而不僅是主碼不能取空。例如,在《學(xué)生表》中,因?qū)W號字段被設(shè)為主碼,不允許為空值,即每一個學(xué)生必須有一個對應(yīng)的學(xué)號。例如,在《成績表》中,學(xué)號和課程號組合成主碼,這兩個字段都不能取空值。2、域完整性(也稱用戶自定義完整性)
域完整性實(shí)施在列上。規(guī)則:由用戶針對某一具體數(shù)據(jù)庫的約束條件,把屬性限制在一個有限的集合中。解釋:它由應(yīng)用環(huán)境決定,反映了某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。如數(shù)據(jù)類型、格式、值域范圍、是否允許空值等。例如,學(xué)生的性別只能是“男”或“女”兩種可能,不能是其它值。例如,成績的取值只能限制在數(shù)字0~100之間才合乎情理。例如,年齡只能是大于“0”的正整數(shù)。2.3關(guān)系的完整性2.3關(guān)系的完整性3、參照完整性
實(shí)體與實(shí)體之間往往存在某種依存關(guān)系,這種依存關(guān)系叫做聯(lián)系。在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來描述的,這樣就自然存在著關(guān)系與關(guān)系間的引用,即關(guān)系參照的完整性。在一個關(guān)系模型中,關(guān)系R中的外碼對應(yīng)另一個關(guān)系S的主碼(關(guān)系R和S不一定是不同的關(guān)系),關(guān)系R中外碼的取值要參照另一個關(guān)系S主碼的取值。此時(shí),R為參照關(guān)系,S為被參照關(guān)系。參照完整性規(guī)則:定義外碼與主碼之間的引用和參照規(guī)則,參照關(guān)系的外碼取值不能超出被參照關(guān)系的主碼取值。。2.4關(guān)系的完整性4、完整性檢查
1)執(zhí)行插入(INSERT)記錄操作時(shí)的檢查。檢查實(shí)體完整性=>檢查參照完整性=>檢查域完整性。
2)執(zhí)行刪除(DELETE)記錄操作時(shí)的檢查。僅檢查參照完整性,不檢查實(shí)體完整性和域完整性。
3)執(zhí)行修改(UPDATE)記錄操作時(shí)的檢查。先刪除記錄,再插入記錄。例:學(xué)生表(學(xué)號,姓名,性別,入學(xué)時(shí)間,出生日期,籍貫)成績表(學(xué)號,課程號,成績)向?qū)W生表中插入記錄沒有限制;向成績表中插入記錄時(shí),學(xué)號不能為空值,且要求學(xué)號的值必須是從《學(xué)生表》的主碼學(xué)號中選取的值。刪除課程表中某個學(xué)生的成績記錄沒有限制;刪除學(xué)生表中某個學(xué)生的記錄,則要檢查成績表中是否有該學(xué)生的成績記錄,若有,要么不能刪除該學(xué)生記錄,要么將該學(xué)生的成績記錄級聯(lián)刪除。關(guān)系數(shù)據(jù)庫設(shè)計(jì)的一般步驟
1、確立建立數(shù)據(jù)庫的目的:用數(shù)據(jù)庫管理哪些數(shù)據(jù),有哪些需求和功能。
2、確定所需要的表:把信息分成各個獨(dú)立的主題,每一主題可以是數(shù)據(jù)庫中的一個表。
3、確定所需要的字段:每個表中要保存哪些信息。
4、確定關(guān)系:分析每個表,確定表中的數(shù)據(jù)和其他表中的數(shù)據(jù)有何關(guān)系。
5、改進(jìn)設(shè)計(jì):對設(shè)計(jì)作進(jìn)一步分析,查找其中的錯誤,需要時(shí)可調(diào)整設(shè)計(jì)。2.5關(guān)系數(shù)據(jù)庫設(shè)計(jì)實(shí)例
1、確立建立數(shù)據(jù)庫的目的:用數(shù)據(jù)庫管理哪些數(shù)據(jù),有哪些需求和功能。
建立CJGL數(shù)據(jù)庫:《成績管理系統(tǒng)》不僅要對學(xué)生的成績進(jìn)行管理,還要對與學(xué)生成績有關(guān)的其他信息進(jìn)行管理,如學(xué)生的基本信息、系部信息、班級信息、課程信息等管理模塊,對每類信息的管理一般都應(yīng)具有增加、刪除、修改和查詢功能,有些信息還要對其進(jìn)行統(tǒng)計(jì)和分析。該系統(tǒng)的功能劃分設(shè)計(jì)框圖見下頁。2.5關(guān)系數(shù)據(jù)庫設(shè)計(jì)實(shí)例2.5關(guān)系數(shù)據(jù)庫設(shè)計(jì)實(shí)例“成績管理系統(tǒng)”功能劃分如下圖
2、確定所需要的表:把信息分成各個獨(dú)立的主題,每一主題可以是數(shù)據(jù)庫中的一個表。
CJGL數(shù)據(jù)庫需設(shè)系部、班級、學(xué)生、課程、成績等5個數(shù)據(jù)表。
2.5關(guān)系數(shù)據(jù)庫設(shè)計(jì)實(shí)例
3、確定所需要的字段:每個表中要保存哪些信息。各個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軍工項(xiàng)目保密協(xié)議書
- 認(rèn)購協(xié)議書字跡模糊
- 農(nóng)村建房私人協(xié)議書
- 親屬合作養(yǎng)豬協(xié)議書
- 欄桿施工協(xié)議書范本
- 食品報(bào)廢協(xié)議書模板
- 水庫旅游項(xiàng)目協(xié)議書
- 企業(yè)投資燈會協(xié)議書
- 簡單貨款付款協(xié)議書
- 營地運(yùn)營分紅協(xié)議書
- 部編版語文一年級下冊第六單元大單元教學(xué)任務(wù)群設(shè)計(jì)
- 脊柱側(cè)彎矯正的七大門派
- DZ/T 0430-2023 固體礦產(chǎn)資源儲量核實(shí)報(bào)告編寫規(guī)范(正式版)
- 姜文導(dǎo)演風(fēng)格分析
- 全民國家安全教育日知識測試題庫和答案
- 醫(yī)療耗材采購工作總結(jié)
- 江蘇省蘇州市2023-2024學(xué)年五年級下學(xué)期期中綜合測試數(shù)學(xué)試卷(蘇教版)
- 廉潔教育班會.省公開課一等獎全國示范課微課金獎?wù)n件
- 2024版醫(yī)療器械行業(yè)數(shù)字化轉(zhuǎn)型白皮書
- 12 清貧公開課一等獎創(chuàng)新教案
- 第四講:簡單長管的水力計(jì)算
評論
0/150
提交評論