版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫原理及應(yīng)用---基于SQLServer2019與MongoDB回顧:數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù):SQLServer非結(jié)構(gòu)化數(shù)據(jù):MongoDB第2章數(shù)據(jù)模型與關(guān)系數(shù)據(jù)庫一、數(shù)據(jù)模型二、關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義三、關(guān)系的完整性約束四、關(guān)系代數(shù)一、數(shù)據(jù)模型數(shù)據(jù)模型數(shù)據(jù)數(shù)據(jù)模型是一種表示數(shù)據(jù)特征的抽象模型,是對現(xiàn)實世界數(shù)據(jù)的特征與聯(lián)系的抽象反映。現(xiàn)實世界一、數(shù)據(jù)模型---三個世界現(xiàn)實世界:現(xiàn)實世界就是客觀存在的世界,它由客觀存在的事物及其相互之間的聯(lián)系組成。信息世界:信息世界是現(xiàn)實世界在人們頭腦中的反映并用文字或者符號記載下來的,是對現(xiàn)實世界的抽象,又稱觀念世界。機(jī)器世界:機(jī)器世界又稱為數(shù)據(jù)世界,是將信息世界中的數(shù)據(jù)描述經(jīng)過抽象和組織,按照特定的數(shù)據(jù)結(jié)構(gòu)進(jìn)行整理、分類和規(guī)范存儲在計算機(jī)中,是信息世界中的信息數(shù)據(jù)化后對應(yīng)的產(chǎn)物。一、數(shù)據(jù)模型---兩類模型概念模型:它是按用戶的觀點對數(shù)據(jù)和信息的建模,即用于信息世界的建模,所建立的是屬于信息世界的模型。結(jié)構(gòu)數(shù)據(jù)模型:它是按計算機(jī)系統(tǒng)的觀點對數(shù)據(jù)的建模,所建立的是屬于機(jī)器世界的模型,主要包括網(wǎng)絡(luò)模型、層次模型、關(guān)系模型等,主要用于DBMS的實現(xiàn)。結(jié)構(gòu)數(shù)據(jù)模型通常簡稱為數(shù)據(jù)模型,正因如此,常將其與含義更廣泛的“數(shù)據(jù)模型”一詞混淆,應(yīng)根據(jù)上下文加以區(qū)分?,F(xiàn)實世界信息世界姓名:張三性別:男
婚姻狀況:未婚學(xué)校所在地:美國籍貫:美國星座:雙子座出生日期:1994年11月概念模型數(shù)據(jù)模型姓名性別婚姻狀況學(xué)校所在地籍貫星座出生日期張三男未婚美國美國雙子座1994年11月機(jī)器世界一、數(shù)據(jù)模型一、數(shù)據(jù)模型---概念模型概念模型的用途概念模型用于對信息世界的建模是現(xiàn)實世界到機(jī)器世界的一個中間層次是數(shù)據(jù)庫設(shè)計的有力工具是數(shù)據(jù)庫設(shè)計人員和用戶之間進(jìn)行交流的語言對概念模型的基本要求具有較強(qiáng)的語義表達(dá)能力,能夠方便、直接地表達(dá)應(yīng)用中的各種語義知識簡單、清晰、易于用戶理解一、數(shù)據(jù)模型---概念模型中的基本概念(1)實體(Entity)客觀存在并可相互區(qū)別的事物稱為實體??梢允蔷唧w的人、事、物,也可以是抽象的概念或聯(lián)系。實體舉例:一個學(xué)生,一個部門,一門課,學(xué)生的一次選課,老師與學(xué)院的聯(lián)系(某個老師在某個學(xué)院工作)(2)屬性(Attribute)
實體所具有的某一特性稱為屬性。一個實體可以具有若干個屬性。屬性舉例:學(xué)生實體可以由學(xué)號、姓名、性別、院系、入學(xué)時間等屬性組成。(200204,張山,男,信息學(xué)院,2002)一、數(shù)據(jù)模型---概念模型中的基本概念(3)域(Domain)屬性的取值范圍
稱為該屬性的域。例如:學(xué)號的域為8位整數(shù)姓名的域為字符串集合性別的域為(男,女)一、數(shù)據(jù)模型---概念模型中的基本概念(4)碼(Key)
唯一標(biāo)識實體的屬性或?qū)傩约Q為碼。碼舉例:學(xué)生實體可以由學(xué)號、姓名、性別、院系、入學(xué)時間等屬性組成。(200204,張山,男,信息學(xué)院,2002)其中,學(xué)號是學(xué)生實體的碼。一、數(shù)據(jù)模型---概念模型中的基本概念(5)實體集(EntitySet)
同型實體的集合稱為實體集例如:全體學(xué)生,全體教師都是實體集。一、數(shù)據(jù)模型---概念模型中的基本概念(6)聯(lián)系(Relationship)
現(xiàn)實世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界中反映為實體內(nèi)部的聯(lián)系和實體之間的聯(lián)系兩個實體之間聯(lián)系分為三類:一對一聯(lián)系(1:1)一對多聯(lián)系(1:n)多對多聯(lián)系(m:n)一、數(shù)據(jù)模型---概念模型中的基本概念兩個實體之間的聯(lián)系實體型1聯(lián)系名實體型2111:1聯(lián)系實體型1聯(lián)系名實體型2mnm:n聯(lián)系實體型1聯(lián)系名實體型21n1:n聯(lián)系國家與首都學(xué)院與系部學(xué)生與課程概念模型的設(shè)計方法有很多,其中著名、最實用的概念模型設(shè)計方法是P.P.S.Chen于1976年提出的“實體-聯(lián)系”方法(Entity-Relationship),簡稱E-R方法,E-R圖。在E-R圖中,可以表示實體、屬性和聯(lián)系。一、數(shù)據(jù)模型---E-R圖實體用矩形表示,矩形框內(nèi)寫明實體名。學(xué)生教師一、數(shù)據(jù)模型---E-R圖屬性用橢圓表示,并用無向邊將其與相應(yīng)的實體連接起來學(xué)生學(xué)號年齡性別姓名一、數(shù)據(jù)模型---E-R圖聯(lián)系聯(lián)系本身:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體連接起來,同時在無向邊旁標(biāo)上聯(lián)系的類型(1:1、1:n或m:n)聯(lián)系的屬性:聯(lián)系本身也可以是一種實體,也可以有屬性。如果一個聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來一、數(shù)據(jù)模型---E-R圖建立E-R圖的步驟如下:首先,確定各個實體、屬性及主碼。學(xué)生實體及其屬性以及主碼:學(xué)號姓名年齡性別系年級學(xué)生一、數(shù)據(jù)模型---E-R圖學(xué)生編號學(xué)生姓名班長姓名學(xué)生屬于班級班級名稱班主任姓名n1教室位置性別其次,確定實體與實體之間的聯(lián)系及其屬性(如果有)。一、數(shù)據(jù)模型---E-R圖最后,連接各個實體和聯(lián)系,組合成最終的E-R圖。學(xué)校編號名稱任職日期學(xué)校任職校長編號姓名11一、數(shù)據(jù)模型---E-R圖E-R圖優(yōu)點簡單,容易理解,真實反應(yīng)用戶需求;與計算機(jī)無關(guān),用戶容易接受。遇到實際問題一般先設(shè)計一個ER模型,然后把ER模型轉(zhuǎn)換成計算機(jī)能實現(xiàn)的數(shù)據(jù)模型。一、數(shù)據(jù)模型---E-R圖設(shè)某商業(yè)集團(tuán)數(shù)據(jù)庫中有三個實體集。一是“商店”實體集,屬性有商店編號、商店名、地址等;二是“商品”實體集,屬性有商品號、商品名、規(guī)格、單價等;三是“職工”實體集,屬性有職工編號、姓名、性別、業(yè)績等。商店與商品間存在“銷售”聯(lián)系,每個商店可銷售多種商品,每種商品也可放在多個商店銷售,每個商店銷售一種商品,有月銷售量;商店與職工間存在著“聘用”聯(lián)系,每個商店有許多職工,每個職工只能在一個商店工作,商店聘用職工有聘期和月薪。1.試畫出ER圖,并在圖上注明實體的屬性、聯(lián)系的類型和屬性。一、數(shù)據(jù)模型---E-R圖設(shè)某數(shù)據(jù)庫中有三個實體集。一是“公司”實體集,屬性有公司編號、公司名、地址等;二是“倉庫”實體集,屬性有倉庫編號、倉庫名、地址等;三是“職工”實體集,屬性有職工編號、姓名、性別等。公司與倉庫間存在“隸屬”聯(lián)系,每個公司管轄若干倉庫,每個倉庫只能屬于一個公司管轄;倉庫與職工間存在“聘用”聯(lián)系,每個倉庫可聘用多個職工,每個職工只能在一個倉庫工作,倉庫聘用職工有聘期和工資。1.試畫出ER圖,并在圖上注明實體的屬性、聯(lián)系的類型和屬性DBMS支持的數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束條件三部分組成。一、數(shù)據(jù)模型---DBMS支持的數(shù)據(jù)模型完整性約束條件:是一組完整性規(guī)則的集合,指數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則數(shù)據(jù)操作:對數(shù)據(jù)庫中的對象可以進(jìn)行的各種操作的集合,包括各種操作和操作的規(guī)則
數(shù)據(jù)結(jié)構(gòu):是描述數(shù)據(jù)庫系統(tǒng)的靜態(tài)特征一、數(shù)據(jù)模型---DBMS支持的數(shù)據(jù)模型數(shù)據(jù)庫管理系統(tǒng)常用的數(shù)據(jù)模型有下列三種:層次模型網(wǎng)狀模型關(guān)系模型一、數(shù)據(jù)模型---層次模型層次模型必須滿足2個條件:1.有且只有一個結(jié)點沒有雙親——根結(jié)點2.其它結(jié)點有且只有一個雙親結(jié)點——子女結(jié)點層次模型中的幾個術(shù)語根結(jié)點,雙親結(jié)點兄弟結(jié)點,葉結(jié)點層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu):樹R1兄弟結(jié)點兄弟結(jié)點根結(jié)點葉結(jié)點葉結(jié)點葉結(jié)點R2R3R4R5層次模型只能處理一對多的實體聯(lián)系,是一棵倒立樹系編號系名辦公地點教研室編號教研室職工號姓名研究方向?qū)W號姓名成績系教研室學(xué)生教員教員學(xué)生數(shù)據(jù)庫層次模型一、數(shù)據(jù)模型---層次模型教員學(xué)生數(shù)據(jù)庫層次模型的一個值D02計算機(jī)信息樓數(shù)據(jù)庫E2101數(shù)據(jù)庫A系教研室學(xué)生王大明E1709數(shù)據(jù)倉庫馮靈E3501并行數(shù)據(jù)庫孟勇E1101陳芝E3102網(wǎng)絡(luò)管理張豪網(wǎng)絡(luò)安全教員R01信息安全R02網(wǎng)絡(luò)R03文繼榮S63871C劉華S63874A張孝S63876一、數(shù)據(jù)模型---層次模型數(shù)據(jù)操做:完整性約束條件:查詢、插入、刪除、修改插入時:如果沒有相應(yīng)的雙親結(jié)點值,就不能插入子女結(jié)點值。刪除時:如果刪除雙親結(jié)點值,則相應(yīng)的子女結(jié)點值也被同時刪除。修改時:應(yīng)修改所有相應(yīng)的記錄,以保證數(shù)據(jù)的一致性。層次模型的數(shù)據(jù)操作與完整性約束一、數(shù)據(jù)模型---層次模型優(yōu)點層次數(shù)據(jù)模型簡單,對具有一對多的層次關(guān)系的部門描述自然、直觀,容易理解性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型層次數(shù)據(jù)模型提供了良好的完整性支持缺點對多對多聯(lián)系表示不自然對插入和刪除操作的限制多查詢子女結(jié)點必須通過雙親結(jié)點一、數(shù)據(jù)模型---層次模型常見的層次模型DBMS---IMS1968年IBM公司就推出了IMS的最初版本,之后,層次數(shù)據(jù)庫管理系統(tǒng)得到了迅速發(fā)展,同時它也影響了其它類型的數(shù)據(jù)庫管理系統(tǒng),特別是網(wǎng)狀系統(tǒng)的出現(xiàn)和發(fā)展。一、數(shù)據(jù)模型---層次模型一、數(shù)據(jù)模型---網(wǎng)狀模型網(wǎng)狀模型的兩個條件1.允許一個以上的結(jié)點無雙親;2.一個結(jié)點可以有多于一個的雙親。L1R1R2R3L1L2R1R2L1L2R1R2R3R5R4L3L4圖(a)圖(b)圖(c)網(wǎng)狀模型的數(shù)據(jù)結(jié)構(gòu):有向圖
學(xué)號姓名系別課程號課程名學(xué)號課程號成績學(xué)生課程選課S-SCC-SC學(xué)生選課數(shù)據(jù)庫,一個學(xué)生可以選修若干門課程,某一課程可以被多個學(xué)生選修。一、數(shù)據(jù)模型---網(wǎng)狀模型數(shù)據(jù)操作:查詢、插入、刪除、修改作為碼的字段,不能有重復(fù)值雙親結(jié)點與子女結(jié)點之間是多對多聯(lián)系允許插入還沒有雙親結(jié)點的子女結(jié)點允許只刪除雙親結(jié)點值完整性約束條件:一、數(shù)據(jù)模型---網(wǎng)狀模型優(yōu)點能夠更為直接地描述現(xiàn)實世界,如一個結(jié)點可以有多個雙親具有良好的性能,存取效率較高缺點結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴(kuò)大,數(shù)據(jù)庫的結(jié)構(gòu)變得越來越復(fù)雜,不利于最終用戶掌握DDL、DML語言復(fù)雜,用戶不容易使用一、數(shù)據(jù)模型---網(wǎng)狀模型網(wǎng)狀模型的DBMS網(wǎng)狀數(shù)據(jù)庫的代表是DBTG系統(tǒng)。1969年美國的CODASYL組織提出了一份“DBTG報告”,以后,根據(jù)DBTG報告實現(xiàn)的系統(tǒng)一般稱為DBTG系統(tǒng)。現(xiàn)有的網(wǎng)狀數(shù)據(jù)庫系統(tǒng)大都是采用DBTG方案的。一、數(shù)據(jù)模型---網(wǎng)狀模型一、數(shù)據(jù)模型---關(guān)系模型1970年,美國IBM公司的研究員E.F.Codd在美國計算機(jī)學(xué)會會刊(CommunicationsoftheACM)上發(fā)表了著名的論文“ARelationalModelofDataforLargeSharedDataBanks”,首次系統(tǒng)地提出了關(guān)系數(shù)據(jù)模型的相關(guān)理論。之后他又發(fā)表了多篇文章,奠定了關(guān)系數(shù)據(jù)模型的理論基礎(chǔ),標(biāo)志著關(guān)系型數(shù)據(jù)庫系統(tǒng)新時代的來臨。E.F.Codd也因其杰出的貢獻(xiàn),于1981年獲得了ACM圖靈獎。從20世紀(jì)80年代以來,計算機(jī)廠商推出的數(shù)據(jù)庫管理系統(tǒng)幾乎都支持關(guān)系模型。一、數(shù)據(jù)模型---關(guān)系模型二維表由行和列組成。關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu):二維表關(guān)系模型的基本概念關(guān)系——一個關(guān)系對應(yīng)一張表元組——表中的一行屬性——表中的一列,起一個名,屬性名主碼——表中的某個屬性組,其值唯一地標(biāo)識一個元組域——屬性的取值范圍關(guān)系模式——對關(guān)系的描述,用關(guān)系名(屬性名1,屬性名2,…,屬性名n)表示
例如:
學(xué)生(學(xué)號,姓名,年齡,性別,系,年級)一、數(shù)據(jù)模型---關(guān)系模型關(guān)系名學(xué)生登記表關(guān)系主碼整數(shù)字符串1,2,3,4,域?qū)傩悦M(行)屬性(列)一、數(shù)據(jù)模型---關(guān)系模型關(guān)系模型的數(shù)據(jù)操作與完整性約束數(shù)據(jù)操作:查詢、插入、刪除、修改完整性約束條件:實體完整性參照完整性用戶定義的完整性一、數(shù)據(jù)模型---關(guān)系模型關(guān)系模型的優(yōu)點建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上概念單一。數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用實體和各類聯(lián)系都用關(guān)系(表)來表示。對數(shù)據(jù)的檢索結(jié)果也是關(guān)系(表)。關(guān)系模型的存取路徑對用戶透明具有更高的數(shù)據(jù)獨立性,更好的安全保密性簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作一、數(shù)據(jù)模型---關(guān)系模型關(guān)系模型的缺點存取路徑對用戶透明導(dǎo)致查詢效率往往不如非關(guān)系數(shù)據(jù)模型為提高性能,必須對用戶的查詢請求進(jìn)行優(yōu)化,增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度一、數(shù)據(jù)模型---關(guān)系模型一、數(shù)據(jù)模型—概念模型轉(zhuǎn)換為關(guān)系模型
實體(E)轉(zhuǎn)換為關(guān)系模式的方法
一個實體轉(zhuǎn)換為一個關(guān)系模式,實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。
例如:學(xué)生實體轉(zhuǎn)換為關(guān)系模式實體學(xué)生(學(xué)號,姓名,性別,出生日期,所學(xué)專業(yè))關(guān)系Student(SID,Sname,Sex,Birthday,Specialty)47一、數(shù)據(jù)模型—概念模型轉(zhuǎn)換為關(guān)系模型
聯(lián)系(R)轉(zhuǎn)換為關(guān)系模式的方法
一對一
將聯(lián)系與任意一端實體所對應(yīng)的關(guān)系模式合并,加入另一端實體的碼和聯(lián)系的屬性(如果聯(lián)系有屬性的話)。例如:學(xué)校和校長實體的聯(lián)系是1:1的。學(xué)校編號名稱任職日期學(xué)校任職校長編號姓名1148一、數(shù)據(jù)模型—概念模型轉(zhuǎn)換為關(guān)系模型學(xué)校編號名稱任職日期學(xué)校任職校長編號姓名11學(xué)校(學(xué)校編號,名稱)校長(編號,姓名,任職日期,學(xué)校編號)或?qū)W校(學(xué)校編號,名稱,編號)校長(編號,姓名,任職日期)聯(lián)系(R)轉(zhuǎn)換為關(guān)系模式的方法49一、數(shù)據(jù)模型—概念模型轉(zhuǎn)換為關(guān)系模型一對多將聯(lián)系與n端實體所對應(yīng)的關(guān)系模式合并,加入1端實體的碼和聯(lián)系的屬性。例如:班級和學(xué)生實體的聯(lián)系是1:n的。
學(xué)生編號學(xué)生姓名班長姓名學(xué)生屬于班級班級名稱班主任姓名n1教室位置性別
聯(lián)系(R)轉(zhuǎn)換為關(guān)系模式的方法50一、數(shù)據(jù)模型—概念模型轉(zhuǎn)換為關(guān)系模型學(xué)生編號學(xué)生姓名班長姓名學(xué)生屬于班級班級名稱班主任姓名n1教室位置性別學(xué)生(學(xué)生編號,學(xué)生姓名,性別,班級名稱)班級(班級名稱,班主任姓名,班長姓名,教室位置)
聯(lián)系(R)轉(zhuǎn)換為關(guān)系模式的方法51一、數(shù)據(jù)模型—概念模型轉(zhuǎn)換為關(guān)系模型
多對多
將聯(lián)系轉(zhuǎn)換成一個單獨的關(guān)系模式。該聯(lián)系相連的各實體的碼和聯(lián)系本身的屬性轉(zhuǎn)換為關(guān)系的屬性。例如:教務(wù)管理中選課的E-R模型如圖所示,學(xué)生和課程的聯(lián)系是多對多的。
聯(lián)系(R)轉(zhuǎn)換為關(guān)系模式的方法52一、數(shù)據(jù)模型—概念模型轉(zhuǎn)換為關(guān)系模型學(xué)生(學(xué)生編號,姓名,性別)課程(課程編號,課程名稱,學(xué)分)選課(學(xué)生編號,課程編號,成績)課程學(xué)生選課成績nm學(xué)生編號課程編號姓名性別學(xué)分課程名稱
聯(lián)系(R)轉(zhuǎn)換為關(guān)系模式的方法53一、數(shù)據(jù)模型—概念模型轉(zhuǎn)換為關(guān)系模型設(shè)某商業(yè)集團(tuán)數(shù)據(jù)庫中有三個實體集。一是“商店”實體集,屬性有商店編號、商店名、地址等;二是“商品”實體集,屬性有商品號、商品名、規(guī)格、單價等;三是“職工”實體集,屬性有職工編號、姓名、性別、業(yè)績等。商店與商品間存在“銷售”聯(lián)系,每個商店可銷售多種商品,每種商品也可放在多個商店銷售,每個商店銷售一種商品,有月銷售量;商店與職工間存在著“聘用”聯(lián)系,每個商店有許多職工,每個職工只能在一個商店工作,商店聘用職工有聘期和月薪。1.試畫出ER圖,并在圖上注明實體的屬性、聯(lián)系的類型和屬性。2.將ER圖轉(zhuǎn)換成關(guān)系模型,并注明主鍵。一、數(shù)據(jù)模型—概念模型轉(zhuǎn)換為關(guān)系模型設(shè)某數(shù)據(jù)庫中有三個實體集。一是“公司”實體集,屬性有公司編號、公司名、地址等;二是“倉庫”實體集,屬性有倉庫編號、倉庫名、地址等;三是“職工”實體集,屬性有職工編號、姓名、性別等。公司與倉庫間存在“隸屬”聯(lián)系,每個公司管轄若干倉庫,每個倉庫只能屬于一個公司管轄;倉庫與職工間存在“聘用”聯(lián)系,每個倉庫可聘用多個職工,每個職工只能在一個倉庫工作,倉庫聘用職工有聘期和工資。1.試畫出ER圖,并在圖上注明實體的屬性、聯(lián)系的類型和屬性2.將ER圖轉(zhuǎn)換成關(guān)系模型,并注明主鍵。二、關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義---什么是關(guān)系?域(Domain)笛卡爾積(CartesianProduct)關(guān)系(Relation)二、關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義---域(Domain)域:例:整數(shù)實數(shù)大于0并且小于100的正整數(shù)所有同學(xué)的名字{‘男’,‘女’}是一組具有相同數(shù)據(jù)類型的值的集合。二、關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義---笛卡爾積笛卡爾積:
給定一組域
D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:
D1×D2×…×Dn={(d1,d2,…,dn)|di
Di,i=1,2,…,n}有3個域,A=(a1,a2),B=(b1,b2,b3),C=(c1,c2),則A,B,C的笛卡兒積為:
A×B×C={(a1,b1,c1),(a1,b1,c2),(a1,b2,c1),(a1,b2c2),(a1,b3,c1),(a1,b3,c2),(a2,b1,c1),(a2,b1,c2),(a2,b2,c1),(a2,b2,c2),(a2,b3,c1),(a2,b3,c2)
}二、關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義---笛卡爾積有3個域:
D1=導(dǎo)師=張老師,李老師
D2=專業(yè)=計算機(jī)專業(yè),大數(shù)據(jù)專業(yè)
D3=學(xué)生=張同學(xué),王同學(xué),孫同學(xué)則D1×D2×D3={(張老師,計算機(jī)專業(yè),張同學(xué)),(張老師,計算機(jī)專業(yè),王同學(xué)),(張老師,計算機(jī)專業(yè),孫同學(xué)),(張老師,大數(shù)據(jù)專業(yè),張同學(xué)),(張老師,大數(shù)據(jù)專業(yè),王同學(xué)),(張老師,大數(shù)據(jù)專業(yè),孫同學(xué)),(李老師,計算機(jī)專業(yè),張同學(xué)),(李老師,計算機(jī)專業(yè),王同學(xué)),(李老師,計算機(jī)專業(yè),孫同學(xué)),(李老師,大數(shù)據(jù)專業(yè),張同學(xué)),(李老師,大數(shù)據(jù)專業(yè),王同學(xué)),(李老師,大數(shù)據(jù)專業(yè),孫同學(xué))}12個元組可列成一張二維表二、關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義---笛卡爾積
表中的每行對應(yīng)一個元組,每列對應(yīng)一個域?qū)煂I(yè)學(xué)生張老師計算機(jī)專業(yè)張同學(xué)張老師計算機(jī)專業(yè)王同學(xué)張老師計算機(jī)專業(yè)孫同學(xué)張老師大數(shù)據(jù)專業(yè)張同學(xué)張老師大數(shù)據(jù)專業(yè)王同學(xué)張老師大數(shù)據(jù)專業(yè)孫同學(xué)李老師計算機(jī)專業(yè)張同學(xué)李老師計算機(jī)專業(yè)王同學(xué)李老師計算機(jī)專業(yè)孫同學(xué)李老師大數(shù)據(jù)專業(yè)張同學(xué)李老師大數(shù)據(jù)專業(yè)王同學(xué)李老師大數(shù)據(jù)專業(yè)孫同學(xué)
D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的關(guān)系,表示為
R(D1,D2,…,Dn)R:關(guān)系名;n:關(guān)系的目或度(Degree)例如:D1=導(dǎo)師=張老師,李老師
D2=專業(yè)=計算機(jī)專業(yè),大數(shù)據(jù)專業(yè)
D3=學(xué)生=張同學(xué),王同學(xué),孫同學(xué)則SAP(導(dǎo)師,專業(yè),學(xué)生)就是一個關(guān)系SAP稱為關(guān)系名。二、關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義---關(guān)系導(dǎo)師專業(yè)學(xué)生張老師計算機(jī)專業(yè)張同學(xué)張老師大數(shù)據(jù)專業(yè)王同學(xué)李老師計算機(jī)專業(yè)孫同學(xué)有意義的關(guān)系:理解:關(guān)系是笛卡爾積的一個子集。這些子集有的有意義,有的無意義二、關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義---關(guān)系無意義的關(guān)系及其值:一個學(xué)生不能在兩個專業(yè)學(xué)習(xí)理解:關(guān)系是笛卡爾積的一個子集。這些子集有的有意義,有的無意義二、關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義---關(guān)系導(dǎo)師專業(yè)學(xué)生張老師計算機(jī)專業(yè)張同學(xué)張老師大數(shù)據(jù)專業(yè)王同學(xué)李老師計算機(jī)專業(yè)張同學(xué)候選碼與主碼若關(guān)系中的某一個或一組屬性能唯一的標(biāo)識一個元組,則稱該屬性或者屬性組為碼或者候選碼;若一個關(guān)系有多個候選碼,則人為選定其中的一個作為主碼,主碼對應(yīng)的屬性稱為主屬性,不包含在任何候選碼中的屬性稱為非主屬性。在最簡單的情況下,候選碼只包含一個屬性,在最極端的情況下,關(guān)系的所有屬性是這個關(guān)系的候選碼,稱為全碼。二、關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義---關(guān)系三類關(guān)系基本關(guān)系(基本表或基表):實際存在的表,是實際存儲數(shù)據(jù)的邏輯表示查詢表:查詢結(jié)果對應(yīng)的表視圖表:由基本表或其他視圖表導(dǎo)出的表,是虛表,不對應(yīng)實際存儲的數(shù)據(jù)關(guān)系可以是一個無限集合但無限關(guān)系在數(shù)據(jù)庫系統(tǒng)中是無意義的因此,數(shù)據(jù)庫中的關(guān)系必須是有限集合。二、關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義---關(guān)系關(guān)系的性質(zhì)①列是同質(zhì)的(Homogeneous)②不同的列可出自同一個域③列的順序無所謂④任意兩個元組不能完全相同⑤行的順序無所謂⑥
關(guān)系的每一個分量必須取原子值,每一個分量都是不可再分的數(shù)據(jù)項。二、關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義---關(guān)系三、關(guān)系的完整性約束完整性是指數(shù)據(jù)庫中數(shù)據(jù)的正確性、有效性和一致性(或相容性),用來防止數(shù)據(jù)庫中存在不合法的數(shù)據(jù)。數(shù)據(jù)完整性是一種語義概念,它包括兩個方面:一是數(shù)據(jù)要滿足現(xiàn)實世界特定的應(yīng)用需求環(huán)境中的語義約束;二是數(shù)據(jù)庫內(nèi)部數(shù)據(jù)之間的相容性。數(shù)據(jù)完整性一般分為實體完整性、參照完整性和用戶自定義的完整性。實體完整性參照完整性這2種完整性通常由關(guān)系系統(tǒng)自動支持用戶定義的完整性反映應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中的語義約束用戶定義后由系統(tǒng)支持三、關(guān)系的完整性約束規(guī)則
若屬性A是基本關(guān)系R的主屬性(碼,鍵),則屬性A不能取空值例:學(xué)生(學(xué)號,姓名,系別)課程(課程號,課程名,學(xué)分)選課(學(xué)號,課程號,容量)三、關(guān)系的完整性約束---實體完整性關(guān)系模型必須遵守實體完整性規(guī)則的原因:(1)實體完整性規(guī)則是針對基本關(guān)系而言的。一個基本表通常對應(yīng)現(xiàn)實世界的一個實體集。(2)現(xiàn)實世界中的實體和實體間的聯(lián)系都是可區(qū)分的,即它們具有某種唯一性標(biāo)識。(3)相應(yīng)地,關(guān)系模型中以主碼作為唯一性標(biāo)識。(4)主碼中的屬性即主屬性不能取空值。三、關(guān)系的完整性約束---實體完整性例1學(xué)生實體、專業(yè)實體的關(guān)系表示如下:學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名)
學(xué)生關(guān)系是參照關(guān)系。
專業(yè)關(guān)系是被參照關(guān)系。專業(yè)號是學(xué)生關(guān)系的外碼。三、關(guān)系的完整性約束---參照完整性三、關(guān)系的完整性約束---參照完整性學(xué)生(學(xué)號,姓名,性別)課程(課程號,課程名稱,學(xué)分)選課(學(xué)生編號,課程編號,成績)課程學(xué)生選課成績nm學(xué)生編號課程編號姓名性別學(xué)分課程名稱
學(xué)生選課系統(tǒng)74三、關(guān)系的完整性約束---參照完整性學(xué)生(學(xué)號,姓名,性別)課程(課程號,課程名稱,學(xué)分)選課(學(xué)生編號,課程編號,成績)學(xué)號,課程號分別是選修關(guān)系的外碼
學(xué)生關(guān)系和課程關(guān)系是被參照關(guān)系
選課關(guān)系是參照關(guān)系
三、關(guān)系的完整性約束---參照完整性定義設(shè)F是基本關(guān)系R的一個或一組屬性,但不是關(guān)系R的碼,Ks是基本關(guān)系S的主碼。如果F與Ks對應(yīng),則稱F是R的外碼。并稱基本關(guān)系R為參照關(guān)系,基本關(guān)系S為被參照關(guān)系。則對于R中每個元組在F上的值必須為:
或者取空值(F的每個屬性值均為空值)
或者等于S中某個元組的主碼值。學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名)
專業(yè)號是學(xué)生關(guān)系的外碼。
學(xué)生關(guān)系是參照關(guān)系。
專業(yè)關(guān)系是被參照關(guān)系。三、關(guān)系的完整性約束---參照完整性例1:學(xué)生關(guān)系中,每個元組的“專業(yè)號”屬性只能取下面兩類值:(1)空值,表示尚未給該學(xué)生分配專業(yè)(2)非空值,這時該值必須是專業(yè)關(guān)系中某個元組的“專業(yè)號”值,表示該學(xué)生不可能分配到一個不存在的專業(yè)中三、關(guān)系的完整性約束---參照完整性三、關(guān)系的完整性約束---用戶定義的完整性用戶定義的完整性:是針對某一個具體數(shù)據(jù)庫的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。關(guān)系模型應(yīng)提供定義和檢驗這類完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能。學(xué)生關(guān)系中:性別只能是“男”或“女”年齡只能是10-3之間的整數(shù)選課關(guān)系中成績只能是0-100之間的整數(shù)三、關(guān)系的完整性約束---用戶定義的完整性四、關(guān)系代數(shù)—概述1.關(guān)系代數(shù):一種抽象的查詢語言,用對關(guān)系的運算來表達(dá)查詢2.運算的三要素:運算對象,運算符,運算結(jié)果3.關(guān)系代數(shù)運算的分類:運算對象-關(guān)系,運算結(jié)果-關(guān)系,運算符-四類傳統(tǒng)的集合運算-并、差、交、專門的關(guān)系運算-廣義笛卡爾積、選擇、投影、連接、除集合運算符∪-∩并差交比較運算符>≥<≤=≠大于大于等于小于小于等于等于不等于運算符含義運算符含義專門的關(guān)系運算符×σπ∞
÷廣義笛卡爾積選擇投影連接除邏輯運算符
∧∨非與或四、關(guān)系代數(shù)—概述四、關(guān)系代數(shù):常用的幾個記號關(guān)系R:學(xué)生(學(xué)號,姓名,性別,院系)R的一個元組t:(1001,李明,男,信息學(xué)院)t[A1]表示分量1001,t[A2]表示分量李明(1)R,t
R,t[Ai]設(shè)關(guān)系模式為R(A1,A2,…,An),t
R表示t是R的一個元組,t[Ai]則表示元組t中相應(yīng)于屬性Ai的一個分量四、關(guān)系代數(shù):常用的幾個記號(2)A,t[A],A若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,則A稱為屬性列或域列;
t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元組t在屬性列A上諸分量的集合。A
則表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的屬性組。例如:R的一個元組t:(1001,李明,男,信息學(xué)院)t[A]=(1001,李明)關(guān)系R:學(xué)生(學(xué)號,姓名,性別,院系)A={學(xué)號,姓名},則={性別,院系}A四、關(guān)系代數(shù):常用的幾個記號四、關(guān)系代數(shù):常用的幾個記號R為n目關(guān)系,S為m目關(guān)系,tr
R,ts
S,稱為元組的連接。(3)trts:關(guān)系的廣義笛卡爾積trts它是一個n+m列的元組,前n個分量為R中的一個n元組,后m個分量為S中的一個m元組。(R和S的廣義笛卡爾積)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1RSABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1tr
ts四、關(guān)系代數(shù):常用的幾個記號例如:四、關(guān)系代數(shù)---常用的集合運算:并(Union)設(shè)關(guān)系R和S:具有相同的目n(即兩個關(guān)系都有n個屬性)相應(yīng)的屬性取自同一個域則:1)關(guān)系R和S的并記為:
R∪S={t|t
R∨t
S}結(jié)果仍為n目關(guān)系,由屬于R或者屬于S
的元組組成
ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∪S
四、關(guān)系代數(shù)---常用的集合運算:并(Union)四、關(guān)系代數(shù)---常用的集合運算:差(Difference)設(shè)關(guān)系R和S:具有相同的目n(即兩個關(guān)系都有n個屬性)相應(yīng)的屬性取自同一個域則:2)關(guān)系R和S的差記為:
R-S={t|t
R∧t
S}結(jié)果仍為n目關(guān)系,由屬于R而不屬于S
的元組組成
ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S
四、關(guān)系代數(shù)---常用的集合運算:差(Difference)四、關(guān)系代數(shù)---常用的集合運算:交(Intersection)設(shè)關(guān)系R和S:具有相同的目n(即兩個關(guān)系都有n個屬性)相應(yīng)的屬性取自同一個域則:3)關(guān)系R和S的交記為:
R∩S={t|t
R∧t
S}
用差表示:R∩S=R
–(R-S)仍為n目關(guān)系,由既屬于R又屬于S
的元組組成
四、關(guān)系代數(shù)---常用的集合運算:交ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∩S
四、關(guān)系代數(shù)常用的集合運算:廣義笛卡爾積有2個關(guān)系R和S,若關(guān)系R:n目關(guān)系(有n個屬性),有k1個元組關(guān)系S:m目關(guān)系(有m個屬性),有k2個元組則:關(guān)系R和S的廣義笛卡爾積記作:
R×S={tr
ts|tr
R∧ts
S}共有
k1×k2
個元組(行),每個元組有n+m列:前n列是關(guān)系R的一個元組后m列是關(guān)系S的一個元組四、關(guān)系代數(shù)---常用的集合運算:廣義笛卡爾積ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR×S
ABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1四、關(guān)系代數(shù)---專門的關(guān)系運算:選擇(Selection)選擇:指的是在關(guān)系R中選擇滿足給定條件的元組,記作:
σF(R)={t|t
R∧F(t)='真'}這里,F(xiàn)是邏輯表達(dá)式。選擇運算實際上是從關(guān)系R中選取使邏輯表達(dá)式F為真的元組。是從行的角度進(jìn)行的運算:σ
學(xué)生選課數(shù)據(jù)庫學(xué)生表:Student(Sno,Sname,Ssex,Sbirthday,Sdept)課程表:Course(Cno,Cname,Ccredit)選課表:SC(Sno,Cno,Grade)SnoSnameSsexSbirthdaySdept95001李勇男1999-10-21CS95002劉晨女1999-2-14IS95003王敏女2000-7-18MA95004張立男2000--5-27ISStudentCourseCnoCnameCcredit1數(shù)據(jù)庫42數(shù)學(xué)
23信息系統(tǒng)44操作系統(tǒng)35數(shù)據(jù)結(jié)構(gòu)46數(shù)據(jù)處理
27PASCAL語言4專門的關(guān)系運算:選擇(續(xù))
SC學(xué)號課程號成績SnoCnoGrade9500119295001285950013889500229095002380[例1]查詢信息系(IS系)全體學(xué)生SnoSnameSsexSbirthdaySdept95002劉晨女1999-2-14IS95004張立男2000-5-27IS
σSdept
='IS'
(Student) 或σ5='IS'
(Student)結(jié)果:四、關(guān)系代數(shù)---專門的關(guān)系運算:選擇[例2]查詢性別為女的學(xué)生。SnoSnameSsexSbirthdaySdept95002劉晨女1999-2-14IS95003王敏女2000-7-18MA
σSsex=‘女’
(Student) 或σ3=‘女’
(Student)結(jié)果:四、關(guān)系代數(shù)---專門的關(guān)系運算:選擇四、關(guān)系代數(shù)專門的關(guān)系運算:投影(Projection)投影:從R中選擇出若干屬性列組成新的關(guān)系,
πA(R)={t[A]|t
R} A:R中的屬性列
是從列的角度進(jìn)行運算:π四、關(guān)系代數(shù)---專門的關(guān)系運算:投影即求Student關(guān)系在學(xué)生姓名和所在系兩個屬性上的投影。SnameSdept李勇CS劉晨IS王敏MA張立IS[例3]查詢學(xué)生的姓名和所在系:結(jié)果:πSname,Sdept
(Student)或π2,5
(Student)四、關(guān)系代數(shù)---專門的關(guān)系運算:投影[例4]查詢學(xué)生關(guān)系Student中都有哪些系。SdeptCSISMA結(jié)果:
πSdept(Student)即查詢Student關(guān)系在所在系屬性上的投影:注意:投影結(jié)果中,取消重復(fù)的元組。四、關(guān)系代數(shù)---專門的關(guān)系運算:投影[例5]查詢開設(shè)了哪些課程(課程名)。課程名Cname數(shù)據(jù)庫數(shù)學(xué)信息系統(tǒng)操作系統(tǒng)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)處理PASCAL語言即查詢Course關(guān)系在課程名上的投影:
πCname(Course
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年投資項目管理師之投資建設(shè)項目決策考試題庫200道附答案(能力提升)
- 2026年設(shè)備監(jiān)理師之設(shè)備監(jiān)理合同考試題庫帶答案(b卷)
- 2026年投資項目管理師之投資建設(shè)項目實施考試題庫200道附答案(b卷)
- 2026年勞務(wù)員之勞務(wù)員基礎(chǔ)知識考試題庫200道(有一套)
- 2026年投資項目管理師之投資建設(shè)項目決策考試題庫200道含完整答案(歷年真題)
- 2026年交管12123學(xué)法減分復(fù)習(xí)考試題庫及答案(基礎(chǔ)+提升)
- 2026年設(shè)備監(jiān)理師之設(shè)備工程監(jiān)理基礎(chǔ)及相關(guān)知識考試題庫200道【重點】
- 2026年高校教師資格證之高等教育法規(guī)考試題庫帶答案(能力提升)
- 2026年注冊土木工程師(水利水電)之專業(yè)基礎(chǔ)知識考試題庫200道1套
- 2026年材料員考試備考題庫含答案【典型題】
- 護(hù)士長護(hù)理質(zhì)量檢查記錄
- 【MOOC】影視鑒賞-揚(yáng)州大學(xué) 中國大學(xué)慕課MOOC答案
- 南京信息工程大學(xué)《數(shù)學(xué)分析(3)》2022-2023學(xué)年第一學(xué)期期末試卷
- 瀝青混凝土心墻碾壓石渣壩施工方案
- 裝載機(jī)鏟斗的設(shè)計
- 中國民俗文化概說(山東聯(lián)盟)智慧樹知到答案2024年青島理工大學(xué)
- 基礎(chǔ)有機(jī)化學(xué)實驗智慧樹知到期末考試答案章節(jié)答案2024年浙江大學(xué)
- 2024年北京市人力資源市場薪酬狀況白皮書
- 數(shù)字孿生智慧水利整體規(guī)劃建設(shè)方案
- 業(yè)委會換屆問卷調(diào)查表
- 慕課《如何寫好科研論文》期末考試答案
評論
0/150
提交評論