版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第一章數(shù)據(jù)庫基礎(chǔ)知識普通高等教育“十三五”規(guī)劃教材數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計、開發(fā)與實現(xiàn)——基于VisualFoxPro01數(shù)據(jù)庫系統(tǒng)PARTONE1.信息、數(shù)據(jù)與數(shù)據(jù)庫信息(Information)、物質(zhì)和能量是客觀世界的三大要素
信息就是對客觀事物的反映,從本質(zhì)上看,信息是對社會、自然界的事物特征、現(xiàn)象、本質(zhì)及規(guī)律的描述,是由文字、符號、數(shù)字或聲音、圖形、圖像,表現(xiàn)出來的消息、情報、指令、數(shù)據(jù)、信號等。例如,記錄學(xué)生信息可以用文字和標(biāo)點符號表示為“學(xué)號:20160431101:姓名:李勇,性別:男:出生年月:1988.2;所在系別:計算機(jī)”。信息源于物質(zhì)和能量,可以感知,可存儲、加工、傳遞、再生和共享,它具備4個基本特征:①可傳載性,即信息可以依附于某種載體進(jìn)行傳遞;②共享性,有別于物質(zhì)和能量,信息的共享不僅不會產(chǎn)生損耗,還可以廣泛地傳播和擴(kuò)散,使更多人共享;③可處理性,特別是經(jīng)過人的分析、綜合和提煉,可以增加它的使用價值;④時效性,只有既準(zhǔn)確又及時的信息才有價值,一旦過時,就會變成無效信息。1信息1.信息、數(shù)據(jù)與數(shù)據(jù)庫數(shù)據(jù)(Data)是表示信息的物理符號,是信息的具體表現(xiàn)
數(shù)據(jù)可以是數(shù)值數(shù)據(jù),如某個具體數(shù)字,也可以是非數(shù)值數(shù)據(jù),如文字、圖形、圖像和聲音等。雖然數(shù)據(jù)有多種表現(xiàn)形式,但經(jīng)過數(shù)字化處理后,都可以輸入并存儲到計算機(jī)中,并能成為其處理的符號序列。2數(shù)據(jù)(Data)1.信息、數(shù)據(jù)與數(shù)據(jù)庫數(shù)據(jù)是信息的符號表示或載體。信息是數(shù)據(jù)的內(nèi)涵,是對數(shù)據(jù)的語義解釋。在計算機(jī)中,為了存儲和處理某些事物,需要抽象出對這些事物感興趣的特征組成一條記錄來描述。例如,在學(xué)生檔案中,如果人們感興趣的是學(xué)生的姓名、性別、出生年月、籍貫、所在系別、入學(xué)日期等信息,就可以這樣描述:(20160431101,李勇,男,1988.2,計算機(jī)),因此這里的學(xué)生記錄就是數(shù)據(jù)。它的含義即所含信息如下:李勇是一個大學(xué)生,學(xué)號為1001,1988年2月出生,性別為男,計算機(jī)專業(yè)。數(shù)據(jù)的形式不能完全表達(dá)其內(nèi)容,需要經(jīng)過解釋。數(shù)據(jù)的解釋是指對數(shù)據(jù)含義的說明,數(shù)據(jù)的含義又稱為數(shù)據(jù)的語義,也就是數(shù)據(jù)包含的信息。例如,記錄數(shù)據(jù)(20160431101,李勇,男,1988.2,計算機(jī)),如果沒有語義解釋,也可以理解為某一企業(yè)員工的記錄,員工號為20160431101,1988年2月出生,計算機(jī)專業(yè),等等。因此,信息是數(shù)據(jù)的內(nèi)涵,數(shù)據(jù)是信息的符號表示,是載體;數(shù)據(jù)是符號化的信息,信息是語義化的數(shù)據(jù)。3信息與數(shù)據(jù)的關(guān)系1.信息、數(shù)據(jù)與數(shù)據(jù)庫數(shù)據(jù)庫(Database,DB)是長期存儲在計算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲,用于滿足各種不同的信息需求,并且集中的數(shù)據(jù)彼此之間有相互的聯(lián)系,具有較小的冗余度、較高的數(shù)據(jù)獨立性和易擴(kuò)展性。數(shù)據(jù)庫中的數(shù)據(jù)是以一定的數(shù)據(jù)模型進(jìn)行組織存儲的,數(shù)據(jù)庫中的數(shù)據(jù)有一定的結(jié)構(gòu)、組織存儲方式和操作規(guī)則。例如,學(xué)生人事記錄在數(shù)據(jù)庫中的組織形式和結(jié)構(gòu)如圖1-1所示。4數(shù)據(jù)庫1.信息、數(shù)據(jù)與數(shù)據(jù)庫記錄某個學(xué)生的人事信息如圖1-2所示這樣的數(shù)據(jù)組織方式節(jié)省存儲空間,靈活性也相對得到了提高。但這種靈活性只是對一個應(yīng)用而言的,因為一個學(xué)校和組織涉及許多應(yīng)用,在數(shù)據(jù)庫系統(tǒng)中不僅要考慮某個應(yīng)用的數(shù)據(jù)結(jié)構(gòu),還要考慮整個組織的數(shù)據(jù)結(jié)構(gòu)。例如,一個學(xué)校的管理信息系統(tǒng)包括學(xué)生的人事管理、學(xué)籍管理、選課管理等,可按圖1-3所示的結(jié)構(gòu)建立學(xué)校管理信息系統(tǒng)的學(xué)生數(shù)據(jù)模式。4數(shù)據(jù)庫1.信息、數(shù)據(jù)與數(shù)據(jù)庫4數(shù)據(jù)庫如圖1-3所示結(jié)構(gòu)中的學(xué)生數(shù)據(jù)為各個部門提供數(shù)據(jù),并使數(shù)據(jù)結(jié)構(gòu)化:人事管理用到圖1-3中1、2、3、4記錄的數(shù)據(jù),學(xué)籍管理用到1、5記錄的數(shù)據(jù),選課管理用到1、6、7記錄的數(shù)據(jù)并且不僅描述了數(shù)據(jù)本身,還描述了數(shù)據(jù)之間的關(guān)聯(lián)。數(shù)據(jù)庫中的數(shù)據(jù)是可共享的。這里的共享指的是不同地域、不同用戶可以同時使用同一數(shù)據(jù)庫中的同一數(shù)據(jù)。數(shù)據(jù)的共享性,能夠最大限度地降低某一企事業(yè)單位信息數(shù)據(jù)的冗余度,并消除數(shù)據(jù)的不一致性。所謂數(shù)據(jù)的不一致性是指同一數(shù)據(jù)不同副本的值不一樣。數(shù)據(jù)庫不僅存儲數(shù)據(jù)以及數(shù)據(jù)之間的聯(lián)系
還存儲數(shù)據(jù)字典(對數(shù)據(jù)的描述,即數(shù)據(jù)的結(jié)構(gòu)).數(shù)據(jù)庫技術(shù)對數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)同時進(jìn)行管理,并將數(shù)據(jù)結(jié)構(gòu)特征與應(yīng)用程序盡可能隔離開來,即應(yīng)用程序在一定程度上不受數(shù)據(jù)結(jié)構(gòu)改變的影響,提高了數(shù)據(jù)的獨立性。1.信息、數(shù)據(jù)與數(shù)據(jù)庫4數(shù)據(jù)庫數(shù)據(jù)庫中的數(shù)據(jù)是海量的一個單位、一個公司,原則上能構(gòu)建一個數(shù)據(jù)庫,各部門所需要的所有數(shù)據(jù)存儲在同一個數(shù)據(jù)庫中,并可在授權(quán)允許的情況下訪問和使用其他部門提供的數(shù)據(jù)。數(shù)據(jù)庫中的數(shù)據(jù)是永久的
數(shù)據(jù)一旦成功地存儲到數(shù)據(jù)庫中,就會永久保存,除非用戶刪除數(shù)據(jù)。當(dāng)然,要保證數(shù)據(jù)的永久性,還要有數(shù)據(jù)庫恢復(fù)技術(shù)的支持。2.數(shù)據(jù)庫管理系統(tǒng)是位于用戶和操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,數(shù)據(jù)庫在建立、運(yùn)行和維護(hù)時由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理、統(tǒng)一控制。DBMS的主要任務(wù)是抽取一個應(yīng)用所需要的大量數(shù)據(jù),科學(xué)地組織這些數(shù)據(jù)并將其存儲在數(shù)據(jù)庫中,并能高效地獲取、處理和維護(hù)數(shù)據(jù)。DBMS使用戶能方便地定義數(shù)據(jù)和操縱數(shù)據(jù),并能夠保證數(shù)據(jù)的安全性、完整性、多用戶對數(shù)據(jù)的并發(fā)使用及發(fā)生故障后的系統(tǒng)恢復(fù)。其主要功能如下。數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,DBMS)2.數(shù)據(jù)庫管理系統(tǒng)1數(shù)據(jù)定義功能DBMS提供了數(shù)據(jù)定義語言(DataDefinitionLanguage,DDL)
用戶通過它可以方便地定義數(shù)據(jù)對象。DDL用于定義數(shù)據(jù)庫的邏輯結(jié)構(gòu)。2數(shù)據(jù)操縱功能DBMS提供了數(shù)據(jù)操縱語言(DataManipulationLanguage,DML)
用戶可以使用DML實現(xiàn)對數(shù)據(jù)庫的各種操作,如查詢、插入、刪除和修改等。2.數(shù)據(jù)庫管理系統(tǒng)3數(shù)據(jù)組織、存儲和管理功能DBMS要分類組織、存儲和管理數(shù)據(jù)庫中的各種數(shù)據(jù)
包括數(shù)據(jù)字典、用戶數(shù)據(jù)、數(shù)據(jù)的存取路徑等,從而提高存儲空間的利用率和存取效率。4數(shù)據(jù)庫的運(yùn)行管理功能數(shù)據(jù)庫的建立、運(yùn)行和維護(hù)由DBMS統(tǒng)一管理和控制
以保證數(shù)據(jù)的安全性、完整性、多用戶對數(shù)據(jù)的并發(fā)使用,以及發(fā)生故障后的系統(tǒng)恢復(fù)。2.數(shù)據(jù)庫管理系統(tǒng)5數(shù)據(jù)庫的建立和維護(hù)功能數(shù)據(jù)庫的建立和維護(hù)功能包括
數(shù)據(jù)庫初始數(shù)據(jù)的輸入、轉(zhuǎn)換功能,數(shù)據(jù)庫轉(zhuǎn)儲、恢復(fù)功能,數(shù)據(jù)庫的重組織功能和性能監(jiān)視、分析功能等。這些功能通常由一些實用程序完成。6其他功能DBMS包括一些實用工具
例如,DBMS與網(wǎng)絡(luò)中其他軟件系統(tǒng)的通信工具;不同DBMS中的數(shù)據(jù)和文件系統(tǒng)數(shù)據(jù)的互相轉(zhuǎn)換,異構(gòu)數(shù)據(jù)的互訪和互操作等。3.數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)是為適應(yīng)數(shù)據(jù)處理的需要而發(fā)展起來的數(shù)據(jù)處理系統(tǒng)一般由軟件、硬件、數(shù)據(jù)庫、數(shù)據(jù)庫管理員和用戶構(gòu)成,如圖1-4所示。硬件是指構(gòu)成計算機(jī)系統(tǒng)的各種物理設(shè)備。軟件主要包括操作系統(tǒng)、應(yīng)用系統(tǒng)、應(yīng)用開發(fā)工具和DBMS。數(shù)據(jù)庫由DBMS統(tǒng)一管理、統(tǒng)一控制,數(shù)據(jù)的插入、修改和檢索均要通過數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫管理員負(fù)責(zé)創(chuàng)建、監(jiān)控和維護(hù)整個數(shù)據(jù)庫,使數(shù)據(jù)能夠被任何有權(quán)使用的人有效使用。02數(shù)據(jù)模型PARTTWO1.數(shù)據(jù)模型的概念數(shù)據(jù)模型是對現(xiàn)實世界中數(shù)據(jù)特征的抽象,用來描述數(shù)據(jù)、組織數(shù)據(jù)和對數(shù)據(jù)進(jìn)行操作。通俗地講,數(shù)據(jù)模型是對現(xiàn)實世界的模擬,描述了數(shù)據(jù)的結(jié)構(gòu)、數(shù)據(jù)之間的聯(lián)系、對數(shù)據(jù)的各種操作以及數(shù)據(jù)要滿足的各種約束條件。在開發(fā)實施數(shù)據(jù)庫應(yīng)用系統(tǒng)時,需要用到不同層次的數(shù)據(jù)模型(圖1-5):概念模型(ConceptualModel),邏輯模型(LogicalModel)和物理模型(PhysicalModel)。1.數(shù)據(jù)模型的概念層次模型中,數(shù)據(jù)以樹狀結(jié)構(gòu)進(jìn)行組織:網(wǎng)狀模型中,數(shù)據(jù)的邏輯結(jié)構(gòu)是圖
關(guān)系模型是最重要也是最流行的數(shù)據(jù)模型,它以二維表的形式,存儲數(shù)據(jù)和數(shù)據(jù)之間的聯(lián)系。物理模型,是對數(shù)據(jù)存儲結(jié)構(gòu)和特征的描述,即描述數(shù)據(jù)在數(shù)據(jù)庫中的存儲方式、存取方法。概念模型,也稱信息模型,會按用戶的觀點對信息進(jìn)行建模。
邏輯模型,是從計算機(jī)的觀點對數(shù)據(jù)進(jìn)行建模。最常用的邏輯數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和關(guān)系模型。2.數(shù)據(jù)模型的要素操作要素描述了數(shù)據(jù)庫中數(shù)據(jù)對象所允許的操作的集合,是數(shù)據(jù)庫的動態(tài)特性。對數(shù)據(jù)庫的操作包括查詢、增加、修改和刪除4種。
完整性約束條件是一組約束規(guī)則,用于限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容。通俗地講,完整性約束條件就是規(guī)定什么樣的數(shù)據(jù)可以存儲到數(shù)據(jù)庫中,以及數(shù)據(jù)庫中的數(shù)據(jù)可以做怎樣的變化。數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ)。數(shù)據(jù)模型包括3個要素:結(jié)構(gòu)要素、操作要素和完整性約束條件。
結(jié)構(gòu)要素描述了數(shù)據(jù)庫中數(shù)據(jù)的結(jié)構(gòu)、數(shù)據(jù)之間的聯(lián)系,是數(shù)據(jù)庫的靜態(tài)特性。3.概念模型概念模型是對現(xiàn)實世界的第一次抽象,用實體及屬性描述客觀事物及其性質(zhì),用實體之間的聯(lián)系描述客觀事物之間的聯(lián)系,屬于信息世界范疇。概念模型具有以下兩個特點。
(1)真實性:真實客觀地描述了現(xiàn)實世界中的信息實體和實體之間的聯(lián)系。(2)獨立性:不依賴于具體的計算機(jī)系統(tǒng)或具體的DBMS。因為客觀真實,所以其是獨立的(與具體的人也無關(guān))。3.概念模型1信息世界的幾個概念(1)實體(Entity)客觀存在并可相互區(qū)分的事物,可以是人、事、物,也可以是抽象的概念或聯(lián)系。例如,學(xué)生、教師、課程、學(xué)生選修課程的事件、教師執(zhí)教某一門課的協(xié)議等,都可以是實體。(2)屬性(Attribute)實體具有的某一方面的特性。學(xué)生的學(xué)號、姓名、手機(jī)號碼、郵件地址,教師的編號、姓名、職稱,課程的類別、名稱和學(xué)分等。3.概念模型1信息世界的幾個概念(3)碼(Key)也稱關(guān)鍵字,是唯一標(biāo)識實體的屬性(組)。碼可能不止一個。例如,在學(xué)生這個實體中,學(xué)生的學(xué)號、手機(jī)號碼和郵件地址都可以是學(xué)生實體的碼,都具有唯一性;而對于“選修事件”這個實體,碼為屬性組,即“學(xué)號+課程”。(4)域(Domain)屬性的取值范圍或集合。例如,學(xué)生學(xué)號是12位的數(shù)字,性別的取值范圍是男或女,課程成績是0~100中的整數(shù)等。3.概念模型1信息世界的幾個概念(5)實體型(EntityType)實體型是對實體的描述,描述相同屬性的實體具有的共同特征和性質(zhì)。最簡單的描述方法是用實體名及其屬性名集合來抽象和刻畫同類實體,其格式如下:實體名(屬性1,屬性2,......),構(gòu)成碼的屬性用下畫線標(biāo)識。與實體型相對應(yīng)的是實體值,實體值是單個個體,是實體型中的一個具體的值。例如,學(xué)生實體型可以描述為學(xué)生《學(xué)號,姓名,性別,出生年月,專業(yè),手機(jī)號碼,郵件地址),(“20160431101’,“李勇’“男’“1988.2’,“計算機(jī)’136056783211’,“l(fā)iyong@163.com)是具體的一個學(xué)生實體值,而全體學(xué)生就構(gòu)成了學(xué)生實體集型是描述,值是內(nèi)容。3.概念模型1信息世界的幾個概念(6)聯(lián)系(relationship)在現(xiàn)實世界中,事物內(nèi)部以及事物之間是有聯(lián)系的,這些聯(lián)系在信息世界中反映為實體內(nèi)部的聯(lián)系和實體之間的聯(lián)系。實體內(nèi)部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系
兩個實體之間的聯(lián)系可分為以下3種。(1)一對一(1:1),如班級-班長(領(lǐng)導(dǎo))。(2)一對多(1:N),如班級-學(xué)生(包含)。(3)多對多(M:N),如學(xué)生-課程(選修)。3.概念模型2概念模型的描述工具概念模型是對現(xiàn)實世界的第一次抽象
陳品山于1976年提出實體-聯(lián)系(Entity-Relationship,E-R)法來描述概念模型。該方法用圖形化的工具E-R圖來描述現(xiàn)實世界的概念模型。下面介紹E-R圖的基本圖形符號。(1)實體(型)用命名的矩形框表示實體,矩形框的名稱就是實體的名稱。例如,學(xué)生實體如圖1-6所示。3.概念模型2概念模型的描述工具(2)實體的屬性用命名的圓表示屬性,并用線段將該屬性與所描述的實體連接起來。例如學(xué)生實體及其屬性如圖1-7所示。3.概念模型2概念模型的描述工具(3)聯(lián)系用命名的菱形表示實體之間的聯(lián)系,并用線段將發(fā)生該聯(lián)系的實體連接起來。具體示例如圖1-8~圖1-10所示。3.概念模型2概念模型的描述工具(4)聯(lián)系的屬性不僅實體有屬性,聯(lián)系本身也可以有屬性。具體示例如圖1-11所示。03數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)PARTTHREE數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)從數(shù)據(jù)庫最終用戶的角度
數(shù)據(jù)庫系統(tǒng)可分為單用戶結(jié)構(gòu)、主從式結(jié)構(gòu)、文件服務(wù)器結(jié)構(gòu)、客戶機(jī)/服務(wù)器體系結(jié)構(gòu)、分布式結(jié)構(gòu)、瀏覽器/應(yīng)用服務(wù)器/數(shù)據(jù)庫服務(wù)器多層結(jié)構(gòu)等,這是數(shù)據(jù)庫系統(tǒng)的外部體系結(jié)構(gòu)。數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)可以從不同角度進(jìn)行劃分。
從數(shù)據(jù)庫管理系統(tǒng)的角度,數(shù)據(jù)庫系統(tǒng)通常采用三級模式結(jié)構(gòu),這是數(shù)據(jù)庫管理系統(tǒng)內(nèi)部對數(shù)據(jù)庫進(jìn)行組織管理的結(jié)構(gòu)。1.數(shù)據(jù)庫模式模式是相對穩(wěn)定的,而實例是相對變動的
因為數(shù)據(jù)庫中的數(shù)據(jù)是在不斷更新的。模式反映的是數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)系,而實例反映的是數(shù)據(jù)庫某一時刻的狀態(tài)及內(nèi)容。模式(Schema)是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述
模式的一個具體值稱為模式的一個實例(Instance)。同一個模式可以有多個實例。2.數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)分為3層,即內(nèi)模式、概念模式(模式)和外模式
三級模式和模式間的相映射就組成了數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu),如圖1-12所示。這個三級結(jié)構(gòu)有時稱為“三級模式結(jié)構(gòu)”,最早是在1971年的DBTG報告中提出的,后來收錄在1975年美國的ANSI/SPARC報告中。雖然現(xiàn)在DBMS的產(chǎn)品多種多樣,并在不同操作系統(tǒng)的支持下工作,但是大多數(shù)系統(tǒng)在總的體系結(jié)構(gòu)上具有三級模式的結(jié)構(gòu)特征。2.數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)(1)外模式也稱子模式或用戶模式,是某數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。(2)模式涉及所有用戶的數(shù)據(jù)定義,是全局的數(shù)據(jù)視圖。全局?jǐn)?shù)據(jù)視圖的描述也稱為“概念模式”。(3)內(nèi)模式最接近于物理存儲設(shè)備,涉及實際數(shù)據(jù)存儲的物理結(jié)構(gòu)和存儲方式。物理存儲數(shù)據(jù)視圖的描述稱為“內(nèi)模式”。從某個角度看到的數(shù)據(jù)特性稱為“數(shù)據(jù)視圖(DataView)”2.數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)1模式一個數(shù)據(jù)庫只有一個概念模式,它以某一種數(shù)據(jù)模型為基礎(chǔ)
統(tǒng)一綜合地考慮了所有用戶的需求,并將這些需求有機(jī)地結(jié)合成一個邏輯整體。概念模式描述了所有實體、實體的屬性和實體間的聯(lián)系,數(shù)據(jù)的約束和語義信息。概念模式由許多記錄類型的值組成。模式是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層,與數(shù)據(jù)的物理存儲細(xì)節(jié)和硬件環(huán)境無關(guān),與具體的應(yīng)用程序、開發(fā)工具及高級程序設(shè)計語言無關(guān)。定義模式時,不僅要定義數(shù)據(jù)的邏輯結(jié)構(gòu),還要定義數(shù)據(jù)之間的聯(lián)系,定義與數(shù)據(jù)有關(guān)的安全性、完整性要求。在數(shù)據(jù)庫管理系統(tǒng)中,描述概念模式的數(shù)據(jù)定義語言稱為“模式DDL”2.數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)2外模式外模式(用戶可見的視圖)是數(shù)據(jù)庫用戶能夠(有權(quán)限)看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述
是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某個應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示,是數(shù)據(jù)庫模式的一個子集。一個數(shù)據(jù)庫可以有多個外模式反映了不同的用戶應(yīng)用需求、看待數(shù)據(jù)的方式以及對數(shù)據(jù)保密的要求;對于模式中同一數(shù)據(jù),在外模式中的結(jié)構(gòu)、類型、長度、保密級別等都可以因為不同用戶(或應(yīng)用)的個性化需求而不同。外模式是保證數(shù)據(jù)庫安全性的一個有力措施。每個用戶只能看見和訪問所對應(yīng)的外模式中的數(shù)據(jù),數(shù)據(jù)庫中的其余數(shù)據(jù)是不可見的??梢酝ㄟ^DDL定義視圖來定義用戶的外模式,用戶使用DMI語句對視圖進(jìn)行操作,完成需要的數(shù)據(jù)處理。2.數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)3內(nèi)模式內(nèi)模式也稱存儲模式/物理模式
是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式、記錄的存儲方式(順序存儲,按照B樹結(jié)構(gòu)存儲,按Hash方法存儲)、索引的組織方式、數(shù)據(jù)是否壓縮存儲、數(shù)據(jù)是否加密、數(shù)據(jù)存儲記錄結(jié)構(gòu)的規(guī)定,一個數(shù)據(jù)庫只有一個內(nèi)模式。注意:內(nèi)模式和物理層仍然不同內(nèi)部記錄并不涉及物理記錄,也不涉及設(shè)備的約束。比內(nèi)模式更接近物理存儲和訪問的那些軟件機(jī)制是操作系統(tǒng)的一部分,即文件系統(tǒng)。3.數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性這兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性。數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)是數(shù)據(jù)的3個抽象級別
它把數(shù)據(jù)的具體組織留給DBMS去做,用戶只要抽象地處理數(shù)據(jù)即可,而不必關(guān)心數(shù)據(jù)在計算機(jī)中的表示和存儲。不同抽象級別的數(shù)據(jù)之間的轉(zhuǎn)換,通過定義三級結(jié)構(gòu)之間的映像來實現(xiàn):外模式/概念模式映像、概念模式/內(nèi)模式映像,如圖1-12所示。3.數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性1外模式/模式映像其定義了外模式與模式之間的映像關(guān)系
由于外模式和模式的數(shù)據(jù)結(jié)構(gòu)可能不一致,即記錄類型、字段類型的命名和組成可能不一樣,因此,需要這個映像說明外部記錄和概念記錄之間的對應(yīng)性。當(dāng)模式發(fā)生改變時,可以通過修改相應(yīng)的外模式/模式的映像使外模式保持不變,應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。3.數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性2模式/內(nèi)模式映像其定義了模式和內(nèi)模式間的映像關(guān)系
即定義了數(shù)據(jù)庫全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變后可以通過修改模式/內(nèi)模式映像來使模式保持不變,從而應(yīng)用程序也不必改變,保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。4.數(shù)據(jù)庫系統(tǒng)用戶結(jié)構(gòu)1單用戶結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)單用戶結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)是一種早期最簡單的數(shù)據(jù)庫系統(tǒng)
如圖1-13所示。在這種系統(tǒng)中,整個數(shù)據(jù)庫系統(tǒng)(包括應(yīng)用程序、DBMS、數(shù)據(jù))都裝在一臺計算機(jī)中,由一個用戶獨占,不同計算機(jī)之間不能共享數(shù)據(jù)。4.數(shù)據(jù)庫系統(tǒng)用戶結(jié)構(gòu)2主從式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)主從式結(jié)構(gòu)是指一個主機(jī)帶多個終端的多用戶結(jié)構(gòu)
如圖1-14所示。在這種結(jié)構(gòu)中,數(shù)據(jù)庫系統(tǒng)(包括應(yīng)用程序、DBMS、數(shù)據(jù))都集中存放在主機(jī)中,所有處理任務(wù)都由主機(jī)來完成,各個用戶通過主機(jī)的終端并發(fā)地存取數(shù)據(jù)庫,共享數(shù)據(jù)資源。4.數(shù)據(jù)庫系統(tǒng)用戶結(jié)構(gòu)3客戶機(jī)/服務(wù)器結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)主從式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)中的主機(jī)是一臺通用計算機(jī),既執(zhí)行DBMS功能,又執(zhí)行應(yīng)用程序
隨著工作站功能的增強(qiáng)和廣泛使用,人們開始把DBMS的功能和應(yīng)用分開,網(wǎng)絡(luò)中某個(些)結(jié)點上的計算機(jī)專門用于執(zhí)行DBMS功能,稱為數(shù)據(jù)庫服務(wù)器,簡稱服務(wù)器,其他結(jié)點上的計算機(jī)安裝DBMS的外圍應(yīng)用開發(fā)工具,支持用戶的應(yīng)用,稱為客戶機(jī),這就是客戶機(jī)/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng),如圖1-15所示。在客戶機(jī)/服務(wù)器結(jié)構(gòu)中,客戶端的用戶請求被傳送到服務(wù)器,服務(wù)器進(jìn)行處理后,只將結(jié)果(而不是整個數(shù)據(jù))返回給用戶,從而顯著減少了網(wǎng)絡(luò)中的數(shù)據(jù)傳輸量,提高了系統(tǒng)的性能、吞吐量和負(fù)載能力。此外,客戶機(jī)/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫往往更加開放??蛻魴C(jī)與服務(wù)器一般能在多種不同的硬件和軟件平臺上運(yùn)行,可以使用不同廠商的數(shù)據(jù)庫應(yīng)用開發(fā)工具,應(yīng)用程序具有更強(qiáng)的可移植性,也可以減少軟件維護(hù)開銷。4.數(shù)據(jù)庫系統(tǒng)用戶結(jié)構(gòu)4分布式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)分布式結(jié)構(gòu)是指數(shù)據(jù)庫中的數(shù)據(jù)在邏輯上是一個整體,但分布在計算機(jī)網(wǎng)絡(luò)的不同結(jié)點上
網(wǎng)絡(luò)中的每個結(jié)點都可以獨立處理本地數(shù)據(jù)庫中的數(shù)據(jù),執(zhí)行局部應(yīng)用,也可以同時存取和處理多個異地數(shù)據(jù)庫中的數(shù)據(jù),執(zhí)行全局應(yīng)用,如圖1-16所示。它的優(yōu)點是適應(yīng)了地理上分散的公司、體和組織對于數(shù)據(jù)庫應(yīng)用的需求;缺點是數(shù)據(jù)的分布存放給數(shù)據(jù)的處理、管理與維護(hù)帶來了困難,當(dāng)用戶需要經(jīng)常訪問遠(yuǎn)程數(shù)據(jù)時,系統(tǒng)效率會明顯地受到網(wǎng)絡(luò)交通的制約。04關(guān)系數(shù)據(jù)庫PARTFOUR1.關(guān)系數(shù)據(jù)庫概述1關(guān)系的概念在關(guān)系數(shù)據(jù)庫中,一個關(guān)系就是一張唯一命名的二維表
由相同結(jié)構(gòu)的行和不同名稱的列組成。如圖1-17所示,表中的一行就是一個元組(也稱記錄),表中的列為一個屬性,給每個屬性取一個名即為其屬性名(也稱字段名)。屬性的取值范圍是屬性的域。能唯一區(qū)分一個元組的屬性或者屬性組,是關(guān)系的候選碼;可以選定其中一個候選碼作為關(guān)系的主碼,一個關(guān)系有且只有一個主碼。分量是某個元組在某列上的取值。1.關(guān)系數(shù)據(jù)庫概述2關(guān)系的基本性質(zhì)關(guān)系具有以下6個基本性質(zhì)。①關(guān)系中每個列的取值是不可分的數(shù)據(jù)項,是數(shù)據(jù)庫中的最基本單位。②關(guān)系中列是同質(zhì)的,即同一列的數(shù)據(jù)具有相同的數(shù)據(jù)類型及約束。③關(guān)系中列的名稱是唯一的,不同的列可以來自相同的域。④關(guān)系中行的順序可以是任意的。⑤關(guān)系中列的順序是無所謂的。⑥關(guān)系中不允許有完全相同的兩個行。每個關(guān)系都有主碼關(guān)鍵字(Key)的屬性集合,用于唯一地標(biāo)識關(guān)系中的各記錄行。1.關(guān)系數(shù)據(jù)庫概述2關(guān)系的基本性質(zhì)關(guān)系具有以下6個基本性質(zhì)。①關(guān)系中每個列的取值是不可分的數(shù)據(jù)項,是數(shù)據(jù)庫中的最基本單位。②關(guān)系中列是同質(zhì)的,即同一列的數(shù)據(jù)具有相同的數(shù)據(jù)類型及約束。③關(guān)系中列的名稱是唯一的,不同的列可以來自相同的域。④關(guān)系中行的順序可以是任意的。⑤關(guān)系中列的順序是無所謂的。⑥關(guān)系中不允許有完全相同的兩個行。每個關(guān)系都有主碼關(guān)鍵字(Key)的屬性集合,用于唯一地標(biāo)識關(guān)系中的各記錄行。1.關(guān)系數(shù)據(jù)庫概述3關(guān)系間的聯(lián)系解決實際問題往往需要多個關(guān)系,關(guān)系和關(guān)系是有聯(lián)系的,這種聯(lián)系也用關(guān)系表示。例如,有兩個關(guān)系,分別是學(xué)生關(guān)系和課程關(guān)系:
學(xué)生(學(xué)號,姓名,所在系,性別,年齡),主碼是學(xué)號,記錄所有在校學(xué)生的信息,如圖1-17所示;課程(課程號,課程名,學(xué)分,先修課程號),主碼是課程號,記錄學(xué)校能夠開出以供學(xué)生選修的所有課程信息,如圖1-18所示。1.關(guān)系數(shù)據(jù)庫概述3關(guān)系間的聯(lián)系在學(xué)校中,學(xué)生要選修多門課程,每一門課程都有可能被多個學(xué)生選修,學(xué)生和課程在選修這件事情發(fā)生的時候就要建立聯(lián)系,這樣的聯(lián)系要用第三個關(guān)系來表示,即:
選修(學(xué)號,課程號,成績),主碼是學(xué)號+課程號,記錄學(xué)生選修課程的信息,如圖1-19所示。關(guān)系之間的聯(lián)系,最終轉(zhuǎn)換為不同關(guān)系中數(shù)據(jù)之間的聯(lián)系,表現(xiàn)為取值之間的約束和關(guān)聯(lián)。這樣的約束和關(guān)聯(lián)用外碼機(jī)制來實現(xiàn)。設(shè)F是基本關(guān)系R的一個或一組屬性,但不是關(guān)系R的碼,如果F與基本關(guān)系S的主碼相對應(yīng),則稱F是基本關(guān)系R的外碼(ForeignKey),并稱基本關(guān)系R為參照關(guān)系(ReferencingRelation),基本關(guān)系S為被參照關(guān)系(ReferencedRelation)或目標(biāo)關(guān)系(TargetRelation)。1.關(guān)系數(shù)據(jù)庫概述4關(guān)系的完整性1)實體完整性
關(guān)系模型中以主碼為唯一性標(biāo)志,主碼中的屬性(即主屬性)不能為空值。規(guī)則1.1實體完整性規(guī)則:若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。簡單來講,就是關(guān)系中的主碼的取值必須是唯一的和非空的,這里非空指的是每一個構(gòu)成主碼的屬性都要非空。例如,學(xué)生的學(xué)號必須是非空的和唯一的:而選修關(guān)系的主碼包含兩個屬性一學(xué)號和課程號,因此學(xué)號和課程號的組合的取值必須是唯一的,而且均不能取空值。這和實際應(yīng)用也是非常符合的。試想,在一個選課記錄中,假設(shè)學(xué)號為空值,課程號為“CO01”,則表示有一個不知道學(xué)號的學(xué)生選修了“CO01”課程,但只要是在校的學(xué)生,就一定會有學(xué)號的。1.關(guān)系數(shù)據(jù)庫概述4關(guān)系的完整性2)參照完整性
規(guī)則1.2參照完整性規(guī)則:若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則R中的每個元組在上的值或者取空值(F的每個屬性值均為空值),或者等于S中某個元組的主碼值。選修關(guān)系的學(xué)號和課程號都是外碼,學(xué)號和課程號的取值就要符合參照完整性規(guī)則即要確保選修關(guān)系中學(xué)號的取值與學(xué)生關(guān)系中某一學(xué)生的學(xué)號相等,且課程號的取值與課程關(guān)系中某一門課程的課程號相等,參照完整性限定的選課信息記錄是該校某在校生選修了某一門學(xué)校開出的課程。1.關(guān)系數(shù)據(jù)庫概述4關(guān)系的完整性3)用戶定義的完整性
用戶定義的完整性約束就是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,它反映了某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。2.關(guān)系數(shù)據(jù)庫設(shè)計狹義地講,是數(shù)據(jù)庫設(shè)計本身
即設(shè)計數(shù)據(jù)庫的各級模式并建立數(shù)據(jù)庫,這是數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計的一部分本書以某學(xué)校的圖書管理系統(tǒng)設(shè)計和實現(xiàn)為目標(biāo),設(shè)計數(shù)據(jù)庫和應(yīng)用系統(tǒng),并使用VisualFoxPro開發(fā)工具實現(xiàn)圖書管理系統(tǒng)的基本核心功能。什么是數(shù)據(jù)庫設(shè)計呢?
廣義地講,是數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的設(shè)計,即設(shè)計整個數(shù)據(jù)庫應(yīng)用系統(tǒng)如圖書管理系統(tǒng)、辦公自動化系統(tǒng)、電子政務(wù)系統(tǒng)、財務(wù)管理系統(tǒng)、電子商務(wù)平臺等。數(shù)據(jù)庫設(shè)計要基于一個給定的應(yīng)用環(huán)境,根據(jù)用戶的信息需求、處理需求和數(shù)據(jù)庫的支撐環(huán)境
利用數(shù)據(jù)模型和應(yīng)用程序模擬現(xiàn)實世界中該單位的數(shù)據(jù)結(jié)構(gòu)和處理活動的過程,是數(shù)據(jù)設(shè)計和數(shù)據(jù)處理設(shè)計的結(jié)合。規(guī)范化的數(shù)據(jù)庫設(shè)計要求數(shù)據(jù)庫中的數(shù)據(jù)達(dá)到最大程度的共享、最小的冗余度以及較高的獨立性,并保證數(shù)據(jù)的一致性、正確性和相容性。2.關(guān)系數(shù)據(jù)庫設(shè)計1數(shù)據(jù)庫設(shè)計方法早期數(shù)據(jù)庫設(shè)計主要采用手工與經(jīng)驗相結(jié)合的方法
設(shè)計的質(zhì)量往往與設(shè)計人員的經(jīng)驗、水平有直接關(guān)系,缺乏科學(xué)理論和工程方法的支持,設(shè)計質(zhì)量難以保證,常常是數(shù)據(jù)庫運(yùn)行一段時間后又不同程度地發(fā)現(xiàn)各種問題,需要進(jìn)行修改甚至重新設(shè)計,增加了系統(tǒng)維護(hù)的代價。(1)新奧爾良(NewOrleans)方法。該方法運(yùn)用軟件工程的思想,按一定的設(shè)計規(guī)程,應(yīng)用工程化方法,把數(shù)據(jù)庫設(shè)計分為若干階段和步驟,并采用一些輔助手段實現(xiàn)每一過程。(2)基于E-R模型的數(shù)據(jù)庫設(shè)計方法。該方法用E-R模型來設(shè)計數(shù)據(jù)庫的概念模型,是數(shù)據(jù)庫設(shè)計階段廣泛采用的方法。2.關(guān)系數(shù)據(jù)庫設(shè)計1數(shù)據(jù)庫設(shè)計方法(3)3NF(第三范式)的設(shè)計方法。該方法以關(guān)系數(shù)據(jù)庫理論為指導(dǎo)來設(shè)計數(shù)據(jù)庫的邏輯模型是設(shè)計關(guān)系數(shù)據(jù)庫時在邏輯階段可以采用的一種有效方法。(4)對象定義語言(ObjectDefinitionLanguage,ODL方法。這是面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計方法。該方法用面向?qū)ο蟮母拍詈托g(shù)語來說明數(shù)據(jù)庫結(jié)構(gòu)。本質(zhì)上看仍然是手工設(shè)計方法,其基本思想是過程迭代和逐步求精在實際數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計過程中,一般會遵循一定的步驟,運(yùn)用相應(yīng)的設(shè)計方法和工具,基于需求分析所得到的數(shù)據(jù)管理需求、系統(tǒng)的業(yè)務(wù)功能處理需求以及業(yè)務(wù)處理規(guī)則和完整性需求,設(shè)計數(shù)據(jù)庫的概念結(jié)構(gòu)、邏輯結(jié)構(gòu)和物理結(jié)構(gòu),創(chuàng)建數(shù)據(jù)庫和開發(fā)應(yīng)用系統(tǒng)。2.關(guān)系數(shù)據(jù)庫設(shè)計2數(shù)據(jù)庫設(shè)計步驟按照規(guī)范化設(shè)計的方法,考慮數(shù)據(jù)庫及其應(yīng)用開發(fā)全過程
將數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計分為以下6個階段:需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫系統(tǒng)實施、數(shù)據(jù)庫系統(tǒng)運(yùn)行和維護(hù)。在數(shù)據(jù)庫設(shè)計過程中,需求分析和概念結(jié)構(gòu)設(shè)計可以獨立于任何數(shù)據(jù)庫管理系統(tǒng)進(jìn)行邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計與選用的數(shù)據(jù)模型以及DBMS密切相關(guān)。2.關(guān)系數(shù)據(jù)庫設(shè)計2數(shù)據(jù)庫設(shè)計步驟數(shù)據(jù)庫設(shè)計之前,首先必須選定參加數(shù)據(jù)庫設(shè)計的人員
包括系統(tǒng)分析員、數(shù)據(jù)庫設(shè)計師、應(yīng)用開發(fā)者、數(shù)據(jù)庫管理員和用戶代表。系統(tǒng)分析和數(shù)據(jù)庫設(shè)計人員是數(shù)據(jù)庫設(shè)計的核心人員,他們將自始至終參與數(shù)據(jù)庫設(shè)計,他們的水平?jīng)Q定了數(shù)據(jù)庫系統(tǒng)的質(zhì)量。用戶和數(shù)據(jù)庫管理員在數(shù)據(jù)庫設(shè)計中也是舉足輕重的,他們主要參加需求分析和數(shù)據(jù)庫的運(yùn)行和維護(hù)。應(yīng)用開發(fā)者包括程序員和操作員,分別負(fù)責(zé)編制程序和準(zhǔn)備軟硬件環(huán)境,他們在系統(tǒng)實施階段參與進(jìn)來。設(shè)計一個完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)是不可能一蹴而就的它往往是上述6個階段的不斷反復(fù)。在設(shè)計過程中要把數(shù)據(jù)庫的設(shè)計和對數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)計緊密結(jié)合起來。2.關(guān)系數(shù)據(jù)庫設(shè)計3需求分析需求分析是數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計的基礎(chǔ)
也是最困難和最耗時間的一步。本階段的主要任務(wù)就是通過調(diào)查、收集和分析,獲得用戶對數(shù)據(jù)庫的信息需求、處理需求、安全性和完整性需求。信息需求指的是需要在數(shù)據(jù)庫中存儲的數(shù)據(jù)信息以及信息的內(nèi)容、格式、獲取方式等:處理需求指的是用戶希望數(shù)據(jù)庫應(yīng)用系統(tǒng)完成什么處理功能,處理的響應(yīng)時間有什么要求,處理的方式是什么。一項處理功能用到的、產(chǎn)生的以及需要存儲、傳播的數(shù)據(jù)信息的總和就是數(shù)據(jù)庫的信息需求這一階段會用數(shù)據(jù)流圖和數(shù)據(jù)字典等工具描述需求分析的結(jié)果,完成需求分析報告。2.關(guān)系數(shù)據(jù)庫設(shè)計4概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,它通過對用戶需求進(jìn)行綜合、歸納與抽象,形成獨立于具體DBMS的概念模型。概念結(jié)構(gòu)設(shè)計的步驟如下。(1)對需求分析得到的數(shù)據(jù)需求進(jìn)行綜合、歸納、抽象,得到所有的信息實體。(2)分析實體之間的聯(lián)系。(3)分析每個實體的屬性,繪制E-R圖。(4)確定每個屬性的域。2.關(guān)系數(shù)據(jù)庫設(shè)計4概念結(jié)構(gòu)設(shè)計(5)分析每個實體的候選碼和主碼。(6)檢查模型的冗余度。(7)驗證模型能否支持用戶需求。(8)與用戶進(jìn)行確認(rèn)。通常,數(shù)據(jù)庫的概念結(jié)構(gòu)用E-R圖來表示。2.關(guān)系數(shù)據(jù)庫設(shè)計5邏輯結(jié)構(gòu)設(shè)計關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合
E-R圖則是由實體、實體的屬性和實體之間的聯(lián)系3個要素組成的。所以,將E-R圖轉(zhuǎn)換為關(guān)系模型,實際上就是要將實體、實體的屬性和實體之間的聯(lián)系轉(zhuǎn)換為關(guān)系(表)。這種轉(zhuǎn)換一般遵循如下原則。1)實體與實體屬性的轉(zhuǎn)換。實體與實體屬性的轉(zhuǎn)換即一個實體型轉(zhuǎn)換為一個關(guān)系(表)。實體的屬性就是關(guān)系的屬性。實體的碼就是關(guān)系的碼。例如,圖1-17中學(xué)生實體Student及其屬性可以轉(zhuǎn)換為如下關(guān)系,其中學(xué)號Number為學(xué)生關(guān)系的碼。2.關(guān)系數(shù)據(jù)庫設(shè)計5邏輯結(jié)構(gòu)設(shè)計2)實體間聯(lián)系的轉(zhuǎn)換(1)一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系表,也可以將任意一端關(guān)系中的碼屬性添加到另一端的關(guān)系(表)中。如果轉(zhuǎn)換為一個獨立的關(guān)系(表),則與該聯(lián)系相連的各實體的碼及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,每個實體的碼均是該關(guān)系的候選碼,任選其中一個作為主碼即可。如果不轉(zhuǎn)換為
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇教版江蘇省宿遷市2023-2024學(xué)年高二上學(xué)期期末調(diào)研測試數(shù)學(xué)試卷
- 古詩詞誦讀《李憑箜篌引》-高二語文大單元教學(xué)同步備課(統(tǒng)編版選擇性必修中冊)
- 《溫暖的毛衣》少兒美術(shù)教育繪畫課件創(chuàng)意教程教案
- 人教版位置課件
- 二年級上冊數(shù)學(xué)每日計算小紙條1-6
- 西京學(xué)院《國畫》2021-2022學(xué)年第一學(xué)期期末試卷
- 西華師范大學(xué)《中國政治制度史》2022-2023學(xué)年第一學(xué)期期末試卷
- 高考地理一輪復(fù)習(xí)第八章人口第一節(jié)人口分布與人口容量課件
- 西華師范大學(xué)《土壤污染防治技術(shù)》2022-2023學(xué)年第一學(xué)期期末試卷
- 職業(yè)技術(shù)學(xué)院現(xiàn)代物流管理專業(yè)人才培養(yǎng)方案
- 兒科臨床-疳證的診療
- 初中英語學(xué)習(xí)方法指導(dǎo)全課件
- 初二年級家長會完整課件
- 二手木托盤回收合同范本
- BOPET薄膜的生產(chǎn)工藝和應(yīng)用
- 互聯(lián)網(wǎng)醫(yī)院醫(yī)療合作共建協(xié)議書
- 垃圾分類與資源化處置建設(shè)項目計劃書
- 環(huán)己烯水合制備環(huán)己醇催化反應(yīng)過程的研究
- 影響中藥制劑質(zhì)量的因素
- 保險基礎(chǔ)知識題庫解析
- 公路工程施工質(zhì)量監(jiān)理工作手冊
評論
0/150
提交評論