




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫原理及應(yīng)用盛志偉、方睿編著西安電子科技大學(xué)出版社1第1章數(shù)據(jù)庫概論本章要點(diǎn):了解數(shù)據(jù)庫技術(shù)的發(fā)展簡史掌握數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)一些概念掌握概念模型和數(shù)據(jù)模型的基本概念掌握關(guān)系模型的基本概念2一、數(shù)據(jù)庫發(fā)展簡史1.數(shù)據(jù)管理的誕生數(shù)據(jù)庫系統(tǒng)的萌芽出現(xiàn)于60年代。當(dāng)時(shí)計(jì)算機(jī)開始廣泛地應(yīng)用于數(shù)據(jù)管理,對(duì)數(shù)據(jù)的共享提出了越來越高的要求。傳統(tǒng)的文件系統(tǒng)已經(jīng)不能滿足人們的需求了,能夠統(tǒng)一管理和共享數(shù)據(jù)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)應(yīng)運(yùn)而生。1961年網(wǎng)狀數(shù)據(jù)庫1968年層次數(shù)據(jù)庫1970年關(guān)系數(shù)據(jù)庫32.關(guān)系數(shù)據(jù)庫的由來41970年E.F.Codd發(fā)明了關(guān)系數(shù)據(jù)庫。關(guān)系模型有嚴(yán)格的數(shù)學(xué)基礎(chǔ),抽象級(jí)別較高,而且簡單清晰,便于理解和使用。1976年霍尼韋爾公司(Honeywell)開發(fā)了第一個(gè)商用關(guān)系數(shù)據(jù)庫系統(tǒng)——MulticsRelationalDataStore。關(guān)系型數(shù)據(jù)庫系統(tǒng)以關(guān)系代數(shù)為堅(jiān)實(shí)的理論基礎(chǔ),經(jīng)過幾十年的發(fā)展和實(shí)際應(yīng)用,技術(shù)越來越成熟和完善。其代表產(chǎn)品有Oracle、IBM公司的DB2、微軟公司的MSSQLServer、MySQL以及國產(chǎn)數(shù)據(jù)庫GaussDB和達(dá)夢(mèng)數(shù)據(jù)庫等。3.結(jié)構(gòu)化查詢語言SQL語言的功能包括查詢、操縱、定義和控制,是一個(gè)綜合的、通用的關(guān)系數(shù)據(jù)庫語言,同時(shí)又是一種高度非過程化的語言,只要求用戶指出做什么而不需要指出怎么做。SQL集成實(shí)現(xiàn)了數(shù)據(jù)庫生命周期中的全部操作。SQL提供了與關(guān)系數(shù)據(jù)庫進(jìn)行交互的方法,它可以與標(biāo)準(zhǔn)的編程語言一起工作。54.面向?qū)ο髷?shù)據(jù)庫關(guān)系型數(shù)據(jù)庫系統(tǒng)雖然技術(shù)很成熟,但其局限性也是顯而易見的:它能很好地處理“表格型數(shù)據(jù)”,卻對(duì)技術(shù)界出現(xiàn)的越來越多的復(fù)雜類型的數(shù)據(jù)無能為力。6然而,數(shù)年的發(fā)展表明,面向?qū)ο蟮年P(guān)系型數(shù)據(jù)庫系統(tǒng)產(chǎn)品的市場發(fā)展的情況并不理想。理論上的完美性并沒有帶來市場的熱烈反應(yīng)。二、數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)系統(tǒng)的基本概念數(shù)據(jù)庫管理的基本對(duì)象是數(shù)據(jù)。數(shù)據(jù)是信息的具體表現(xiàn)形式,可以采用任何能被人們認(rèn)知的符號(hào),可以是數(shù)字(如:76、2010,¥100),也可以是文本,圖形,圖像,視頻等。7(1)數(shù)據(jù)庫(DB)數(shù)據(jù)庫是存儲(chǔ)在某種存儲(chǔ)介質(zhì)上的相關(guān)數(shù)據(jù)有組織的集合。在這個(gè)定義中特別要注意“相關(guān)”和“有組織”這些描述,就是說,數(shù)據(jù)庫不是簡單地將一些數(shù)據(jù)堆集在一起,而是把一些相互間有一定關(guān)系的數(shù)據(jù),按一定的結(jié)構(gòu)組織起來的數(shù)據(jù)集合。8玩具ID玩具名稱價(jià)格(¥)重量(克)品牌最低年齡最高年齡照片000001遙控汽車38300好孩子36略000002芭比娃娃168180芭比29略000003遙控機(jī)器人1582000羅本410略關(guān)系型數(shù)據(jù)庫按二維表格方式將數(shù)據(jù)組織起來。表中的每一行就是一個(gè)完整的數(shù)據(jù),其語義就是由表頭的列名來定義的,就是列名給表中的數(shù)據(jù)以一定的解釋。有這樣的多張表(記錄不同的信息)就可以構(gòu)成一個(gè)數(shù)據(jù)庫。(2)數(shù)據(jù)庫管理系統(tǒng)(DBMS)
數(shù)據(jù)庫管理系統(tǒng)是一種操縱和管理數(shù)據(jù)庫的大型軟件,是用于建立、使用和維護(hù)數(shù)據(jù)庫。它對(duì)數(shù)據(jù)庫進(jìn)行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。用戶通過DBMS訪問數(shù)據(jù)庫中的數(shù)據(jù),數(shù)據(jù)庫管理員也通過DBMS進(jìn)行數(shù)據(jù)庫的維護(hù)工作。9主要功能包括:數(shù)據(jù)定義功能。數(shù)據(jù)存取功能。數(shù)據(jù)庫運(yùn)行管理功能。數(shù)據(jù)庫的建立和維護(hù)功能。數(shù)據(jù)庫的傳輸。(3)數(shù)據(jù)庫系統(tǒng)(DBS)數(shù)據(jù)庫系統(tǒng),是由數(shù)據(jù)庫及其管理軟件組成的系統(tǒng)。它是為適應(yīng)數(shù)據(jù)處理的需要而發(fā)展起來的一種較為理想的數(shù)據(jù)處理的核心機(jī)構(gòu)。它是一個(gè)實(shí)際可運(yùn)行的存儲(chǔ)、維護(hù)和應(yīng)用系統(tǒng)提供數(shù)據(jù)的軟件系統(tǒng),是存儲(chǔ)介質(zhì)、處理對(duì)象和管理系統(tǒng)的集合體。
10數(shù)據(jù)庫(Database)應(yīng)用程序Application數(shù)據(jù)庫管理系統(tǒng)(DBMS)用戶(user)數(shù)據(jù)庫管理員(DBA)用戶(user)圖1-1數(shù)據(jù)庫系統(tǒng)組成DB:是集成的、結(jié)構(gòu)化的Data的集合,是DBMS的管理對(duì)象DBMS:是DBS的核心軟件,負(fù)責(zé)對(duì)DB的使用、控制和管理USER:管理和使用DB的人員DBA:設(shè)計(jì)、管理和使用DB的人員Application:是應(yīng)用DB中的Data的一些軟件數(shù)據(jù)庫系統(tǒng)軟硬件層次硬件操作系統(tǒng)DBMS,編譯系統(tǒng)應(yīng)用開發(fā)工具軟件應(yīng)用系統(tǒng).net,Java,PHP,微信小程序,Python,GoSQLServer,MySQLOracle數(shù)據(jù)庫系統(tǒng)軟硬件層次112、數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)管理技術(shù)的發(fā)展可以大體歸為三個(gè)階段:人工管理文件系統(tǒng)數(shù)據(jù)庫系統(tǒng)。12(1)人工管理階段
本階段特點(diǎn):數(shù)據(jù)不保存;沒有軟件系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行管理;這一時(shí)期沒有文件的概念,數(shù)據(jù)的組織必需由程序員自行設(shè)計(jì);一組數(shù)據(jù)對(duì)應(yīng)一個(gè)程序,不同程序之間不能相互利用數(shù)據(jù)。
13一組數(shù)據(jù)程序(2)文件管理系統(tǒng)
前提:
OS具有了文件管理功能。
本階段特點(diǎn):數(shù)據(jù)與程序文件脫離,數(shù)據(jù)作為獨(dú)立的文件,可供多個(gè)程序使用,但多個(gè)文件之間缺乏聯(lián)系,從而造成數(shù)據(jù)冗余,占用存貯空間大。
14程序1程序2程序3文件3文件2文件1文件管理系統(tǒng)例如:
文件管理系統(tǒng)圖1-1文件管理系統(tǒng)示例玩具基本信息管理應(yīng)用程序App1購物者購買玩具管理應(yīng)用程序App2玩具信息文件File1購物者信息文件File2訂單信息文件File3購物者購買玩具,先查找文件File2,判斷此用戶是否合法;如果合法則訪問File1,判斷有無此玩具;如果有,則將訂單信息寫到文件File3中15優(yōu)點(diǎn):1、數(shù)據(jù)能夠長期保存在磁盤上。2、有了提供文件與程序之間進(jìn)行存取方法轉(zhuǎn)換的軟件。程序員不必關(guān)心數(shù)據(jù)的物理位置,可以集中精力考慮算法,并且節(jié)省了維護(hù)程序的工作量。3、文件形式的多樣化。由于有了直接存取設(shè)備,也就有了索引文件、鏈接文件、直接存取文件。4、數(shù)據(jù)存取以記錄為單位。16缺點(diǎn):1、編寫應(yīng)用程序不方便。2、應(yīng)用程序的依賴性。3、不支持應(yīng)用程序并發(fā)訪問。4、數(shù)據(jù)間耦合度差。5、數(shù)據(jù)表示單一。6、無安全控制功能。17(3)數(shù)據(jù)庫系統(tǒng)階段
數(shù)據(jù)庫管理技術(shù)實(shí)質(zhì)上是一個(gè)存儲(chǔ)在計(jì)算機(jī)內(nèi)的所有相關(guān)數(shù)據(jù)構(gòu)成的集合(對(duì)所有數(shù)據(jù)實(shí)行統(tǒng)一的、集中的、獨(dú)立的管理,數(shù)據(jù)獨(dú)立于程序而存在,并可供給不同的用戶而實(shí)現(xiàn)共享)。
18應(yīng)用1應(yīng)用2應(yīng)用n…數(shù)據(jù)庫管理系統(tǒng)(DBMS)數(shù)據(jù)庫(DB)數(shù)據(jù)庫系統(tǒng)有如下優(yōu)點(diǎn):將相互關(guān)聯(lián)的數(shù)據(jù)集成在一起。在數(shù)據(jù)庫系統(tǒng)中,所有的數(shù)據(jù)都存儲(chǔ)在數(shù)據(jù)庫中,應(yīng)用程序可通過DBMS訪問數(shù)據(jù)庫中的所有數(shù)據(jù)。較少的數(shù)據(jù)冗余。由于數(shù)據(jù)是統(tǒng)一管理的,因此可以從全局著眼,合理地組織數(shù)據(jù)。數(shù)據(jù)可以共享并能保證數(shù)據(jù)的一致性。數(shù)據(jù)庫中的數(shù)據(jù)可以被多個(gè)用戶共享,共享是指允許多個(gè)用戶同時(shí)操作相同的數(shù)據(jù)。程序與數(shù)據(jù)相互獨(dú)立。保證數(shù)據(jù)的安全可靠。19三、數(shù)據(jù)模型201、數(shù)據(jù)模型的分類(1)概念模型:也稱為信息模型,它是從數(shù)據(jù)的應(yīng)用語義視角來抽取模型并按用戶的觀點(diǎn)來對(duì)數(shù)據(jù)和信息進(jìn)行建模。這類模型主要用在數(shù)據(jù)庫的設(shè)計(jì)階段,它與具體的數(shù)據(jù)庫管理系統(tǒng)無關(guān)。常用的概念模型是實(shí)體-關(guān)系(Entity-Relationship,簡稱E-R)模型。(2)邏輯數(shù)據(jù)模型:按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模。是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ)。分為以下幾個(gè)模型:層次模型(用樹型結(jié)構(gòu)組織數(shù)據(jù))。網(wǎng)狀模型(用圖形結(jié)構(gòu)組織數(shù)據(jù))。關(guān)系模型(用簡單二維表結(jié)構(gòu)組織數(shù)據(jù))。對(duì)象關(guān)系模型(用復(fù)雜的表格以及其他結(jié)構(gòu)組織數(shù)據(jù))。
現(xiàn)實(shí)世界中的客觀事物的抽象過程現(xiàn)實(shí)世界概念模型DBMS支持的數(shù)據(jù)模型現(xiàn)實(shí)世界信息世界計(jì)算機(jī)世界認(rèn)識(shí)抽象轉(zhuǎn)換21為了把現(xiàn)實(shí)世界中的具體事物抽象,最終獲得某一具體DBMS支持的數(shù)據(jù)模型,人們通常首先將現(xiàn)實(shí)世界抽象為信息世界,然后再將信息世界轉(zhuǎn)換為計(jì)算機(jī)世界。即首先把現(xiàn)實(shí)世界中的客觀對(duì)象抽象為某一種信息結(jié)構(gòu),這種信息結(jié)構(gòu)并不依賴于具體的計(jì)算機(jī)系統(tǒng),也不依賴于具體的DBMS,而是概念模型;然后再把概念模型轉(zhuǎn)換為計(jì)算機(jī)上的DBMS支持的數(shù)據(jù)模型,也就是邏輯模型。2、概念模型常用的概念模型是實(shí)體——關(guān)系(Entity-Relationship,簡稱E-R)模型。其三個(gè)要素是:實(shí)體、屬性、關(guān)系。(1)實(shí)體(Entity)實(shí)體是具有相同性質(zhì)并且彼此之間可以相互區(qū)分的現(xiàn)實(shí)世界對(duì)象的集合。在關(guān)系數(shù)據(jù)庫中,一般一個(gè)實(shí)體被映射成一個(gè)關(guān)系表,表中的一行對(duì)應(yīng)一個(gè)可區(qū)分的現(xiàn)實(shí)世界對(duì)象(這些對(duì)象組成了實(shí)體),稱為實(shí)體實(shí)例(entityinstance)。在E-R圖中用矩形框表示具體的實(shí)體,把實(shí)體名寫在框內(nèi)。
22教學(xué)教師學(xué)生姓名工號(hào)姓名學(xué)號(hào)1N2、概念模型(2)屬性(Attribute)實(shí)體所具有的特征稱為它的屬性。是描述實(shí)體或者關(guān)系的性質(zhì)的數(shù)據(jù)項(xiàng)。每個(gè)實(shí)體都有一個(gè)標(biāo)識(shí)符(或叫實(shí)體的鍵),標(biāo)識(shí)符是實(shí)體中的一個(gè)屬性或者幾個(gè)屬性的組合,每個(gè)實(shí)體實(shí)例在標(biāo)識(shí)符上具有不同的值。在E-R圖中用橢圓表示屬性,橢圓內(nèi)寫上屬性名。23教學(xué)教師學(xué)生姓名工號(hào)姓名學(xué)號(hào)1N(3)關(guān)系(Relationship)關(guān)系是數(shù)據(jù)之間的關(guān)聯(lián)集合,是客觀存在的應(yīng)用語義鏈。關(guān)系用菱形框表示,框內(nèi)寫上關(guān)系名,并用連線將有關(guān)的實(shí)體連接起來。教學(xué)教師學(xué)生姓名工號(hào)姓名學(xué)號(hào)1N2、概念模型242、概念模型關(guān)系可以在實(shí)體內(nèi)部,也可以在兩個(gè)實(shí)體之間,也可以在多個(gè)實(shí)體之間。實(shí)體內(nèi)部的關(guān)系組成實(shí)體的各屬性之間的關(guān)系。如“職工”實(shí)體中,假設(shè)有“職工號(hào)”和“部門經(jīng)理號(hào)”。部門經(jīng)理也是職工,也有職工號(hào)。25領(lǐng)導(dǎo)職工1n2、概念模型不同實(shí)體之間的關(guān)系有三種類型:一對(duì)一(1:1)一對(duì)多(1:n)
多對(duì)多(m:n)
1nn1m管理玩具1部門玩具有購買(a)(b)(c)經(jīng)理商標(biāo)購物者26連線上標(biāo)明聯(lián)系的類型,即1:1,
1:N或N:M2、概念模型27多個(gè)實(shí)體之間的關(guān)系2、概念模型學(xué)生課程學(xué)習(xí)MN成績學(xué)號(hào)姓名性別系入學(xué)時(shí)間課程號(hào)課程名稱28關(guān)系也可以有屬性29邏輯模型的三大要素?cái)?shù)據(jù)結(jié)構(gòu):與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對(duì)象;與數(shù)據(jù)之間關(guān)系有關(guān)的對(duì)象,它從邏輯模型層面表達(dá)數(shù)據(jù)記錄與字段的結(jié)構(gòu)。數(shù)據(jù)操作:數(shù)據(jù)操作是指對(duì)數(shù)據(jù)庫中的各種對(duì)象(型)的實(shí)例(值)允許執(zhí)行操作的集合,包括操作及有關(guān)的操作規(guī)則。數(shù)據(jù)完整性約束:是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其關(guān)系所具有的制約和依存規(guī)則,用以保證數(shù)據(jù)的正確、有效和相容,使數(shù)據(jù)庫中的數(shù)據(jù)值與現(xiàn)實(shí)情況相符。3、邏輯數(shù)據(jù)模型3、邏輯數(shù)據(jù)模型層次模型(hierarchicalmodel)網(wǎng)狀模型(networkmodel)關(guān)系模型(relationalmodel)面向?qū)ο髷?shù)據(jù)模型(objectoridenteddatamodel)對(duì)象關(guān)系數(shù)據(jù)模型(objectrelationaldatamodel)半結(jié)構(gòu)化數(shù)據(jù)模型(semistructuredatamodel)30按數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型,分為以下幾種:大學(xué)院系教研室班級(jí)教輔3、邏輯數(shù)據(jù)模型科室醫(yī)生病房病人層次模型網(wǎng)狀模型31關(guān)系數(shù)據(jù)模型源于數(shù)學(xué),它把數(shù)據(jù)看成是二維表中的元素,而這個(gè)二維表就是關(guān)系。4、關(guān)系模型32關(guān)系系統(tǒng)要求讓用戶所感覺的數(shù)據(jù)庫是一張張二維表的集合。在關(guān)系系統(tǒng)中,表是邏輯結(jié)構(gòu)而不是物理結(jié)構(gòu)。實(shí)際上,系統(tǒng)在物理層可以使用任何有效的存儲(chǔ)結(jié)構(gòu)來存儲(chǔ)數(shù)據(jù),比如,有序文件、索引、哈希表、指針等。因此,表是對(duì)物理存儲(chǔ)數(shù)據(jù)的一種抽象表示,是對(duì)很多存儲(chǔ)細(xì)節(jié)的抽象,如存儲(chǔ)記錄的位置、記錄的順序、數(shù)據(jù)值的表示等以及記錄的訪問結(jié)構(gòu),如索引等,對(duì)用戶來說都是不可見的。商標(biāo)ID商標(biāo)名稱001樂高002匯樂003貝恩施玩具ID名稱單價(jià)產(chǎn)地重量商標(biāo)ID000001玩具熊49.99四川成都348001000002巴比娃娃98.88北京128002000003遙控汽車86.68浙江溫州87000233商標(biāo)信息商標(biāo)ID商標(biāo)名稱001樂高002匯樂003貝恩施玩具基本信息玩具ID名稱單價(jià)產(chǎn)地重量商標(biāo)ID000001玩具熊49.99四川成都348001000002巴比娃娃98.88北京128002000003遙控汽車86.68浙江溫州870002字段、列、屬性記錄、行、元組4、關(guān)系模型
》關(guān)系模型中的基本術(shù)語1.關(guān)系(表)關(guān)系就是二維表,每一列不可再分,屬性不能重名,可交換列的前后順序。2.元組(行,記錄)表中的每一行數(shù)據(jù)稱作是一個(gè)元組3.屬性(列,字段)表中的每一列是一個(gè)屬性值集,列可以命名,稱為屬性名。超鍵:在一個(gè)關(guān)系中,能唯一標(biāo)識(shí)元組的屬性或?qū)傩约Q為關(guān)系的超鍵。例如:學(xué)生表的屬性有:學(xué)號(hào)、姓名、身份證號(hào)。
344、關(guān)系模型
》關(guān)系模型中的基本術(shù)語學(xué)號(hào)姓名身份證號(hào)2025001001李四5101042005020100072025001002張三5101122006081143812025001003王果姓名可以重復(fù),能夠唯一標(biāo)識(shí)元組的屬性或?qū)傩约校海▽W(xué)號(hào))(學(xué)號(hào),姓名)(學(xué)號(hào),身份證號(hào))(身份證號(hào))(姓名,身份證號(hào))以上這些屬性集都稱為超鍵。候選鍵(候選碼):如果一個(gè)屬性集能唯一標(biāo)識(shí)元組,且又不含有多余的屬性,那么這個(gè)屬性集稱為關(guān)系的候選鍵。在學(xué)生表中,學(xué)號(hào)能唯一標(biāo)識(shí)元組且沒有多余的屬性,所以是候選鍵,身份證號(hào)能唯一標(biāo)識(shí)元組且沒有多余的屬性,所以是候選鍵。(學(xué)號(hào),姓名)雖然能唯一標(biāo)識(shí)一個(gè)元組,但姓名是多余的屬性,所以它不是候選鍵。學(xué)號(hào)姓名身份證號(hào)2025001001李四5101042005020100072025001002張三5101122006081143812025001003王紅5101142005092154034、關(guān)系模型
》關(guān)系模型中的基本術(shù)語3536主鍵(主碼、主關(guān)鍵字):主鍵(PrimaryKey)是表中的一個(gè)屬性或幾個(gè)屬性的組合,用于唯一的確定表中的一個(gè)元組,主鍵是一個(gè)候選鍵。在學(xué)生表中,候選鍵有“學(xué)號(hào)”和“身份證號(hào)”,可以選擇其中之一作為主鍵,按習(xí)慣和用戶業(yè)務(wù)要求,一般選擇“學(xué)號(hào)”作為主鍵。主鍵可以由一個(gè)屬性組成,也可以由多個(gè)屬性共同組成。表1-4購物車信息表購物車ID玩具ID數(shù)量0000010000011000001000008200000200000124、關(guān)系模型
》關(guān)系模型中的基本術(shù)語主鍵由購物車ID和玩具ID共同組成。因?yàn)橐粋€(gè)購物車中可以包含多種玩具,而一種玩具也可以包含在多個(gè)購物車中,因此,只有將購物車ID和玩具ID組合起來才能共同確定一行記錄。商標(biāo)商標(biāo)ID商標(biāo)名稱001樂高002匯樂003貝恩施外鍵(FK,外碼,外關(guān)鍵字):是表中的一個(gè)或多個(gè)屬性。兩個(gè)表可以通過共同的屬性相關(guān)聯(lián)。當(dāng)一個(gè)表的某些屬性的取值受其它表的主鍵值約束時(shí),這些屬性就稱為外鍵。玩具基本信息玩具ID名稱單價(jià)產(chǎn)地重量商標(biāo)ID000001玩具熊49.99四川成都348001000002巴比娃娃98.88北京128002000003遙控汽車86.68浙江溫州870002玩具基本信息表中,商標(biāo)ID是外鍵,由它和商標(biāo)表發(fā)生關(guān)系,它的取值要么為空,要么為商標(biāo)表中商標(biāo)ID的值,玩具信息表是參照關(guān)系,商標(biāo)表是被參照關(guān)系。4、關(guān)系模型
》關(guān)系模型中的基本術(shù)語37域:屬性的取值范圍就稱為域。主屬性和非主屬性:關(guān)系中包含在主鍵中的屬性稱為主屬性,不包含在主鍵中的屬性稱為非主屬性。4、關(guān)系模型
》關(guān)系模型中的基本術(shù)語38關(guān)系模型的操作對(duì)象是集合,而不是行,也就是操作的對(duì)象以及操作的結(jié)果都是完整的表(行的集合,而不只是單行,當(dāng)然,只包含一行數(shù)據(jù)的表是合法的,空表或不包含任何數(shù)據(jù)行的表也是合法的)。而非關(guān)系型數(shù)據(jù)庫系統(tǒng)中典型的操作是一次一行或一次一個(gè)記錄。394、關(guān)系模型
》關(guān)系模型的數(shù)據(jù)操作數(shù)據(jù)完整性是指數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)是有意義的或正確的。關(guān)系模型中的數(shù)據(jù)完整性規(guī)則是對(duì)關(guān)系的某種約束條件。它的數(shù)據(jù)完整性約束主要包括四大類:實(shí)體完整性參照完整性域完整性用戶自定義完整性404、關(guān)系模型
》關(guān)系模型的數(shù)據(jù)完整性約束實(shí)體完整性實(shí)體完整性指的是關(guān)系數(shù)據(jù)庫中所有的表都必須有主鍵,而且表中不允許存在如下的記錄。無主鍵值的記錄主鍵值相同的記錄因?yàn)槿粲涗洓]有主鍵值,則此記錄在表中一定是無意義的。41參照完整性參照完整性有時(shí)也稱為引用完整性?,F(xiàn)實(shí)世界中的實(shí)體之間往往存在著某種聯(lián)系,在關(guān)系模型中,實(shí)體以及實(shí)體之間的聯(lián)系在關(guān)系數(shù)據(jù)庫中都用關(guān)系來表示,這樣就自然存在著實(shí)體與實(shí)體之間的引用關(guān)系。參照完整性就是用來確保實(shí)體之間關(guān)系完整的。42【例1-1】“職工”表和“部門”表所包含的屬性如下,其中主鍵用下劃線標(biāo)識(shí)。職工(職工號(hào),姓名,性別,部門號(hào),上司,工資,傭金)部門(部門號(hào),名稱,地點(diǎn))其中職工號(hào)是“職工”關(guān)系的主鍵,部門號(hào)是外鍵,而“部門”關(guān)系中部門號(hào)是主鍵,則職工關(guān)系中的每個(gè)元組的部門號(hào)屬性只能取下面兩類值:第1類:空值,表示尚未給該職工分配部門;第2類:非空值,但該值必須是部門關(guān)系中某個(gè)元組的部門號(hào)值,表示該職工不可能分配到一個(gè)不存在的部門中,即被參照關(guān)系“部門”中一定存在一個(gè)元組,它的主鍵值等于該參照關(guān)系“職工”中的外鍵值。43域完整性域完整性或語義完整性。確保了只有在某一合法范圍內(nèi)的值才能存儲(chǔ)到一列中。可以通過限制數(shù)據(jù)類型、值的范圍和數(shù)據(jù)格式來實(shí)施域完整性。例如,人的年齡的取值范圍為0~150。44用戶自定義完整性
任何關(guān)系數(shù)據(jù)庫系統(tǒng)都應(yīng)該支持實(shí)體完整性、引用完整性和域完整性。除此之外,不同的數(shù)據(jù)庫應(yīng)用系統(tǒng)根據(jù)其應(yīng)用環(huán)境的不同,往往還需要一些特殊的約束條件,用戶自定義完整性就是針對(duì)某一具體應(yīng)用領(lǐng)域定義的數(shù)據(jù)約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須要滿足應(yīng)用語義的要求。45例:產(chǎn)品表(產(chǎn)品編號(hào),產(chǎn)品名稱,進(jìn)貨價(jià)格)銷售表(銷售編號(hào),產(chǎn)品編號(hào),銷售時(shí)間,銷售價(jià)格,銷售數(shù)量)在向銷售表中輸入數(shù)據(jù)時(shí),要求銷售價(jià)格大于等于進(jìn)貨價(jià)格。464、關(guān)系模型
》網(wǎng)上玩具商店ToyUniverse關(guān)系模型列(屬性)名中文名稱類
型寬度說
明cCategoryId種類IDCHAR3主鍵cCategory種類CHAR20NOTNULLvDescription描述VARCHAR100列(屬性)名中文名稱類
型寬度說
明cBrandId商標(biāo)IDCHAR3主鍵cBrandName商標(biāo)名稱CHAR20NOTNULL列(屬性)名中文名稱類
型寬度說
明cToyId玩具IDCHAR6主鍵vToyName玩具名稱VARCHAR20NOTNULLvToyDescription玩具描述VARCHAR250
cCategoryId種類IDCHAR3外鍵
NOTNULLmToyRate玩具價(jià)格DECIMAL(10,2)NOTNULLcBrandId商標(biāo)IDCHAR3外鍵
NOTNULLvPhotoPath照片路徑VARCHAR1000
siToyQoh數(shù)量SMALLINT
NOTNULLsiLowerAge最低年齡SMALLINT
NOTNULLsiUpperAge最大年齡SMALLINT
NOTNULLsiToyWeight玩具重量SMALLINT
NOTNULLvToyImgPath玩具圖像路徑VARCHAR50Category(種類)Toys(玩具)ToyBrand(商標(biāo))4、關(guān)系模型
》網(wǎng)上玩具商店ToyUniverse關(guān)系模型列(屬性)名中文名稱類型寬度說明cCountryId國家IDCHAR3主鍵vCountry國家VARCHAR100NOTNULL列(屬性)名中文名稱類型寬度說明cShopperId購物者IDCHAR6主鍵vUserName用戶名VARCHAR100NOTNULLvPassword密碼VARCHAR200NOTNULLvShoperName姓名VARCHAR100NOTNULLvEmailId郵件地址VARCHAR40
vAddress地址VARCHAR200NOTNULLvCity城市VARCHAR50
vProvince省VARCHAR50
cCountryId國家IDCHAR3外鍵cZipCode郵政編碼CHAR10
CPhone電話CHAR15NOTNULLcCreditCardNo信用卡編號(hào)CHAR16NOTNULLvCreditCardType信用卡類型VARCHAR15NOTNULLdExpiryDate截止日期DATETIME
列(屬性)名中文名稱類型寬度說明cOrderNo訂單編號(hào)CHAR12主鍵vRecipientName姓名VARCHAR100NOTNULLvEmail電子郵件地址VARCHAR40
vAddress地址VARCHAR200NOTNULLvCity城市VARCHAR50
vProvince省VARCHAR50
cCountryId國家IDCHAR3外鍵NOTNULLcZipCode郵政編碼CHAR10
cPhone電話CHAR15NOTNULLShopper(購物者)Country(國家)Recipient(接收者)474、關(guān)系模型
》網(wǎng)上玩具商店ToyUniverse關(guān)系模型列(屬性)名中文名稱類
型寬度說
明cModeId模式IDCHAR2主鍵vMode模式VARCHAR25NOTNULLiMaxDelDays最多需要天數(shù)INT
NULL列(屬性)名中文名稱類型寬度說明cOrderNo訂單編號(hào)CHAR12主鍵dOrderDate訂單日期DATETIME
NOTNULLcShopperId購物者IDCHAR6外鍵cShippingModeId運(yùn)貨方式IDCHAR2外鍵mShippingCharges運(yùn)貨費(fèi)用DECIMAL(10,2)
mGiftWrapCharges禮品包裝費(fèi)用DECIMAL(10,2)
COrderProcessed訂單處理狀態(tài)CHAR10:未審核1:已審核2:已出貨mToyTotalCost玩具總價(jià)DECIMAL(10,2)訂單細(xì)節(jié)表中玩具總價(jià)之和mTotalCost訂單總價(jià)DECIMAL(10,2)運(yùn)貨費(fèi)用+禮品包裝費(fèi)用+玩具總價(jià)dExpDelDate運(yùn)到日期DATETIME
列(屬性)名中文名稱類
型寬度說
明cOrderNo訂單編號(hào)CHAR12主鍵
外鍵cToyId玩具IDCHAR6主鍵
外鍵mToyRate玩具單價(jià)DECIMAL(10,2)NOTNULLsiQty數(shù)量SMALLINT
NOTNULLcGiftWrap是否要禮品包裝CHAR1“Y”和“N”cWrapperId包裝IDCHAR3外鍵vMessage留言信息VARCHAR256
mToyCost玩具總價(jià)DECIMAL(10,2)玩具單價(jià)×數(shù)量Orders(訂單)ShippingMode(投遞模式)OrderDetail(訂單細(xì)節(jié))484、關(guān)系模型
》網(wǎng)上玩具商店ToyUniverse關(guān)系模型ShoppingCart(購物車)列(屬性)名中文名稱類型寬度是否允許為空cShopperId購物者IDCHAR6主鍵外鍵cToyId玩具IDCHAR6主鍵外鍵siQty數(shù)量SMALLINT
NOTNULLdDate購物時(shí)間DATETIME
Wrapper(包裝)列(屬性)名中文名稱類型寬度說明cWrapperId包裝IDCHAR3主鍵vDescription描述VARCHAR20NULLmWrapperRate包裝費(fèi)用DECIMAL(12,2)NOTNULLvPhotoPath照片VARCHAR1000NULLvWrapperImgPath包裝圖像路徑VARCHAR50NULLShippingRate(運(yùn)輸費(fèi)用)列(屬性)名中文名稱類型寬度說明cCountryID國家IDCHAR3主鍵外鍵cModeId模式IDCHAR2主鍵外鍵mRatePerPound每磅的費(fèi)用DECIMAL(10,2)NOTNULLShipment(出貨)列(屬性)名中文名稱類型寬度說明cOrderNo訂單編號(hào)CHAR12主鍵dShipmentDate出貨日期DATETIME
NULLcDeliveryStatus投遞狀態(tài)CHAR1NULLdActu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于自然拼讀理念破解小學(xué)英語諧音式拼讀困境的研究
- 廣告法律問題
- 二手房交易合同三方協(xié)議
- 出租工地鋼管房合同范本
- 兒童服務(wù)協(xié)議書范本模板
- 業(yè)主與租房中介合同范本
- 樁基合同超出金額補(bǔ)充協(xié)議
- 廣東省清遠(yuǎn)市英德市2023-2024學(xué)年七年級(jí)下學(xué)期期末道德與法治試題
- 2026屆長治市重點(diǎn)中學(xué)化學(xué)高二第一學(xué)期期末教學(xué)質(zhì)量檢測(cè)模擬試題含答案
- 高頻同前綴單詞配套語境填空鞏固練習(xí)題-2026年高考英語一輪復(fù)習(xí)同詞根詞綴單詞大全
- 燃?xì)廨啓C(jī)余熱回收技術(shù)-深度研究
- 2024年江蘇鹽城工業(yè)職業(yè)技術(shù)學(xué)院招聘考試真題
- 老齡化背景下的長期照護(hù)需求-深度研究
- 《認(rèn)識(shí)創(chuàng)業(yè)投資》課件
- 2025年全國幼兒園教師資格證考試教育理論知識(shí)押題試題庫及答案(共九套)
- 專業(yè)鞋品采購協(xié)議模板2024版
- 2016建筑抗震設(shè)計(jì)規(guī)范
- 未來產(chǎn)業(yè)的內(nèi)涵、特征、難點(diǎn)及進(jìn)路
- 合伙購買礦山開采設(shè)備協(xié)議書
- 《護(hù)士職業(yè)素養(yǎng)》課件
- 掛名法人和實(shí)際控制人之間協(xié)議3篇
評(píng)論
0/150
提交評(píng)論