數(shù)據(jù)庫(kù)基本原理_第1頁(yè)
數(shù)據(jù)庫(kù)基本原理_第2頁(yè)
數(shù)據(jù)庫(kù)基本原理_第3頁(yè)
數(shù)據(jù)庫(kù)基本原理_第4頁(yè)
數(shù)據(jù)庫(kù)基本原理_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)基本原理第1頁(yè),共73頁(yè),2023年,2月20日,星期五1.1數(shù)據(jù)庫(kù)概述數(shù)據(jù)庫(kù)技術(shù)產(chǎn)生于20世紀(jì)60年代中期,幾十年來得到了迅速發(fā)展。人們對(duì)信息和數(shù)據(jù)的利用和處理已進(jìn)入自動(dòng)化、網(wǎng)絡(luò)化和社會(huì)化階段,如銀行儲(chǔ)蓄、股票交易、資料查詢、氣象預(yù)報(bào)、機(jī)票預(yù)定等。這些任務(wù)既需要大量數(shù)據(jù),又要求快速處理并及時(shí)得到結(jié)果,是傳統(tǒng)的人工方法不可能完成的。飛速發(fā)展的計(jì)算機(jī)技術(shù)使上述大規(guī)模的數(shù)據(jù)處理得以實(shí)現(xiàn)。1.1.1數(shù)據(jù)庫(kù)的產(chǎn)生和發(fā)展

第2頁(yè),共73頁(yè),2023年,2月20日,星期五數(shù)據(jù)庫(kù)(Database)這個(gè)名詞起源于20世紀(jì)50年代。從目前情況看,關(guān)系數(shù)據(jù)庫(kù)仍然占絕對(duì)的主導(dǎo)地位,并將影響著數(shù)據(jù)庫(kù)技術(shù)的發(fā)展。數(shù)據(jù)庫(kù)技術(shù)的發(fā)展已經(jīng)歷了4個(gè)發(fā)展階段:第3頁(yè),共73頁(yè),2023年,2月20日,星期五1.人工管理數(shù)據(jù)階段的特點(diǎn)(1)數(shù)據(jù)不保存;(2)沒有專用軟件對(duì)數(shù)據(jù)進(jìn)行管理;(3)數(shù)據(jù)不共享;(4)數(shù)據(jù)不具有獨(dú)立性。2.文件系統(tǒng)管理階段的特點(diǎn)(1)數(shù)據(jù)可以長(zhǎng)期保存;(2)有專用軟件對(duì)數(shù)據(jù)進(jìn)行管理;(3)數(shù)據(jù)共享性差、冗余度大;(4)數(shù)據(jù)獨(dú)立性差。第4頁(yè),共73頁(yè),2023年,2月20日,星期五3.數(shù)據(jù)庫(kù)系統(tǒng)階段的特點(diǎn)

(1)數(shù)據(jù)結(jié)構(gòu)化;(2)數(shù)據(jù)冗余度??;(3)數(shù)據(jù)共享性好;(4)數(shù)據(jù)獨(dú)立性高;(5)數(shù)據(jù)有統(tǒng)一管理和控制。第5頁(yè),共73頁(yè),2023年,2月20日,星期五4.高級(jí)數(shù)據(jù)庫(kù)階段

計(jì)算機(jī)輔助設(shè)計(jì)/制造(CAD/CAM)、計(jì)算機(jī)集成制造(CIM)、地理信息系統(tǒng)(GIS)、辦公信息系統(tǒng)(OIS)、計(jì)算機(jī)輔助超大規(guī)模集成電路設(shè)計(jì)(VLSICAD)等都需要數(shù)據(jù)庫(kù)的支持。這些系統(tǒng)在數(shù)據(jù)類型或數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)存儲(chǔ)方面有特殊要求,傳統(tǒng)的數(shù)據(jù)庫(kù)系統(tǒng)并不能支持。第6頁(yè),共73頁(yè),2023年,2月20日,星期五1.1.2現(xiàn)實(shí)世界、信息世界、數(shù)據(jù)世界1.現(xiàn)實(shí)世界現(xiàn)實(shí)世界存在著大量的事物。這些事物可以是具體的,也可以是抽象的。各個(gè)事物都有表征自己的各種特征。由于考慮問題的不同,同一個(gè)事物可能有不同的特征來描述它。每一個(gè)事物的全部特征就反映了該事物本身。每一個(gè)事物至少有一個(gè)特征。第7頁(yè),共73頁(yè),2023年,2月20日,星期五2.信息世界人們觀察各種事物,在大腦中形成抽象概念,這就是信息(Information)。信息世界就是現(xiàn)實(shí)世界的事物在人腦中的抽象表現(xiàn)。第8頁(yè),共73頁(yè),2023年,2月20日,星期五3.數(shù)據(jù)世界數(shù)據(jù)世界就是信息世界中信息的數(shù)據(jù)化。信息和數(shù)據(jù)是緊密相關(guān)的,許多場(chǎng)合將它們看作同義詞。在數(shù)據(jù)世界里,將現(xiàn)實(shí)世界中諸事物凡有規(guī)律的特征都用恰當(dāng)?shù)木幋a表示是非常必要的。編碼的質(zhì)量是影響數(shù)據(jù)庫(kù)系統(tǒng)的決定性因素。

第9頁(yè),共73頁(yè),2023年,2月20日,星期五1.1.3數(shù)據(jù)庫(kù)基本概念1.數(shù)據(jù)數(shù)據(jù)(Data)就是描述信息的符號(hào),是數(shù)據(jù)庫(kù)中存儲(chǔ)的基本對(duì)象。數(shù)據(jù)處理(DataProcessing)是將原始數(shù)據(jù)轉(zhuǎn)換成信息的過程。2.數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)(Database,簡(jiǎn)稱DB)是在計(jì)算機(jī)系統(tǒng)中按照一定數(shù)據(jù)模型組織、存儲(chǔ)和應(yīng)用的相互聯(lián)系的數(shù)據(jù)集合。第10頁(yè),共73頁(yè),2023年,2月20日,星期五數(shù)據(jù)庫(kù)技術(shù)(DatabaseTechnique)就是一種對(duì)數(shù)據(jù)進(jìn)行加工以得到有用信息的計(jì)算機(jī)軟件技術(shù)。3.數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem,簡(jiǎn)稱DBMS)是一種計(jì)算機(jī)軟件系統(tǒng)。以數(shù)據(jù)庫(kù)管理系統(tǒng)為核心的應(yīng)用系統(tǒng)稱為管理信息系統(tǒng)(ManagementInformationSystem,簡(jiǎn)稱MIS)。

第11頁(yè),共73頁(yè),2023年,2月20日,星期五4.數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem,簡(jiǎn)稱DBS)就是以數(shù)據(jù)庫(kù)應(yīng)用為基礎(chǔ)的計(jì)算機(jī)系統(tǒng)。

數(shù)據(jù)庫(kù)系統(tǒng)不僅包括必須存儲(chǔ)的數(shù)據(jù),還包括相應(yīng)的硬件、軟件和各類工作人員。第12頁(yè),共73頁(yè),2023年,2月20日,星期五1.2數(shù)據(jù)模型數(shù)據(jù)庫(kù)中的大量數(shù)據(jù)必須按嚴(yán)格的數(shù)據(jù)模型來組織。數(shù)據(jù)庫(kù)中的數(shù)據(jù)是高度結(jié)構(gòu)化的,它不僅反映數(shù)據(jù)本身,而且反映數(shù)據(jù)之間的關(guān)系。數(shù)據(jù)模型就是描述這種關(guān)系的數(shù)據(jù)結(jié)構(gòu)形式。理想的數(shù)據(jù)模型應(yīng)能滿足三方面的要求:一是能比較真實(shí)地描述現(xiàn)實(shí)世界;二是容易被人所理解;三是便于在計(jì)算機(jī)上實(shí)現(xiàn)。根據(jù)模型應(yīng)用的不同目的??梢詫⒛P蛣澐譃閮深?,它們分屬于兩個(gè)不同的層次。

第13頁(yè),共73頁(yè),2023年,2月20日,星期五概念模型(IdeaModel)是現(xiàn)實(shí)世界到信息世界的抽象,又稱為信息模型。數(shù)據(jù)模型(DataModel)是信息世界到數(shù)據(jù)世界的抽象。數(shù)據(jù)庫(kù)領(lǐng)域最常見的數(shù)據(jù)模型有4種:層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο竽P?。其中層次模型和網(wǎng)狀模型統(tǒng)稱為非關(guān)系模型。目前,關(guān)系模型是最常用的數(shù)據(jù)模型。以關(guān)系模型為基礎(chǔ)建立的數(shù)據(jù)庫(kù)管理系統(tǒng)稱為關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)。第14頁(yè),共73頁(yè),2023年,2月20日,星期五1.2.1

數(shù)據(jù)模型的組成要素?cái)?shù)據(jù)模型通常都是由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束3個(gè)要素組成。1.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是所研究的對(duì)象類型(objecttype)的集合,用于描述系統(tǒng)的靜態(tài)特征。2.數(shù)據(jù)操作數(shù)據(jù)操作是指數(shù)據(jù)庫(kù)中各種對(duì)象(型)的實(shí)例(值)允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則,用于描述系統(tǒng)的動(dòng)態(tài)特征。第15頁(yè),共73頁(yè),2023年,2月20日,星期五3.數(shù)據(jù)約束條件數(shù)據(jù)約束條件是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和存儲(chǔ)規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫(kù)狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容。數(shù)據(jù)模型還應(yīng)該提供定義完整性約束條件的機(jī)制,以反映具體應(yīng)用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。第16頁(yè),共73頁(yè),2023年,2月20日,星期五1.2.2

信息世界的主要概念1.實(shí)體實(shí)體(Entity)就是現(xiàn)實(shí)世界中客觀存在并可相互區(qū)分的事物。實(shí)體既可以是看得見摸得著的具體的事物,也可以是抽象的概念或聯(lián)系。例如,某一本書、某一架飛機(jī)、某個(gè)學(xué)生等都是實(shí)體。第17頁(yè),共73頁(yè),2023年,2月20日,星期五2.屬性實(shí)體所具有的某一特征稱為屬性(Attribute)。一個(gè)實(shí)體由若干個(gè)(至少一個(gè))屬性來描述。一個(gè)實(shí)體的所有屬性組成實(shí)體本身。例如,學(xué)生實(shí)體可以由學(xué)號(hào)、姓名、性別、出生年月日、班級(jí)等屬性組成。而(0100001、馮東梅、女、1980/12/26、01電子商務(wù)1)就是一個(gè)學(xué)生(實(shí)體)的屬性值。第18頁(yè),共73頁(yè),2023年,2月20日,星期五3.碼唯一標(biāo)識(shí)實(shí)體的屬性組稱為碼(Key),通常又稱為關(guān)鍵字。如果實(shí)體有多個(gè)碼,則可以選定其中一個(gè)碼為主碼(PrimaryKey),通常又稱為主關(guān)鍵字。如果實(shí)體只有一個(gè)碼,它就是主碼(主關(guān)鍵字)。第19頁(yè),共73頁(yè),2023年,2月20日,星期五例如,一個(gè)學(xué)校里,學(xué)生實(shí)體的學(xué)號(hào)是肯定不重復(fù)的。所以學(xué)號(hào)可以作為學(xué)生實(shí)體的碼。如果學(xué)生實(shí)體中含有身份證號(hào)屬性,則身份證號(hào)也是碼,可以在學(xué)號(hào)和身份證號(hào)中選定一個(gè)作為主碼(主關(guān)鍵字)。通常情況下只關(guān)注實(shí)體的主碼,所以,在不會(huì)引起混淆時(shí),通常說碼、主碼、關(guān)鍵字或主關(guān)鍵字,含義都相同。4.域?qū)傩缘脑试S取值的集合稱為該屬性的域(Domain)。第20頁(yè),共73頁(yè),2023年,2月20日,星期五例如,學(xué)號(hào)的域是{7位數(shù)字}(某校規(guī)定),性別的域是{男、女},班級(jí)的域是該校所有班級(jí)的集合。5.實(shí)體型用實(shí)體名及其所有屬性名集合來抽象和描述同類實(shí)體稱為實(shí)體型(Entitytype)。例如,學(xué)生(學(xué)號(hào)、姓名、性別、出生年月日、班級(jí))就是一個(gè)實(shí)體型。第21頁(yè),共73頁(yè),2023年,2月20日,星期五6.實(shí)體集同型實(shí)體的集合稱為實(shí)體集(Entityset)。例如,某個(gè)學(xué)校(或某個(gè)班級(jí))的全體學(xué)生就是一個(gè)實(shí)體集。7.聯(lián)系信息世界的不同實(shí)體集之間和同一實(shí)體集內(nèi)部都可能存在一定的聯(lián)系(Relationship)。第22頁(yè),共73頁(yè),2023年,2月20日,星期五數(shù)據(jù)世界的概念是和信息世界的概念相對(duì)應(yīng)的:數(shù)據(jù)表(Datatable)是實(shí)體集的數(shù)據(jù)表示;記錄(Record)是實(shí)體的數(shù)據(jù)表示;數(shù)據(jù)項(xiàng)(Item)是屬性的數(shù)據(jù)表示。記錄由若干數(shù)據(jù)項(xiàng)組成。第23頁(yè),共73頁(yè),2023年,2月20日,星期五1.2.3實(shí)體的聯(lián)系信息世界存在的聯(lián)系有兩種:其一是一個(gè)實(shí)體集內(nèi)部的聯(lián)系;其二是不同實(shí)體集之間的聯(lián)系。1.實(shí)體集內(nèi)部的聯(lián)系實(shí)體集內(nèi)部的聯(lián)系通常指組成該實(shí)體的各屬性之間的聯(lián)系。第24頁(yè),共73頁(yè),2023年,2月20日,星期五在表1-1中,不同實(shí)體的學(xué)號(hào)都不重復(fù),即學(xué)號(hào)與實(shí)體間有一一對(duì)應(yīng)關(guān)系。學(xué)號(hào)就是學(xué)生情況這個(gè)實(shí)體集的關(guān)鍵字。表1-1學(xué)生情況學(xué)號(hào)姓名性別出生年月日家庭所在地家庭人均月收入0100001馮東梅女1980-12-26北京1,1000100002章蕾女1979-02-18上海3500100007聞維祥男1979-02-24天津4500100008黎念真女1979-08-19重慶4000100009鐘開才男1978-08-08廣東4000100117江介敏女1978-06-08湖北600第25頁(yè),共73頁(yè),2023年,2月20日,星期五表1-2選課及成績(jī)學(xué)號(hào)課程號(hào)成績(jī)0100001A002850100001B001920100001B022780100001C032850100001D012780100002A002900100002B001800100002B022980100002C032920100002D01289在表1-2中,不同實(shí)體的學(xué)號(hào)(或課程號(hào)、或成績(jī))都有可能重復(fù)。但是,不同實(shí)體的學(xué)號(hào)加課程號(hào)則不可能重復(fù)。所以,學(xué)號(hào)和課程號(hào)這兩個(gè)屬性組成的屬性組是選課及成績(jī)這個(gè)關(guān)系的關(guān)鍵字。

第26頁(yè),共73頁(yè),2023年,2月20日,星期五2.實(shí)體集之間的聯(lián)系

對(duì)于兩個(gè)不同的實(shí)體集A和B,它們之間的聯(lián)系通常有以下三種方式:

一對(duì)一聯(lián)系(1:1)一對(duì)多聯(lián)系(1:n)多對(duì)多聯(lián)系(m:n)第27頁(yè),共73頁(yè),2023年,2月20日,星期五一對(duì)一聯(lián)系是一對(duì)多聯(lián)系的特例,一對(duì)多聯(lián)系又是多對(duì)多聯(lián)系的特例。多對(duì)多聯(lián)系直接處理起來很困難,通常是將多對(duì)多聯(lián)系轉(zhuǎn)化為兩個(gè)一對(duì)多聯(lián)系來處理。概念模型和各種數(shù)據(jù)模型均不支持多對(duì)多聯(lián)系,只支持一對(duì)一聯(lián)系和一對(duì)多聯(lián)系。第28頁(yè),共73頁(yè),2023年,2月20日,星期五同一實(shí)體集內(nèi)的各實(shí)體之間也可以存在一對(duì)一、一對(duì)多或多對(duì)多聯(lián)系。例如,學(xué)生實(shí)體集內(nèi)部存在“領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)”的聯(lián)系,即某一學(xué)生(班長(zhǎng))“領(lǐng)導(dǎo)”多名(全班)學(xué)生,而一個(gè)學(xué)生僅被一個(gè)學(xué)生(班長(zhǎng))“領(lǐng)導(dǎo)”,這就是一對(duì)多聯(lián)系。在復(fù)雜問題中,兩個(gè)以上的實(shí)體集之間也往往存在一對(duì)一、一對(duì)多或多對(duì)多聯(lián)系。第29頁(yè),共73頁(yè),2023年,2月20日,星期五1.2.4概念模型對(duì)于具體的實(shí)際問題,建立正確合理的概念模型是建立數(shù)據(jù)模型的前提。一個(gè)好的概念模型應(yīng)該考慮和解決的問題是:

(1)

實(shí)際問題需要哪些實(shí)體集以及各個(gè)實(shí)體需要哪些屬性;

(2)

這些實(shí)體集內(nèi)部和實(shí)體集之間有怎樣的聯(lián)系;

(3)如果存在多對(duì)多聯(lián)系,如何轉(zhuǎn)化為一對(duì)多聯(lián)系。第30頁(yè),共73頁(yè),2023年,2月20日,星期五表示概念模型最常用的是實(shí)體―聯(lián)系方法(entity-relationshipapproach)。該方法用E―R圖來描述。在E―R圖中,實(shí)體型、屬性和聯(lián)系的表示方法如下:

(1)實(shí)體型:用矩形表示,矩形框內(nèi)寫實(shí)體名;

第31頁(yè),共73頁(yè),2023年,2月20日,星期五

(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)。聯(lián)系本身也是一種實(shí)體型,也可以有屬性。如果一個(gè)聯(lián)系有屬性,也用無向線段將屬性與該聯(lián)系連接。第32頁(yè),共73頁(yè),2023年,2月20日,星期五(a)1:1聯(lián)系(b)1:n聯(lián)系(c)m:n聯(lián)系兩個(gè)實(shí)體之間的三類聯(lián)系

第33頁(yè),共73頁(yè),2023年,2月20日,星期五學(xué)生實(shí)體、課程實(shí)體及其屬性將多對(duì)多聯(lián)系轉(zhuǎn)化為一對(duì)多聯(lián)系的一般方法是:增加一個(gè)新的實(shí)體集,并且這個(gè)新的實(shí)體集和原來的兩個(gè)實(shí)體集之間都是一對(duì)多聯(lián)系。第34頁(yè),共73頁(yè),2023年,2月20日,星期五學(xué)生學(xué)習(xí)成績(jī)管理概念模型第35頁(yè),共73頁(yè),2023年,2月20日,星期五這個(gè)例子也給出了將多對(duì)多聯(lián)系轉(zhuǎn)化為一對(duì)多聯(lián)系的一般方法,這就是:增加一個(gè)新的實(shí)體集,并且這個(gè)新的實(shí)體集和原來的兩個(gè)實(shí)體集之間都是一對(duì)多聯(lián)系。

第36頁(yè),共73頁(yè),2023年,2月20日,星期五1.2.5層次模型層次模型(HierarchicalModel)用樹形結(jié)構(gòu)表示各類實(shí)體以及實(shí)體間的聯(lián)系。從樹的觀點(diǎn)看,層次模型滿足以下兩個(gè)條件:

(1)

有且僅有一個(gè)結(jié)點(diǎn)無雙親結(jié)點(diǎn),稱之為根結(jié)點(diǎn)(簡(jiǎn)稱根);

(2)

根以外的其他結(jié)點(diǎn)有且僅有一個(gè)雙親結(jié)點(diǎn)。層次模型只能反映實(shí)體之間一對(duì)多的關(guān)系。第37頁(yè),共73頁(yè),2023年,2月20日,星期五層次模型示意圖下圖所示是一個(gè)層次模型的典型。第38頁(yè),共73頁(yè),2023年,2月20日,星期五1.2.6網(wǎng)狀模型網(wǎng)狀模型(NetworkModel)是比層次模型更具普遍性的一種結(jié)構(gòu)。它去掉了層次模型的兩個(gè)限制條件,允許有一個(gè)以上的結(jié)點(diǎn)無雙親結(jié)點(diǎn),允許結(jié)點(diǎn)可以有多個(gè)雙親結(jié)點(diǎn),此外它還允許兩個(gè)結(jié)點(diǎn)之間有多種聯(lián)系(稱之為復(fù)合聯(lián)系)。第39頁(yè),共73頁(yè),2023年,2月20日,星期五網(wǎng)狀模型有如下優(yōu)點(diǎn):

(1)可以直接描述包括多對(duì)多在內(nèi)的更復(fù)雜的關(guān)系。

(2)具有良好的性能,存取效率較高。網(wǎng)狀模型也有缺點(diǎn):

(1)對(duì)計(jì)算機(jī)的硬件和軟件環(huán)境要求較高。

(2)數(shù)據(jù)庫(kù)的獨(dú)立性較差。

(3)操作比較復(fù)雜。第40頁(yè),共73頁(yè),2023年,2月20日,星期五下圖表示零部件的采購(gòu)——使用關(guān)系,這是一個(gè)典型的網(wǎng)狀模型。第41頁(yè),共73頁(yè),2023年,2月20日,星期五下圖表示1.2.4介紹的學(xué)生選修關(guān)系這個(gè)網(wǎng)狀模型。

第42頁(yè),共73頁(yè),2023年,2月20日,星期五1.2.7關(guān)系模型關(guān)系模型(RelationalModel)中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。表1-1所示的學(xué)生情況就是一個(gè)關(guān)系模型。關(guān)系模型的主要概念關(guān)系(relation):關(guān)系模型中表示數(shù)據(jù)的整個(gè)一張二維表就是關(guān)系。元組(Tuple):二維表中的每一行即為一個(gè)元組,對(duì)應(yīng)概念模型的一個(gè)實(shí)體。屬性(Attribute):二維表中的每一列即為一個(gè)屬性,對(duì)應(yīng)概念模型的一個(gè)屬性。第43頁(yè),共73頁(yè),2023年,2月20日,星期五主碼(Key):二維表中唯一標(biāo)識(shí)元組的某個(gè)屬性組稱為該關(guān)系的主碼,對(duì)應(yīng)概念模型的碼。域(Domain):二維表中任一屬性的取值范圍稱為該屬性的域,對(duì)應(yīng)概念模型的域。分量:元組中的每一個(gè)屬性值稱為元組的分量。關(guān)系模式(Relationschema):對(duì)關(guān)系的描述稱為關(guān)系模式,通常用關(guān)系名及其所有屬性名集合來表示,類似概念模型中實(shí)體型的表示方法。第44頁(yè),共73頁(yè),2023年,2月20日,星期五整個(gè)表1-1就是一個(gè)關(guān)系。表中的每一行都是一個(gè)元組。學(xué)號(hào)、姓名、性別等每一列都是屬性。學(xué)號(hào)是這個(gè)關(guān)系的碼。{男、女}、正確的日期集合分別是性別和出生年月日的域?!?100001’、‘馮東梅’、‘女’、‘1980-12-26’、‘北京’和‘1100’等都是分量。而學(xué)生(學(xué)號(hào),姓名,性別,出生年月日,家庭所在地,家庭人均月收入)是這個(gè)關(guān)系的關(guān)系模式。

第45頁(yè),共73頁(yè),2023年,2月20日,星期五關(guān)系模型既可以反映屬性之間一對(duì)多的關(guān)系,也可以反映屬性之間多對(duì)多的關(guān)系。關(guān)系模型具有以下特點(diǎn):

(1)

數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單,概念清楚;

(2)

能夠直接反映實(shí)體之間一對(duì)一、一對(duì)多和多對(duì)多關(guān)系;

(3)

通過公共屬性就可以建立表與表之間的聯(lián)系,從而就建立了實(shí)體之間的聯(lián)系;

(4)

具有嚴(yán)格的理論基礎(chǔ)。第46頁(yè),共73頁(yè),2023年,2月20日,星期五1.2.8面向?qū)ο竽P兔嫦驅(qū)ο竽P停∣bjectOrientedModel)是數(shù)據(jù)庫(kù)系統(tǒng)中最近出現(xiàn)的一種模型。面向?qū)ο竽P椭凶罨镜母拍钍菍?duì)象(object)和類(class)。面向?qū)ο竽P褪钦诎l(fā)展中的模型,具有廣闊的前途和生命力。第47頁(yè),共73頁(yè),2023年,2月20日,星期五1.3關(guān)系的完整性關(guān)系模型允許定義三類完整性:實(shí)體完整性、參照完整性和用戶定義的完整性。實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱為關(guān)系的兩個(gè)不變性,由關(guān)系系統(tǒng)自動(dòng)支持。這里先列出3個(gè)例題,以便后面引用。例1-1

學(xué)生實(shí)體和專業(yè)實(shí)體可以用下面的關(guān)系表示(其中主碼用紅色體字標(biāo)識(shí)): 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)

專業(yè)(專業(yè)號(hào),專業(yè)名)第48頁(yè),共73頁(yè),2023年,2月20日,星期五例1-2

學(xué)生實(shí)體、課程實(shí)體、學(xué)生與課程之間的選課及成績(jī)實(shí)體可以用如下3個(gè)關(guān)系來表示: 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)

課程(課程號(hào),課程名,學(xué)分)

選課及成績(jī)(學(xué)號(hào),課程號(hào),成績(jī))例1-3

另一個(gè)學(xué)生實(shí)體的關(guān)系是: 學(xué)生2(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長(zhǎng)學(xué)號(hào))第49頁(yè),共73頁(yè),2023年,2月20日,星期五1.3.1實(shí)體完整性一個(gè)基本關(guān)系通常對(duì)應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集。例如,學(xué)生關(guān)系對(duì)應(yīng)學(xué)生的集合?,F(xiàn)實(shí)世界的實(shí)體是可區(qū)分的,即它們具有某種唯一性標(biāo)識(shí)。相應(yīng)地,關(guān)系模型中以主碼作為唯一性標(biāo)識(shí)。主碼中的屬性即主屬性不能取空值。所謂空值就是“不知道”或“無意義”的值。如果主屬性取空值,就說明存在某個(gè)不可標(biāo)識(shí)的實(shí)體,即存在不可區(qū)分的實(shí)體,這與現(xiàn)實(shí)世界的應(yīng)用環(huán)境相矛盾,因此這個(gè)實(shí)體一定不是一個(gè)完整的實(shí)體。第50頁(yè),共73頁(yè),2023年,2月20日,星期五實(shí)體完整性(EntityIntegrity)規(guī)則:若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。在例1-1的學(xué)生關(guān)系中,學(xué)號(hào)為主碼,則學(xué)號(hào)不能取空值。實(shí)體完整性規(guī)則規(guī)定基本關(guān)系的所有主屬性都不能取空值,而不僅是主碼整體不能取空值。在例1-2的選課及成績(jī)關(guān)系中,學(xué)號(hào)+課程號(hào)為主碼,則學(xué)號(hào)和課程號(hào)兩個(gè)屬性都不能取空值。第51頁(yè),共73頁(yè),2023年,2月20日,星期五1.3.2參照完整性現(xiàn)實(shí)世界中的實(shí)體之間往往存在某種聯(lián)系,在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來描述的。這樣就自然存在著關(guān)系與關(guān)系間的引用。例1-1的兩個(gè)關(guān)系之間存在著屬性的引用,即學(xué)生關(guān)系引用了專業(yè)關(guān)系的主碼“專業(yè)號(hào)”。顯然,學(xué)生關(guān)系中的專業(yè)號(hào)值,必須是確實(shí)存在的專業(yè)的“專業(yè)號(hào)”,即專業(yè)關(guān)系中有該專業(yè)的記錄。這就是說,學(xué)生關(guān)系中的某個(gè)屬性的取值需要參照專業(yè)關(guān)系對(duì)應(yīng)屬性的取值。第52頁(yè),共73頁(yè),2023年,2月20日,星期五例1-2的3個(gè)關(guān)系之間也存在著屬性的引用,即選課及成績(jī)關(guān)系引用了學(xué)生關(guān)系的主碼“學(xué)號(hào)”和課程關(guān)系的主碼“課程號(hào)”。選課及成績(jī)關(guān)系中的學(xué)號(hào)值必須是確實(shí)存在的學(xué)生的“學(xué)號(hào)”,即學(xué)生關(guān)系中有該學(xué)生的記錄;選課及成績(jī)關(guān)系中的課程號(hào)值,也必須是確實(shí)存在的課程的“課程號(hào)”,即課程關(guān)系中有該課程的記錄。選課及成績(jī)關(guān)系中某些屬性的取值需要參照其他關(guān)系對(duì)應(yīng)屬性的取值。第53頁(yè),共73頁(yè),2023年,2月20日,星期五不僅兩個(gè)或兩個(gè)以上的關(guān)系間可以存在引用關(guān)系,同一關(guān)系內(nèi)部屬性間也可能存在引用關(guān)系。

在例1-3的關(guān)系中,“學(xué)號(hào)”屬性是主碼,“班長(zhǎng)學(xué)號(hào)”屬性表示該學(xué)生所在班級(jí)的班長(zhǎng)的學(xué)號(hào),班長(zhǎng)必須是這個(gè)班的學(xué)生,即“班長(zhǎng)學(xué)號(hào)”必須是確實(shí)存在的學(xué)生的“學(xué)號(hào)”。第54頁(yè),共73頁(yè),2023年,2月20日,星期五設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼,如果F與基本關(guān)系S的主碼K相對(duì)應(yīng),則稱F是基本關(guān)系R的外碼(Foreignkey),并稱基本關(guān)系R為參照關(guān)系(Referencingrelation),基本關(guān)系S為被參照關(guān)系(Referencedrelation)或目標(biāo)關(guān)系(Targetrelation)。關(guān)系R和S不一定是不同的關(guān)系。目標(biāo)關(guān)系S的主碼Ks和參照關(guān)系R的外碼F必須定義在同一個(gè)(或一組)域上。

第55頁(yè),共73頁(yè),2023年,2月20日,星期五下圖清楚地表達(dá)了例1-1、例1-2和例1-3的參照關(guān)系。

第56頁(yè),共73頁(yè),2023年,2月20日,星期五參照完整性規(guī)則就是定義外碼與主碼之間的引用規(guī)則。參照完整性(ReferentialIntegrity)

規(guī)則:若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為:或者取空值(F的每個(gè)屬性值均為空值);或者等于S中某個(gè)元組的主碼值。第57頁(yè),共73頁(yè),2023年,2月20日,星期五對(duì)于例1-1,學(xué)生關(guān)系中每個(gè)元組的專業(yè)號(hào)屬性只能取下面兩類值:空值,表示尚未給該學(xué)生確定所學(xué)專業(yè);非空值,這時(shí)該值必須是專業(yè)關(guān)系中某個(gè)元組的專業(yè)號(hào)值,表示該學(xué)生不可能分配到一個(gè)不存在的專業(yè)中學(xué)習(xí)。即被參照關(guān)系“專業(yè)”中一定存在一個(gè)元組,它的主碼值等于該參照關(guān)系“學(xué)生”中的外碼值。第58頁(yè),共73頁(yè),2023年,2月20日,星期五對(duì)于例1-2中的選課及成績(jī)關(guān)系,按參照完整性規(guī)則,學(xué)號(hào)和課程號(hào)屬性也可以取兩類值:空值或目標(biāo)關(guān)系中已經(jīng)存在的值。但由于學(xué)號(hào)和課程號(hào)是選課及成績(jī)關(guān)系中的主屬性,按照實(shí)體完整性規(guī)則,它們均不能取空值。所以選課及成績(jī)關(guān)系中的學(xué)號(hào)和課程號(hào)屬性實(shí)際上只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼值。第59頁(yè),共73頁(yè),2023年,2月20日,星期五參照完整性規(guī)則中,R與S可以是同一個(gè)關(guān)系。 例如,對(duì)于例1-3,按照參照完整性規(guī)則,班長(zhǎng)屬性值可以取兩類值:空值,表示該學(xué)生所在班級(jí)尚未選出班長(zhǎng);非空值,這時(shí)該值必須是本關(guān)系中某個(gè)元組的學(xué)號(hào)值。第60頁(yè),共73頁(yè),2023年,2月20日,星期五1.3.3用戶定義的完整性實(shí)體完整性和參照性適用于任何關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。除此之外,不同的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)根據(jù)其應(yīng)用環(huán)境的不同,往往還需要一些特殊的約束條件。用戶定義的完整性就是針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的實(shí)際要求,即取值的限制范圍。第61頁(yè),共73頁(yè),2023年,2月20日,星期五例如,某個(gè)非主屬性不能取空值(如:姓名)、某個(gè)屬性的取值范圍限定在0~100之間(如:成績(jī))、某個(gè)屬性只能取幾個(gè)特定的值(如:性別)等。關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類完整性機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能。第62頁(yè),共73頁(yè),2023年,2月20日,星期五1.4關(guān)系模型的規(guī)范化用關(guān)系模型描述現(xiàn)實(shí)世界直觀、明了。但是,要做到用關(guān)系模型很好地描述現(xiàn)實(shí)世界卻不是一件容易的事情。設(shè)計(jì)一個(gè)好的數(shù)據(jù)庫(kù)是一項(xiàng)極其復(fù)雜的工作,規(guī)范化理論就是設(shè)計(jì)過程中的一個(gè)非常有用的輔助工具。一般地說,關(guān)系模型的范式級(jí)別越高,設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)質(zhì)量越高。第一范式是關(guān)系模型規(guī)范化最基本的要求,第二范式的級(jí)別比第一范式高,第三范式的級(jí)別又比第二范式高。第63頁(yè),共73頁(yè),2023年,2月20日,星期五1.4.1第一范式如果關(guān)系模式R的每一個(gè)關(guān)系的屬性值都是不可分的原子值,則稱R屬于第一范式(1NF)。屬于1NF的關(guān)系稱為規(guī)范化關(guān)系,不屬于1NF的關(guān)系稱為非規(guī)范化關(guān)系。不難驗(yàn)證,表1-1和表1-2所示的實(shí)體集都是屬于1NF的規(guī)范化關(guān)系。但是實(shí)際問題中的報(bào)表結(jié)構(gòu)有許多是非規(guī)范化的。例如,下頁(yè)表1-3是不規(guī)范的。從規(guī)范化的關(guān)系模型的數(shù)據(jù)庫(kù)是完全能夠生成象表1-3這樣結(jié)構(gòu)的報(bào)表的。第64頁(yè),共73頁(yè),2023年,2月20日,星期五表1-3指導(dǎo)研究生導(dǎo)師姓名專業(yè)學(xué)生

研究生1研究生2林知榮網(wǎng)絡(luò)系統(tǒng)田園劉剛周銀華數(shù)據(jù)庫(kù)技術(shù)曲彩燕

黎祥數(shù)據(jù)庫(kù)技術(shù)邱羅耕方萍實(shí)際問題中的報(bào)表結(jié)構(gòu)有許多是非規(guī)范化的。例如,表1-3是不規(guī)范的。不能依這樣的結(jié)構(gòu)設(shè)計(jì)關(guān)系模型,必須將這樣的表需要的數(shù)據(jù)(以及其它數(shù)據(jù))進(jìn)行處理,使之規(guī)范化。從規(guī)范化的關(guān)系模型的數(shù)據(jù)庫(kù)是完全能夠生成象表1-3這樣結(jié)構(gòu)的報(bào)表的。第65頁(yè),共73頁(yè),2023年,2月20日,星期五表1-4教師任課教工編號(hào)姓名課程號(hào)課程名稱10013羅開才C031計(jì)算機(jī)應(yīng)用基礎(chǔ)10013羅開才C032數(shù)據(jù)庫(kù)原理及應(yīng)用10013羅開才C043操作系統(tǒng)10036劉霞C031計(jì)算機(jī)應(yīng)用基礎(chǔ)10036劉霞C032數(shù)據(jù)庫(kù)原理及應(yīng)用10036劉霞C051軟件工程10038歐陽(yáng)華D001統(tǒng)計(jì)原理10038歐陽(yáng)華D012經(jīng)濟(jì)法基礎(chǔ)一個(gè)關(guān)系應(yīng)滿足1NF是最起碼的條件。然而,僅滿足1NF的關(guān)系還可能存在一些問題。表1-4是滿足1NF的一個(gè)具體實(shí)例,但在操作中可能出現(xiàn)如下的一些問題。

(1)插入異常

(2)刪除異常

(3)數(shù)據(jù)冗余第66頁(yè),共73頁(yè),2023年,2月20日,星期五1.4.2第二范式如果關(guān)系模式R屬于1NF,并且每個(gè)非碼屬性都完全依賴于各個(gè)碼,則稱R屬于第二范式(2NF)。如果某個(gè)數(shù)據(jù)庫(kù)模式中的每個(gè)關(guān)系模式都是2NF,則這個(gè)數(shù)據(jù)庫(kù)模式稱為2NF的數(shù)據(jù)庫(kù)模式。下頁(yè)表1-5所示的關(guān)系模式R(學(xué)號(hào),系名,系辦地址,課程號(hào),成績(jī)),主碼為學(xué)號(hào)+課程號(hào)。某個(gè)學(xué)生某門課程的成績(jī)(一個(gè)非碼屬性)是完全依賴于他的學(xué)號(hào)和該課程的代號(hào)(主碼)的。也就是說,知道了一個(gè)學(xué)生的學(xué)號(hào)和他參加考試的課程號(hào)(兩者缺一不可),就知道了他這一門課的成績(jī)。第67頁(yè),共73頁(yè),2023年,2月20日,星期五表1-5關(guān)系R學(xué)號(hào)系

名系辦地址課程號(hào)成績(jī)0100001經(jīng)濟(jì)管理系經(jīng)管大樓A002850100001經(jīng)濟(jì)管理系經(jīng)管大樓B001920100001經(jīng)濟(jì)管理系經(jīng)管大樓B022780100001經(jīng)濟(jì)管理系經(jīng)管大樓C032850100001經(jīng)濟(jì)管理系經(jīng)管大樓D012780100002經(jīng)濟(jì)管理系經(jīng)管大樓A002900100002經(jīng)濟(jì)管理系經(jīng)管大樓B001800100002經(jīng)濟(jì)管理系經(jīng)管大樓B022980100002經(jīng)濟(jì)管理系經(jīng)管大樓C032920100002經(jīng)濟(jì)管理系經(jīng)管大樓D012890100096電子工程系電子大樓A002800100096電子工程系電子大樓B001750100096電子工程系電子大樓D001450100096電子工程系電子大樓D01228第68頁(yè),共73頁(yè),2023年,2月20日,星期五他所在的系名(另一非碼屬性)實(shí)際上僅完全依賴于他的學(xué)號(hào)(主碼中的一個(gè)屬性),與課程代號(hào)(主碼中的另一個(gè)屬性)無關(guān)。也就是說,只要知道了一個(gè)學(xué)生的學(xué)號(hào)(并不需要知道課程號(hào)),就知道了他所在的系名和系辦地址。這個(gè)關(guān)系模式不屬于2NF(僅屬于1NF)。如果將R分解為兩個(gè)關(guān)系模式R1(學(xué)號(hào),系名,系辦地址)和R2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論