《物聯(lián)網(wǎng)技術(shù)創(chuàng)新應(yīng)用》數(shù)據(jù)模型建立_第1頁
《物聯(lián)網(wǎng)技術(shù)創(chuàng)新應(yīng)用》數(shù)據(jù)模型建立_第2頁
《物聯(lián)網(wǎng)技術(shù)創(chuàng)新應(yīng)用》數(shù)據(jù)模型建立_第3頁
《物聯(lián)網(wǎng)技術(shù)創(chuàng)新應(yīng)用》數(shù)據(jù)模型建立_第4頁
《物聯(lián)網(wǎng)技術(shù)創(chuàng)新應(yīng)用》數(shù)據(jù)模型建立_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)模型建立InternetofThings目錄ContentsSuccessWords2相關(guān)知識(shí)任務(wù)實(shí)踐數(shù)據(jù)模型建立創(chuàng)建云平臺(tái)用的數(shù)據(jù)表目錄ContentsSuccessWords3數(shù)據(jù)模型建立模型概念模型(model):一般而言,模型是現(xiàn)實(shí)世界某些特征的模擬和抽象,分為實(shí)物模型與抽象模型。建筑模型,汽車模型,飛機(jī)模型等都是實(shí)物模型,它們通常是客觀事物的某些外觀特征或者功能的模擬與刻畫;數(shù)學(xué)模型s=πr2是一種抽象模型,它抽象描述了園的面積和園的半徑之間的數(shù)量關(guān)系,揭示客觀事物的某些本質(zhì)的、內(nèi)部的特征。數(shù)據(jù)模型在實(shí)現(xiàn)數(shù)據(jù)庫管理的過程中,數(shù)據(jù)模型起著關(guān)鍵作用。整個(gè)數(shù)據(jù)庫技術(shù)的發(fā)展就是沿著數(shù)據(jù)模型的主線展開的?,F(xiàn)有的數(shù)據(jù)庫均是基于某種數(shù)據(jù)模型,了解數(shù)據(jù)模型的基本概念是學(xué)習(xí)數(shù)據(jù)庫的基礎(chǔ)。根據(jù)模型應(yīng)用的不同目的,可以將這些模型劃分為兩類,他們分屬于兩個(gè)不同的層次。 第一類模型是概念模型,也稱信息模型。它是按用戶的觀點(diǎn)來對(duì)數(shù)據(jù)和信息建模,主要用于數(shù)據(jù)庫設(shè)計(jì)。另一類模型是數(shù)據(jù)模型,主要包括網(wǎng)狀模型、層次模型、關(guān)系模型等,它是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模,主要用于DBMS的實(shí)現(xiàn),這種數(shù)據(jù)模型也叫結(jié)構(gòu)數(shù)據(jù)模型。4數(shù)據(jù)模型1.2數(shù)據(jù)庫管理的實(shí)現(xiàn)數(shù)據(jù)模型的要素:數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是所研究的對(duì)象類型的集合,這些對(duì)象是數(shù)據(jù)庫的組成成分,它們包括兩類,一類是與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對(duì)象;一類是與數(shù)據(jù)之間聯(lián)系有關(guān)的對(duì)象。數(shù)據(jù)操作數(shù)據(jù)操作是指對(duì)數(shù)據(jù)庫中各種對(duì)象的(型)的實(shí)例(值)允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則。數(shù)據(jù)庫主要有檢索和更新(包括插入、刪除、修改)兩大類操作,數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號(hào)、操作規(guī)則(如優(yōu)先級(jí))以及實(shí)現(xiàn)操作的語言。數(shù)據(jù)操作是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述。數(shù)據(jù)的約束條件數(shù)據(jù)約束條件是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。如:入學(xué)年齡不超過30歲,成績不得有三門以上不及格等。5數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫管理的實(shí)現(xiàn)1.2.3概念模型概念模型的相關(guān)概念(1)實(shí)體(Entity):客觀存在并相互區(qū)別的事物及其事物之間的聯(lián)系。例如,一個(gè)學(xué)生、一門課程、學(xué)生的一次選課、一次考試等都是實(shí)體。(2)屬性(Attribute):實(shí)體所具有的某一特性。例如,學(xué)生的學(xué)號(hào)、姓名、性別、出生年份、系、入學(xué)時(shí)間等。(3)碼(Key):唯一標(biāo)示實(shí)體的屬性集。例如,學(xué)號(hào)是學(xué)生實(shí)體的碼。(4)域(Domain):屬性的取值范圍。例如,年齡的域?yàn)?5至35之間。(5)實(shí)體型(EntityType):用實(shí)體名及其屬性名集合來抽象和刻畫同類實(shí)體,稱為實(shí)體型。例如,學(xué)生(學(xué)號(hào),姓名,性別,出生年份,系,入學(xué)時(shí)間)就是一個(gè)實(shí)體型。(6)實(shí)體集(EntitySet):同型實(shí)體的集合稱為實(shí)體集。如,全體學(xué)生就是一個(gè)實(shí)體集。(7)聯(lián)系(Relationship):實(shí)體與實(shí)體之間以及實(shí)體與組成它的各屬性間的關(guān)系。6數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫管理的實(shí)現(xiàn)實(shí)體間聯(lián)系的三種情況(1)一對(duì)一聯(lián)系(1:1)如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至少有一個(gè)(也可以沒有)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集A與實(shí)體集B具有一對(duì)一聯(lián)系,記為1:1。例如,一個(gè)學(xué)生只能有一個(gè)學(xué)號(hào),而一個(gè)學(xué)號(hào)只能指向一個(gè)學(xué)生,則學(xué)生與學(xué)號(hào)之間具有一對(duì)一聯(lián)系。(2)一對(duì)多聯(lián)系(1:n)如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有個(gè)n實(shí)體(n≥0)之聯(lián)系,反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B有一對(duì)多聯(lián)系,記為1:n。例如,一個(gè)班級(jí)中有若干名學(xué)生,而每個(gè)學(xué)生只在一個(gè)班級(jí)中學(xué)習(xí),則班級(jí)與學(xué)生之間具有一對(duì)多聯(lián)系。(3)多對(duì)多聯(lián)系(m:n)如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥0)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體(m≥0)與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B具有多對(duì)多聯(lián)系,記為m:n。例如,一門課程同時(shí)有若干個(gè)學(xué)生選修,而一個(gè)學(xué)生可以同時(shí)選修多門課程,則課程與學(xué)生之間具有多對(duì)多聯(lián)系。

注意:實(shí)際上,一對(duì)一聯(lián)系是一對(duì)多聯(lián)系的特例,而一對(duì)多聯(lián)系又是多對(duì)多聯(lián)系的特例。

7數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫管理的實(shí)現(xiàn)概念模型的表示方法概念模型的表示方法很多,最常用的是實(shí)體—聯(lián)系方法。該方法用E-R(Entity-RelationshipApproch)圖來描述現(xiàn)實(shí)世界的概念模型。E-R圖提供了表示實(shí)體型、屬性和聯(lián)系的方法。E-R圖有三個(gè)要素:(1)實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體名。(2)屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來。(3)聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(1:1,1:n或m:n)。8數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫管理的實(shí)現(xiàn)9數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫管理的實(shí)現(xiàn)1.2.4數(shù)據(jù)模型這里講的數(shù)據(jù)模型是在概念級(jí)的模型(概念模型)的基礎(chǔ)上形成的,為計(jì)算機(jī)上某一DBMS支持的數(shù)據(jù)模型。本書主要介紹前三種模型。層次模型若用圖來表示,層次模型是一棵倒立的樹。在數(shù)據(jù)庫中,滿足以下條件的數(shù)據(jù)模型稱為層次模型:①有且僅有一個(gè)結(jié)點(diǎn)無父結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)稱為根結(jié)點(diǎn);②其他結(jié)點(diǎn)有且僅有一個(gè)父結(jié)點(diǎn)。10數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫管理的實(shí)現(xiàn)網(wǎng)狀模型

在現(xiàn)實(shí)世界中,事物之間的聯(lián)系更多的是非層次關(guān)系的,用層次模型表示非樹型結(jié)構(gòu)是很不直接的,網(wǎng)狀模型則可以克服這一弊病。網(wǎng)狀模型是一個(gè)網(wǎng)絡(luò)。在數(shù)據(jù)庫中,滿足以下兩個(gè)條件的數(shù)據(jù)模型稱為網(wǎng)狀模型。①允許一個(gè)以上的結(jié)點(diǎn)無父結(jié)點(diǎn);②一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的父結(jié)點(diǎn)。從以上定義看出,網(wǎng)狀模型構(gòu)成了比層次結(jié)構(gòu)復(fù)雜的網(wǎng)狀結(jié)構(gòu),適宜表示多對(duì)多的聯(lián)系。網(wǎng)狀模型和網(wǎng)頁上的“超鏈接數(shù)據(jù)”模式有類似之處。11數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫管理的實(shí)現(xiàn)關(guān)系模型以二維表的形式表示實(shí)體和實(shí)體之間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系數(shù)據(jù)模型。從模型的三要素角度看,關(guān)系模型的內(nèi)容為:(1)數(shù)據(jù)結(jié)構(gòu):一張二維表格。(2)數(shù)據(jù)操作:數(shù)據(jù)表的定義,檢索、維護(hù)等。(3)數(shù)據(jù)約束條件:表中列的取值范圍即域值的限制條件。關(guān)系模型的幾個(gè)常見概念:(1)關(guān)系:一個(gè)關(guān)系就是一張二維表,每個(gè)關(guān)系都有一個(gè)關(guān)系名,即數(shù)據(jù)表名。(2)元組:表中的行稱為元組,一行就是一個(gè)元組,對(duì)應(yīng)表中一條記錄。(3)屬性:表中的列稱為屬性,即字段。字段名稱為屬性名,字段值稱為屬性值。(4)域:屬性的取值范圍,如,分?jǐn)?shù)在0~100之間。(5)關(guān)鍵字:表中的一個(gè)屬性(組),它的值可以唯一地標(biāo)志一個(gè)元組。如:學(xué)號(hào)。(6)候選碼:表中的某一個(gè)屬性,它的值可以唯一地標(biāo)志一個(gè)元組。一個(gè)表中可能有多個(gè)候選碼,選擇一個(gè)作為主鍵,主鍵的屬性稱為主屬性。(7)外關(guān)鍵字:如果一個(gè)關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它們是另外一個(gè)關(guān)系的關(guān)鍵字,則稱其為該關(guān)系的外關(guān)鍵字。12數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫管理的實(shí)現(xiàn)13數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫管理的實(shí)現(xiàn)關(guān)系模型的完整性關(guān)系模型對(duì)數(shù)據(jù)一般都具有一定的限制,這種限制稱為完整性或完整性約束。關(guān)系模型的完整性是保證關(guān)系數(shù)據(jù)表正確的關(guān)鍵。關(guān)系模型支持實(shí)體完整性約束、參照完整性約束和域約束3種完整性約束。(1)實(shí)體完整性約束假設(shè)A是一個(gè)表R的主鍵,則A不能接收空值,即單列主鍵的值不能為空,復(fù)合主鍵的任何列也不能接收空值。例如,在學(xué)生信息表中,“學(xué)號(hào)”為該表的主鍵,那么在數(shù)據(jù)庫的任何記錄中,“學(xué)號(hào)”列的值都不能為空。這樣的約束稱為實(shí)體完整性約束。14數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫管理的實(shí)現(xiàn)(2)參照完整性約束參照完整性約束關(guān)心的是邏輯相關(guān)的表中值與值之間的關(guān)系。假設(shè)X是一個(gè)表A的主鍵,在表B中是外鍵,那么若K是表B中一個(gè)外部鍵值,則表A中必然存在在X上的值為K的記錄。例如,“系編碼”是院系信息表的主鍵,而在學(xué)生信息表中是相對(duì)于院系信息表的外鍵(學(xué)生信息表中的主關(guān)鍵字是由“學(xué)號(hào)”和“系編碼”組合而成),對(duì)于學(xué)生信息表的任何記錄,其所包含的“系編碼”的值,在院系信息表的“系編碼”列中必然存在一個(gè)相同的值。這樣的約束稱為參照完整性約束。

15數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫管理的實(shí)現(xiàn)(3)域約束域是邏輯相關(guān)的值的集合,從域中可以得出特定列的值。例如,在學(xué)生信息表中:[出生日期]域的值必須按照特定的統(tǒng)一格式存放,而不能有時(shí)用:1986.12.23格式,有時(shí)用:12/23/1986格式,造成數(shù)據(jù)混亂;[學(xué)生名字]、[院系名稱]等域的值必須屬于字符集合;對(duì)于[性別],該域中的值必須局限于男、女等。16數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫管理的實(shí)現(xiàn)1.2.5關(guān)系運(yùn)算關(guān)系的基本運(yùn)算有兩類:傳統(tǒng)的集合運(yùn)算和專門的關(guān)系運(yùn)算。

傳統(tǒng)的集合運(yùn)算(1)并(Union):設(shè)有兩個(gè)關(guān)系R和S,它們具有相同的結(jié)構(gòu)。R和S的并是由屬于R或?qū)儆赟的元組組成的集合,運(yùn)算符為∪。例如:設(shè)每個(gè)班有一個(gè)學(xué)生關(guān)系R1,R2,R3,…則全校學(xué)生關(guān)系T是:

T=R1∪R2∪R3∪…(2)差(Difference):設(shè)有兩個(gè)關(guān)系R和S,它們具有相同的結(jié)構(gòu)。R和S的差是由屬于R但不屬于S的元組組成的集合。運(yùn)算符為-。例如:設(shè)有參加計(jì)算機(jī)小組的學(xué)生關(guān)系R,參加橋牌小組的學(xué)生關(guān)系S。求參加了計(jì)算機(jī)

小組但沒有參加橋牌小組的學(xué)生。結(jié)果放在關(guān)系T1中,則T1=R-S。17數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫管理的實(shí)現(xiàn)(3)交(Intersection):設(shè)有兩個(gè)關(guān)系R和S,它們具有相同的結(jié)構(gòu)。R和S的交是由既屬于R又屬于S的元組組成的集合,運(yùn)算符為∩。交運(yùn)算的結(jié)果是R和S的共同元組。例如:設(shè)有參加計(jì)算機(jī)小組的學(xué)生關(guān)系R,參加橋牌小組的學(xué)生關(guān)系S。求既參加了計(jì)算機(jī)小組又參加橋牌小組的學(xué)生。結(jié)果放在關(guān)系T2中,則T2=R∩S。關(guān)系的交可以用關(guān)系的差來表示。即R∩S=R-(R–S),所以,上式也可以寫成:T2=R-(R–S)。18數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫管理的實(shí)現(xiàn)專門的關(guān)系運(yùn)算(1)選擇(Selection):按照給定條件從指定的關(guān)系中挑選出滿足條件的元組構(gòu)成新的關(guān)系,其關(guān)系模式不變,但其中元組的數(shù)目小于等于原來的關(guān)系中元組的個(gè)數(shù),它是原關(guān)系的一個(gè)子集。這是從行的角度進(jìn)行的運(yùn)算,即水平方向抽取元組(2)投影(projection):從指定的關(guān)系中挑選出某些屬性構(gòu)成新的關(guān)系,其關(guān)系模式所包含的屬性個(gè)數(shù)往往比原關(guān)系少,或者屬性的排列順序不同。投影的結(jié)果將取消由于取消了某些列而產(chǎn)生的重復(fù)元組。 例如:設(shè)有讀者關(guān)系,讀者(借書證號(hào),姓名,性別,單位,職稱,地址)。按照單位在前,姓名在后的次序列出讀者名單。此運(yùn)算結(jié)果包括元組數(shù)目不變,但減少了列的數(shù)目,同時(shí)改變了列的顯示順序。19數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫管理的實(shí)現(xiàn)(3)聯(lián)接(join):聯(lián)接是將兩個(gè)和多個(gè)關(guān)系模式通過公共的屬性名拼接成一個(gè)更寬的關(guān)系模式,生成的新關(guān)系包含滿足聯(lián)接條件的元組。例如:設(shè)有三個(gè)關(guān)系:學(xué)生(學(xué)號(hào),姓名,所在系,性別,現(xiàn)住址);課程(課程號(hào),課程名,學(xué)分);選修(學(xué)號(hào),課程號(hào),成績)。若想查詢成績90分以上的學(xué)生姓名。聯(lián)接結(jié)果包括學(xué)生、課程、選修三個(gè)關(guān)系中屬性的并集。自然聯(lián)接:是去掉重復(fù)屬性的等值連接。它屬于聯(lián)接運(yùn)算的一個(gè)特例20數(shù)據(jù)庫基本概念1.3關(guān)系數(shù)據(jù)庫設(shè)計(jì)1.3.1數(shù)據(jù)庫設(shè)計(jì)方法手工試湊法

數(shù)據(jù)庫的設(shè)計(jì)水平和與設(shè)計(jì)人員的經(jīng)驗(yàn)有直接關(guān)系。數(shù)據(jù)庫設(shè)計(jì)只是一種經(jīng)驗(yàn)的反復(fù)實(shí)施,而不能稱為是一門科學(xué),缺乏科學(xué)分析理論基礎(chǔ)和工程手段的支持,所以設(shè)計(jì)質(zhì)量很難保證。規(guī)范設(shè)計(jì)法

主要是將設(shè)計(jì)的步驟分為:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)等幾個(gè)步驟,并采用了許多規(guī)范化的手段和工具完成每個(gè)階段的任務(wù)。比如基于E-R模型的數(shù)據(jù)庫設(shè)計(jì)方法,基于3NF(第三范式)的設(shè)計(jì)方法,基于抽象語法規(guī)則的設(shè)計(jì)方法等,就是在數(shù)據(jù)庫設(shè)計(jì)的各個(gè)過程中采用的具體的技術(shù)與方法。

注意:規(guī)范設(shè)計(jì)法仍舊是一種手工方法。對(duì)于大型的項(xiàng)目,規(guī)范化是必須遵循的設(shè)計(jì)思想。21數(shù)據(jù)庫基本概念1.3關(guān)系數(shù)據(jù)庫設(shè)計(jì)1.3.2數(shù)據(jù)庫設(shè)計(jì)步驟

按照規(guī)范化的設(shè)計(jì)方法,數(shù)據(jù)庫設(shè)計(jì)步驟分為六個(gè)階段,這個(gè)過程也叫數(shù)據(jù)庫的生命周期。

需求分析:這個(gè)階段的工作是要充分調(diào)查研究,了解用戶需求概念結(jié)構(gòu)設(shè)計(jì):概念結(jié)構(gòu)是整個(gè)系統(tǒng)的信息結(jié)構(gòu)。它是現(xiàn)實(shí)世界的真實(shí)反映,包括實(shí)體與實(shí)體之間的關(guān)系。邏輯結(jié)構(gòu)設(shè)計(jì):這個(gè)階段的任務(wù)是將概念結(jié)構(gòu)轉(zhuǎn)換成與所選用的DBMS所支持的數(shù)據(jù)模型相符合的過程。物理結(jié)構(gòu)設(shè)計(jì):這個(gè)階段的任務(wù)是為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)合適的物理結(jié)構(gòu),并對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià)。

22數(shù)據(jù)庫基本概念1.3關(guān)系數(shù)據(jù)庫設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì):這個(gè)階段的任務(wù)是為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)合適的物理結(jié)構(gòu),并對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià)。編碼測(cè)試:進(jìn)入這個(gè)階段后,就要按照邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果利用DBMS的數(shù)據(jù)定義語言把數(shù)據(jù)庫描述出來個(gè)階段運(yùn)行維護(hù):試運(yùn)行的主要工作是檢查應(yīng)用程序的功能,測(cè)量系統(tǒng)的性能指標(biāo),在物理設(shè)計(jì)階段所做的評(píng)估是否正確,此時(shí)可以得到檢驗(yàn)。23數(shù)據(jù)庫基本概念1.3關(guān)系數(shù)據(jù)庫設(shè)計(jì)1.3.3數(shù)據(jù)庫設(shè)計(jì)規(guī)范范式的概念

:規(guī)范化是數(shù)據(jù)庫設(shè)計(jì)中的一個(gè)重要過程,可以通過它來剔除數(shù)據(jù)庫中冗余的數(shù)據(jù)。EF–Codd在1971年提出規(guī)范化理論,他和后來的研究人員為數(shù)據(jù)庫結(jié)構(gòu)定義了五種規(guī)范化模式,簡稱范式。規(guī)范化的優(yōu)點(diǎn):

◆大大減少了數(shù)據(jù)冗余◆改進(jìn)了數(shù)據(jù)庫整體組織◆增強(qiáng)了數(shù)據(jù)的一致性◆增加了數(shù)據(jù)庫設(shè)計(jì)的靈活性24數(shù)據(jù)庫基本概念1.3關(guān)系數(shù)據(jù)庫設(shè)計(jì)

第一范式

第一范式規(guī)定表的每個(gè)列的值都是不可分的簡單數(shù)據(jù)項(xiàng)。在任何一個(gè)數(shù)據(jù)庫中,第一范式都是一個(gè)最基本的要求。25數(shù)據(jù)庫基本概念1.3關(guān)系數(shù)據(jù)庫設(shè)計(jì)第二范式

第二范式有兩項(xiàng)要求:(1)所有表必須符合第一范式;(2)表中每一個(gè)非主鍵列都必須完全函數(shù)依賴于主鍵(關(guān)鍵字)。表的不完全函數(shù)依賴關(guān)系將導(dǎo)致很多問題的發(fā)生?!魯?shù)據(jù)冗余:如果外語系有700個(gè)學(xué)生,就得重復(fù)700次相同系名。◆更新異常:如果“外語系”升格成了“外語學(xué)院”,那么所有原外語系學(xué)生的元組都要

◆更新,很難保證修改不出錯(cuò)誤?!舨迦氘惓#喝绻黾恿艘粋€(gè)新系,但該系還沒有學(xué)生,那么這個(gè)系將不能入數(shù)據(jù)庫。26數(shù)據(jù)庫基本概念1.3關(guān)系數(shù)據(jù)庫設(shè)計(jì)第三范式第三范式有兩項(xiàng)要求:(1)所有表必須符合第二范式。(2)表中每一個(gè)非主鍵列對(duì)主鍵都不存在傳遞依賴,而應(yīng)是直接依賴。傳遞依賴的存在與違背第二范式一樣,也將會(huì)導(dǎo)致添加、刪除、更新、冗余等問題。表中出現(xiàn)上述問題的原因是對(duì)主鍵依賴的傳遞。解決的方法同樣是在遵守?zé)o損分解的條件下,將表分解成多個(gè)表,從而消除傳遞依賴的情況。27數(shù)據(jù)庫基本概念1.3關(guān)系數(shù)據(jù)庫設(shè)計(jì)第四范式第四范式禁止了主鍵列和非主鍵列之間的一對(duì)多關(guān)系。在表中,一個(gè)學(xué)生可以有多種喜歡的運(yùn)動(dòng),也可以有多類喜歡的圖書。這樣在同一表中具有這樣兩個(gè)不相關(guān)的列,與主鍵存在多對(duì)一關(guān)系,使得表中存在冗余現(xiàn)象和不對(duì)稱情況,因?yàn)椴恢烂總€(gè)人的喜好情況,也就無法知道哪列的值多,哪列的值少,使得表格中出現(xiàn)了很多不規(guī)則的空白。解決的方法同樣是在遵守?zé)o損分解的條件下,將表分解成多個(gè)表,從而消除傳遞依賴的情況。

28數(shù)據(jù)庫基本概念目錄ContentsSuccessWords29任務(wù)實(shí)踐——?jiǎng)?chuàng)建云平臺(tái)用的數(shù)據(jù)表創(chuàng)建用戶表創(chuàng)建一個(gè)用戶表字段屬性Id整形name字符型sex字符型或bit型brithday日期型Entry_date日期型job字符型Salary小數(shù)型resume大文本型30數(shù)據(jù)庫的安裝與使用創(chuàng)建用戶表創(chuàng)建一個(gè)用戶表31數(shù)據(jù)庫的安裝與使用CREATE

TABLE

"users"(

"user_id"

varchar(31)NOT

NULL,

"user_name"

varchar(64),

"phone"

varchar(20),

"password"

varchar(255),

"email"

varchar(128),

"name"

varchar(64),

"signup_time"

timestamp,

"create_time"

timestamp,

"status"int2DEFAULT0,

"detail"

varchar

);創(chuàng)建設(shè)備表創(chuàng)建一個(gè)設(shè)備表字段屬性device_id整形user_id字符型name字符型或bit型type日期型status日期型create_time字符型credentials_type小數(shù)型credentials_value大文本型32數(shù)據(jù)庫的安裝與使用創(chuàng)建設(shè)備表創(chuàng)建一個(gè)設(shè)備表33數(shù)據(jù)庫的安裝與使用CREATE

TABLE

"device"(

"device_id"

varchar(31)NOT

NULL,

"user_id"

varchar(31),

"name"

varchar(255),

"type"

varchar(255),

"status"int2DEFAULT0,

"create_time"

timestamp,

"credentials_type"

varchar(255),

"credentials_value"

varchar,

"detail"

varch

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論