




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)原理與技術(shù)
(第二版)第一章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)信息:是以數(shù)據(jù)為載體的客觀世界實(shí)際存在的事物、事件或概念在人們頭腦中的反映。數(shù)據(jù):是用來(lái)表示信息的一組符號(hào)。信息系統(tǒng):是以計(jì)算機(jī)為核心,以數(shù)據(jù)庫(kù)為基礎(chǔ),對(duì)信息進(jìn)行收集、組織、存儲(chǔ)、加工、傳播、管理和使用的系統(tǒng)。第一章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí) 數(shù)據(jù)管理是指:數(shù)據(jù)的收集、整理、組織、存儲(chǔ)、查詢、維護(hù)和傳送等各種操作,是數(shù)據(jù)處理的基本環(huán)節(jié),是任何數(shù)據(jù)處理任務(wù)必有的共性部分。數(shù)據(jù)庫(kù)技術(shù)所研究的問(wèn)題就是如何科學(xué)地組織和存儲(chǔ)數(shù)據(jù),如何高效地獲取和處理數(shù)據(jù)。第一章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí) 數(shù)據(jù)處理數(shù)據(jù)庫(kù)技術(shù)數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)與存貯結(jié)構(gòu)索引文件組織退出本章要點(diǎn)數(shù)據(jù)管理的發(fā)展階段人工管理階段(50年代中期以前)文件系統(tǒng)階段(50年代后期---60年代中期)數(shù)據(jù)庫(kù)系統(tǒng)階段(60年代后期開始)數(shù)據(jù)處理 數(shù)據(jù)管理的發(fā)展階段____1、人工管理階段計(jì)算機(jī)主要用于科學(xué)計(jì)算軟件采用機(jī)器語(yǔ)言編寫數(shù)據(jù)量小數(shù)據(jù)不需要共享有了磁盤、磁鼓等直接存取設(shè)備出現(xiàn)了操作系統(tǒng)及高級(jí)語(yǔ)言出現(xiàn)了文件系統(tǒng)計(jì)算機(jī)應(yīng)用也從單純科學(xué)計(jì)算、控制,擴(kuò)大到電子數(shù)據(jù)處理系統(tǒng)人們利用文件系統(tǒng)將數(shù)據(jù)從程序中分離出來(lái)形成專門的數(shù)據(jù)文件數(shù)據(jù)管理的發(fā)展階段____2、文件系統(tǒng)階段R#include“stdio.h”main(){FILE*fp;fp=fopen(“Commodity.c”,”w”);fputs(“Silverware”,fp);fputs(“Wwmottle”,fp);putw(40,fp);fputs(“11111111”,fp);fputs(“Chinaware”,fp);fputs(“Popularware”,fp);putw(100,fp);fputs(“222222222222”,fp);fclose(fp);}【例1.1】C語(yǔ)言中將Commodity的有關(guān)數(shù)據(jù):WareName、Specification、Unitprice、Illuminate等數(shù)據(jù)輸入到一個(gè)文件中的程序:數(shù)據(jù)管理的發(fā)展階段____2、文件系統(tǒng)階段#include“stdio.h”#defineSIZE2structCommodity_type{charWareName[12];charSpecification[16];intUnitprice;charIlluminate[20];}stud[SIZE];【例1.2】顯示文件Commodity.c中的數(shù)據(jù):數(shù)據(jù)管理的發(fā)展階段____2、文件系統(tǒng)階段main(){inti;FILE*fp;fp=fopen(“Commodity.c”,”r”);
for(i=0;i<SIZE;i++)
{fread(&stud[i],sizeof(structCommodity_type),1,fp);printf(“%28s%20s%8d%200s%\n”,stud[i].WareName,stud[i].Specification,stud[i].Unitprice,stud[i].Illuminate);}}數(shù)據(jù)管理的發(fā)展階段____2、文件系統(tǒng)階段輸入數(shù)據(jù)程序輸出數(shù)據(jù)輸入文件輸出文件數(shù)據(jù)處理全過(guò)程如下圖:數(shù)據(jù)管理的發(fā)展階段____2、文件系統(tǒng)階段數(shù)據(jù)文件的優(yōu)點(diǎn)是實(shí)現(xiàn)了數(shù)據(jù)的物理獨(dú)立即數(shù)據(jù)與程序分離,分別采用兩個(gè)文件各自存放數(shù)據(jù)與程序。這就使程序設(shè)計(jì)變得簡(jiǎn)單,而且可對(duì)數(shù)據(jù)文件進(jìn)行管理,單獨(dú)對(duì)數(shù)據(jù)進(jìn)行使用或維護(hù)。
缺點(diǎn)是如果要使用和維護(hù)數(shù)據(jù),必須知道數(shù)據(jù)存放的格式,即要知道數(shù)據(jù)存取的邏輯結(jié)構(gòu)。數(shù)據(jù)和程序之間缺少邏輯獨(dú)立性。數(shù)據(jù)管理的發(fā)展階段____2、文件系統(tǒng)階段同一數(shù)據(jù)在多個(gè)地方同時(shí)存放,那么同一數(shù)據(jù)在不同存放地的值可能不相同,稱為數(shù)據(jù)不一致,這將會(huì)降低信息價(jià)值,甚至造成重大損失。數(shù)據(jù)共享是指同一數(shù)據(jù)能為同一用戶或不同用戶的相同或不同程序所使用。數(shù)據(jù)管理的發(fā)展階段____2、文件系統(tǒng)階段數(shù)據(jù)管理的發(fā)展階段____3、數(shù)據(jù)庫(kù)系統(tǒng)階段計(jì)算機(jī)管理的數(shù)據(jù)量大,關(guān)系復(fù)雜,共享性要求強(qiáng)(多種應(yīng)用、不同語(yǔ)言共享數(shù)據(jù))外存有了大容量磁盤,光盤軟件價(jià)格上升,硬件價(jià)格下降,編制和維護(hù)軟件及應(yīng)用程序成本相對(duì)增加,其中維護(hù)的成本更高,力求降低開始提出和考慮分布處理為解決多用戶、多應(yīng)用共享數(shù)據(jù)的需求,使數(shù)據(jù)為盡可能多的應(yīng)用服務(wù),就出現(xiàn)了數(shù)據(jù)庫(kù)技術(shù)出現(xiàn)了統(tǒng)一管理數(shù)據(jù)的專門軟件系統(tǒng):DBMS數(shù)據(jù)管理的發(fā)展階段____3、數(shù)據(jù)庫(kù)系統(tǒng)階段當(dāng)前關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的產(chǎn)品主要有Oracle、DB2、Informix、SybaseASE、SQLServer、MYSQL、達(dá)夢(mèng)、Access、VisualFoxPro等,Oracle是大型數(shù)據(jù)庫(kù),SQLServer是可以應(yīng)用于網(wǎng)絡(luò)上的小型數(shù)據(jù)庫(kù),Access、VisualFoxPro是桌面式數(shù)據(jù)庫(kù),達(dá)夢(mèng)是我國(guó)自行開發(fā)的國(guó)產(chǎn)數(shù)據(jù)庫(kù)管理系統(tǒng)等。從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)如果在SQLServer中要完成前述任務(wù),首先要建立數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)??上冉?shù)據(jù)庫(kù),例如建立名為Waremanage的數(shù)據(jù)庫(kù),當(dāng)打開該數(shù)據(jù)庫(kù)后,可使用下述命令建立空表結(jié)構(gòu):CREATETABLECommodity(WareNamechar(12),Secfcatonchar(16),Unitpriceint,Illuminatetext);從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)如要存入兩件商品數(shù)據(jù),可使用下述命令:INSERTINTOCommodityVALUES(“Silverware”,“Wwmottle”,40,“11111111111111”);INSERTINTOCommodityVALUES(“Chinaware”,“Popularware”,100,“22222222222222222222”);從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)與C語(yǔ)言程序不同,在輸入商品名稱、規(guī)格、說(shuō)明等數(shù)據(jù)時(shí),數(shù)據(jù)值的寬度不到預(yù)定的字符寬度時(shí),無(wú)須加填空格;在數(shù)據(jù)維護(hù)過(guò)程中對(duì)數(shù)據(jù)格式要求已經(jīng)不是那么嚴(yán)格了。例如要顯示表Commodity中的內(nèi)容,可使用下述命令:SELECT*FROMCommodity從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)如要求按一定條件顯示某一定范圍內(nèi)的內(nèi)容,例如只顯示單價(jià)為40的商品的名稱、規(guī)格與單價(jià),可使用下述命令:SELECTWareName,Secfcaton,UnitpriceFROMCommodityWHEREUnitprice=40從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)數(shù)據(jù)庫(kù)系統(tǒng)管理軟件有以下優(yōu)點(diǎn):(1)程序極為簡(jiǎn)單(2)程序中不需要了解數(shù)據(jù)的數(shù)量和順序(3)可直接對(duì)數(shù)據(jù)的某一部分分量進(jìn)行操作,而無(wú)須知道全面的數(shù)據(jù)結(jié)構(gòu)及其他分量的個(gè)數(shù)、名字和數(shù)據(jù)類型。(4)只要初始定義的數(shù)據(jù)結(jié)構(gòu)中你所需的那一部分分量的名字和數(shù)據(jù)類型不發(fā)生變化,程序?qū)o(wú)須隨數(shù)據(jù)結(jié)構(gòu)改變而修改。從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)在SQLServer2000中利用SQLServer管理工具中企業(yè)管理器建立數(shù)據(jù)庫(kù)waremanage之后會(huì)產(chǎn)生:主數(shù)據(jù)文件waremanage_Data.MDF日志文件waremanage_Data.LDF兩個(gè)文件如果在其中用上述CREATE建立數(shù)據(jù)表“Commodity”之后,我們查看waremanage_Data.MDF中的內(nèi)容,可以看到,其中包含了如下內(nèi)容(如圖1.2所示)從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)圖1.2數(shù)據(jù)表文件MDF中關(guān)于表結(jié)構(gòu)定義的內(nèi)容的示意在存放數(shù)據(jù)時(shí),數(shù)據(jù)庫(kù)將數(shù)據(jù)分為不同類型,不同類型的數(shù)據(jù)存放格式不同、將來(lái)允許進(jìn)行的處理不相同。數(shù)據(jù)在計(jì)算機(jī)內(nèi)存放有二進(jìn)制與ASCII碼二種形式。SQLServer2000數(shù)據(jù)庫(kù)中數(shù)據(jù)類型及意義如表1.1所示。從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)數(shù)據(jù)庫(kù)中一般數(shù)據(jù)按記錄以等長(zhǎng)形式順序存放,各數(shù)據(jù)項(xiàng)在各記錄中占據(jù)寬度相同,這樣一種結(jié)構(gòu)可形象看作一個(gè)由行和列構(gòu)成的二維表格,每一數(shù)據(jù)項(xiàng)為一列,稱為字段,每一行稱為一條記錄,包括一件事物的有關(guān)數(shù)據(jù),以這種形式組織數(shù)據(jù)的數(shù)據(jù)庫(kù),我們稱為關(guān)系數(shù)據(jù)庫(kù)。例如一個(gè)關(guān)于商品的關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)表的結(jié)構(gòu)與內(nèi)容如表1.2所示。從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)通過(guò)前述定義表與存入數(shù)據(jù)后,如果查看waremanage_Data.MDF中的內(nèi)容,可以看到,文件中包含了上述表中數(shù)據(jù),如圖1.3所示。從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)
SQLServer數(shù)據(jù)庫(kù)對(duì)某一個(gè)數(shù)據(jù)表而言,數(shù)據(jù)庫(kù)文件分成多個(gè)相關(guān)部分,其中有一部分存放數(shù)據(jù)結(jié)構(gòu)的描述,再有一部分按順序存放數(shù)據(jù),還有一部分以鏈表結(jié)構(gòu)形式存放文本類型等數(shù)據(jù)。
為了不同的處理需要(例如索引、視圖、日志等),SQLServer中同一數(shù)據(jù)與關(guān)于數(shù)據(jù)結(jié)構(gòu)的描述往往多處出現(xiàn),如圖所示只是在數(shù)據(jù)庫(kù)主文件waremanage_Data.MDF內(nèi)存放情況之一,另外,在日志文件waremanage_Data.LDF中還有類似的存放。從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)
Access是微軟公司Office產(chǎn)品套件中的產(chǎn)品,能適應(yīng)Web環(huán)境,適用于微型機(jī)環(huán)境,其數(shù)據(jù)存儲(chǔ)方式與SQLServer類似,數(shù)據(jù)以數(shù)據(jù)庫(kù)為單位形成文件存放。從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)在我國(guó)曾廣泛使用過(guò)的一種單機(jī)上的數(shù)據(jù)庫(kù)VisualFoxPro(簡(jiǎn)稱VFP),是一種不完全的關(guān)系數(shù)據(jù)庫(kù),其數(shù)據(jù)存儲(chǔ)方式有所不同,數(shù)據(jù)以表為單位形成一個(gè)文件存放,包括對(duì)數(shù)據(jù)結(jié)構(gòu)的定義與等長(zhǎng)記錄的數(shù)據(jù);如果有文本或圖形類字段,還將另外建立一個(gè)文件鏈表結(jié)構(gòu)的文件。從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)圖1.4描述了VFP中一個(gè)學(xué)生表結(jié)構(gòu)定義及數(shù)據(jù)存儲(chǔ)情況:其字段包括姓名:NAME,字符類型,寬度為8,以ASCII碼形式存放;學(xué)號(hào):NUM,整數(shù)類型,以二進(jìn)制形式存放;年齡:AGE,整數(shù)類型,以二進(jìn)制形式存放。從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)Oracle是一種大型數(shù)據(jù)庫(kù)產(chǎn)品,其較新版本是Oracle10g,除具有關(guān)系數(shù)據(jù)庫(kù)功能外,還有較強(qiáng)的數(shù)據(jù)倉(cāng)庫(kù)功能,適應(yīng)性很廣。它的數(shù)據(jù)存儲(chǔ)容量可達(dá)8TB,從目前情況看,實(shí)際數(shù)據(jù)容量只受操作系統(tǒng)限制。其數(shù)據(jù)存儲(chǔ)方式與SQLServer不同,數(shù)據(jù)庫(kù)下設(shè)表空間(一種邏輯結(jié)構(gòu)),表空間內(nèi)包括多個(gè)文件,表、索引、數(shù)據(jù)字典分布在這些文件中。數(shù)據(jù)字典存放關(guān)于數(shù)據(jù)邏輯結(jié)構(gòu)的定義。從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)數(shù)據(jù)庫(kù)都要求預(yù)先定義數(shù)據(jù)邏輯結(jié)構(gòu),并用專門文件或指定文件的一部分存儲(chǔ)關(guān)于結(jié)構(gòu)的描述,程序員編寫程序時(shí)就無(wú)須了解數(shù)據(jù)的全局結(jié)構(gòu),而只需關(guān)心他所涉及的那部分?jǐn)?shù)據(jù)項(xiàng),其他事可利用數(shù)據(jù)庫(kù)管理系統(tǒng)軟件(DBMS)來(lái)幫助完成。
初步實(shí)現(xiàn)數(shù)據(jù)與數(shù)據(jù)邏輯結(jié)構(gòu)描述(稱為模式)的分離。這是數(shù)據(jù)邏輯獨(dú)立的基礎(chǔ)。
從實(shí)例看數(shù)據(jù)庫(kù)的數(shù)據(jù)處理技術(shù)
DBMS可以分析數(shù)據(jù)全局與各數(shù)據(jù)項(xiàng)結(jié)構(gòu),分析一條記錄總長(zhǎng)度,及每一個(gè)數(shù)據(jù)項(xiàng)的名字、類型、從第幾個(gè)字節(jié)開始及共占據(jù)多少寬度等等,之后就可自動(dòng)從數(shù)據(jù)區(qū)中根據(jù)需要提取數(shù)據(jù)。數(shù)據(jù)庫(kù):有組織的、動(dòng)態(tài)地存儲(chǔ)的、結(jié)構(gòu)化的、相互關(guān)聯(lián)的數(shù)據(jù)的集合。是通過(guò)綜合多個(gè)用戶的文件中的數(shù)據(jù),除去不必要的冗余,使之相互聯(lián)系之后建立的數(shù)據(jù)存儲(chǔ)庫(kù)。集成、共享、存儲(chǔ)、信息是數(shù)據(jù)庫(kù)的要素,其重要特點(diǎn)是聯(lián)系。數(shù)據(jù)庫(kù)系統(tǒng)一般由數(shù)據(jù)庫(kù)、支持?jǐn)?shù)據(jù)庫(kù)運(yùn)行的軟件與硬件、數(shù)據(jù)庫(kù)管理系統(tǒng)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶構(gòu)成。
數(shù)據(jù)庫(kù)技術(shù)設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),需要:了解系統(tǒng)對(duì)數(shù)據(jù)和功能的需求對(duì)全系統(tǒng)涉及的所有數(shù)據(jù)進(jìn)行分析和整理、分析數(shù)據(jù)之間的聯(lián)系,用一定的數(shù)據(jù)模型來(lái)表示;求得系統(tǒng)全局的數(shù)據(jù)結(jié)構(gòu),用一定語(yǔ)言加以表示及定義;考慮數(shù)據(jù)的存放位置、數(shù)據(jù)量大小、對(duì)安全保密性、數(shù)據(jù)正確性、防錯(cuò)糾錯(cuò)措施等方面的要求,設(shè)計(jì)并在計(jì)算機(jī)中建立數(shù)據(jù)庫(kù)結(jié)構(gòu)
數(shù)據(jù)庫(kù)系統(tǒng)要盡可能減少數(shù)據(jù)冗余。所謂數(shù)據(jù)冗余是指同一數(shù)據(jù)在多個(gè)不同的地方存放。另外,如果一組數(shù)據(jù)在一個(gè)表中多次重復(fù),也是冗余。數(shù)據(jù)冗余不僅導(dǎo)致數(shù)據(jù)量的增加,使系統(tǒng)處理速度變慢,效率降低,而且易發(fā)生錯(cuò)誤。在實(shí)際設(shè)計(jì)中,應(yīng)盡量減少數(shù)據(jù)冗余,控制冗余度。需要正確定義全局?jǐn)?shù)據(jù)結(jié)構(gòu)。
數(shù)據(jù)庫(kù)系統(tǒng)用某一種數(shù)據(jù)庫(kù)語(yǔ)言對(duì)全局?jǐn)?shù)據(jù)結(jié)構(gòu)的定義稱為這種數(shù)據(jù)庫(kù)的概念模式,簡(jiǎn)稱模式。例如設(shè)計(jì)關(guān)于“學(xué)生”數(shù)據(jù),定義為二維結(jié)構(gòu)的表,表名為Student,包括name,num,age三個(gè)數(shù)據(jù)分量,數(shù)據(jù)類型分別為字符型、整型、整型,所占寬度分別為8、4、4個(gè)字節(jié)。這些內(nèi)容就是對(duì)關(guān)系數(shù)據(jù)庫(kù)“學(xué)生”的模式定義的主要內(nèi)容。
數(shù)據(jù)庫(kù)系統(tǒng)關(guān)系數(shù)據(jù)庫(kù)的模式除包括數(shù)據(jù)庫(kù)名,數(shù)據(jù)結(jié)構(gòu)方式,記錄的構(gòu)成等內(nèi)容外,還包括記錄的標(biāo)識(shí)性數(shù)據(jù)分量、數(shù)據(jù)范圍及使用權(quán)限等內(nèi)容。在關(guān)系數(shù)據(jù)庫(kù)中標(biāo)識(shí)性數(shù)據(jù)分量指能唯一標(biāo)志一條記錄的數(shù)據(jù)分量。模式常常簡(jiǎn)單地被表示為:模式名(數(shù)據(jù)項(xiàng)1,數(shù)據(jù)項(xiàng)2,……),例:Student(name,num,age)。上述數(shù)據(jù)分量我們稱之為字段,數(shù)據(jù)分量名稱為字段名,每條記錄該數(shù)據(jù)分量的值稱為字段值。標(biāo)識(shí)性數(shù)據(jù)分量稱關(guān)鍵字。
數(shù)據(jù)庫(kù)系統(tǒng)要增強(qiáng)數(shù)據(jù)的共享性、盡量減少數(shù)據(jù)冗余,還需要進(jìn)一步提高數(shù)據(jù)的邏輯獨(dú)立性,減少應(yīng)用程序?qū)θ中詳?shù)據(jù)結(jié)構(gòu)的依賴,讓應(yīng)用程序只和局部數(shù)據(jù)結(jié)構(gòu)相關(guān)。為此,可進(jìn)一步定義概念模式的邏輯子集,稱為子模式。
數(shù)據(jù)庫(kù)系統(tǒng)在數(shù)據(jù)庫(kù)系統(tǒng)管理軟件中,有專門定義數(shù)據(jù)模式的語(yǔ)句,例如,建立學(xué)生(學(xué)號(hào),姓名,年齡)和成績(jī)(學(xué)號(hào),課名,分?jǐn)?shù))兩個(gè)表(名字均改用英文單詞表示)的語(yǔ)句:CREATETABLEStudent(Numi,Namec(8),agei)CREATETABLEResult(Numi,LessonNamec(28),Fractioni)
數(shù)據(jù)庫(kù)系統(tǒng)在數(shù)據(jù)庫(kù)系統(tǒng)管理軟件中,還有建立視圖的語(yǔ)句。例如欲建立視圖SR,列舉所有不及格的學(xué)生,可以用一條語(yǔ)句實(shí)現(xiàn):CREATEVIEWSRASSELECTStudent.Name,Result.LessonName,Result.FractionFROMStudent,Result(WHEREStudent.Num=Result.NumANDResult.Fraction<60)
數(shù)據(jù)庫(kù)系統(tǒng)有了這個(gè)視圖之后,在關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中可將SR視同一般表,通過(guò)它對(duì)源表“Student”和“Result”進(jìn)行查詢操作。該視圖實(shí)現(xiàn)了兩個(gè)源表的聯(lián)系,相當(dāng)于源表模式的子集。它使用的字段名可以與源表不同,以后若源庫(kù)結(jié)構(gòu)發(fā)生變化,包括上述相應(yīng)字段名變化,我們可修改視圖定義來(lái)局部適應(yīng)這些變化,而不需要修改程序。視圖和表不同之處在于它并沒有真正地存儲(chǔ)數(shù)據(jù),它所存取的數(shù)據(jù)必須依附于所關(guān)聯(lián)的數(shù)據(jù)表,是一種虛的映射關(guān)系。
數(shù)據(jù)庫(kù)系統(tǒng)還有一些數(shù)據(jù)庫(kù),在關(guān)于全局?jǐn)?shù)據(jù)結(jié)構(gòu)的子集定義中允許改變對(duì)應(yīng)的數(shù)據(jù)類型、寬度,還可加入關(guān)于權(quán)限控制方面的內(nèi)容,這種用一定數(shù)據(jù)庫(kù)語(yǔ)言對(duì)局部數(shù)據(jù)結(jié)構(gòu)的描述稱為子模式或外模式。子模式是對(duì)用戶所看到的數(shù)據(jù)結(jié)構(gòu)的描述,用戶看到的數(shù)據(jù)結(jié)構(gòu)稱為用戶視圖或外部視圖或稱I/O視圖。
數(shù)據(jù)庫(kù)系統(tǒng)在一些數(shù)據(jù)庫(kù)中,關(guān)于數(shù)據(jù)結(jié)構(gòu)的定義還需加入所存儲(chǔ)文件名及類型、數(shù)據(jù)存儲(chǔ)形式(順序文件或鏈表結(jié)構(gòu)文件)、采用的指針、索引文件的結(jié)構(gòu)乃至于存儲(chǔ)設(shè)備,物理塊大小等。這些有關(guān)存儲(chǔ)方式、物理結(jié)構(gòu)等的描述稱為存儲(chǔ)模式或內(nèi)模式,數(shù)據(jù)庫(kù)通過(guò)存儲(chǔ)模式再借助于操作系統(tǒng)實(shí)現(xiàn)對(duì)數(shù)據(jù)存儲(chǔ)文件的操作。
數(shù)據(jù)庫(kù)系統(tǒng)以上形式將數(shù)據(jù)庫(kù)分為不同層次,各個(gè)層次面對(duì)不同類型的人員。最終用戶面對(duì)的是應(yīng)用程序,程序員所見到的數(shù)據(jù)庫(kù)形式稱外部視圖或稱I/O視圖。數(shù)據(jù)庫(kù)管理員DBA面向數(shù)據(jù)全局結(jié)構(gòu),即概念模式和存儲(chǔ)模式,包括了所有部門、各類人員所有數(shù)據(jù)的按一定規(guī)則的集合。系統(tǒng)管理員關(guān)心的是各個(gè)數(shù)據(jù)庫(kù)及其他文件在系統(tǒng)中的存儲(chǔ)和管理,面對(duì)的是各個(gè)數(shù)據(jù)庫(kù)的存儲(chǔ)模式,他看到的部分稱為內(nèi)部視圖。
數(shù)據(jù)庫(kù)系統(tǒng)美國(guó)ANSI/X3/SPARC(美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)的計(jì)算機(jī)與信息處理委員會(huì)中的標(biāo)準(zhǔn)計(jì)劃與需求委員會(huì))數(shù)據(jù)庫(kù)小組關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)三層結(jié)構(gòu):外部級(jí),概念級(jí),內(nèi)部級(jí)劃分視圖層次的方案見圖1.5。
數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)的視圖層次程序A程序B程序C程序D子模式子模式子模式概念模式存貯模式
物理
數(shù)據(jù)
組織I/O視圖外部視圖概念視圖內(nèi)部視圖物理視圖
數(shù)據(jù)庫(kù)系統(tǒng)基于模式可以進(jìn)一步定義視圖,它相當(dāng)于面向應(yīng)用程序的子模式,使程序與數(shù)據(jù)進(jìn)一步分離。這樣的結(jié)構(gòu)要求應(yīng)用程序中使用的有關(guān)數(shù)據(jù)庫(kù)中數(shù)據(jù)的名字經(jīng)子模式翻譯解釋后與概念模式中的命名對(duì)應(yīng),稱為模式到程序的邏輯映像,模式定義的數(shù)據(jù)結(jié)構(gòu)通過(guò)存儲(chǔ)模式并經(jīng)操作系統(tǒng)解釋與實(shí)際操作數(shù)據(jù)的存儲(chǔ)相對(duì)應(yīng),稱為物理映像。
數(shù)據(jù)庫(kù)系統(tǒng)模式到程序的邏輯映像使程序與數(shù)據(jù)邏輯結(jié)構(gòu)定義以及數(shù)據(jù)盡可能分離,當(dāng)程序使用數(shù)據(jù)的要求發(fā)生變化時(shí)不一定要求改變數(shù)據(jù)的全局結(jié)構(gòu),反過(guò)來(lái)數(shù)據(jù)結(jié)構(gòu)在一定范圍內(nèi)變化時(shí),通過(guò)子模式調(diào)節(jié),不一定要求改變程序,稱之為數(shù)據(jù)的邏輯獨(dú)立性。
數(shù)據(jù)庫(kù)系統(tǒng)當(dāng)數(shù)據(jù)實(shí)際存儲(chǔ)位置等物理存儲(chǔ)結(jié)構(gòu)改變時(shí),可由存儲(chǔ)模式適應(yīng)這種變化,而不要求改變數(shù)據(jù)的全局結(jié)構(gòu),更不要求修改程序,稱之為數(shù)據(jù)的物理獨(dú)立。數(shù)據(jù)的邏輯獨(dú)立與數(shù)據(jù)的物理獨(dú)立合稱為數(shù)據(jù)獨(dú)立。數(shù)據(jù)獨(dú)立是數(shù)據(jù)共享的必備條件。而數(shù)據(jù)共享又為減少數(shù)據(jù)冗余、保證數(shù)據(jù)的一致性提供了條件。
數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)還應(yīng)有統(tǒng)一的數(shù)據(jù)控制功能,包括數(shù)據(jù)的安全性控制和數(shù)據(jù)的完整性控制。數(shù)據(jù)的安全性指不同用戶各自在一定權(quán)限范圍內(nèi)控制使用數(shù)據(jù)。其目的是防止數(shù)據(jù)遭到人為破壞或泄密。數(shù)據(jù)的完整性指數(shù)據(jù)的正確性、有效性和相容性。數(shù)據(jù)的完整性控制指在數(shù)據(jù)庫(kù)的使用過(guò)程中,防止錯(cuò)誤或不恰當(dāng)?shù)臄?shù)據(jù)進(jìn)入數(shù)據(jù)庫(kù)。
數(shù)據(jù)庫(kù)系統(tǒng)有效性是指數(shù)據(jù)的合法性。數(shù)據(jù):現(xiàn)實(shí)世界中實(shí)際存在的客觀事物、概念或事件的反映和抽象。實(shí)體:現(xiàn)實(shí)世界中客觀存在的可標(biāo)識(shí)的事物、概念或事件。屬性:可以描述與標(biāo)識(shí)實(shí)體的不同的特性。屬性值:用具體的數(shù)據(jù)來(lái)描述屬性。記錄:對(duì)應(yīng)一個(gè)實(shí)體的所有屬性值的集合。
數(shù)據(jù)庫(kù)系統(tǒng)實(shí)體集:具有相同屬性描述的實(shí)體的集合。實(shí)體型:一個(gè)實(shí)體集的屬性名的集合。關(guān)鍵字(主碼):某一個(gè)或某幾個(gè)屬性可以唯一區(qū)別一個(gè)實(shí)體。實(shí)體完整性:是否存在關(guān)鍵字、關(guān)鍵字在所有數(shù)據(jù)中是否能唯一標(biāo)識(shí)一條記錄。常作為數(shù)據(jù)有效的標(biāo)準(zhǔn)之一。
數(shù)據(jù)庫(kù)系統(tǒng)相容性是指表示同一個(gè)事實(shí)的兩個(gè)數(shù)據(jù)應(yīng)當(dāng)相同。在不同實(shí)體集之間有時(shí)有特定的聯(lián)系。在關(guān)系數(shù)據(jù)庫(kù)中,為了實(shí)現(xiàn)表與表之間的聯(lián)系,有時(shí)需將一個(gè)表的主碼作為數(shù)據(jù)之間聯(lián)系的紐帶放到另一個(gè)表中,這些在另外一個(gè)表中起聯(lián)系作用的屬性稱為外關(guān)鍵字(外碼)。通過(guò)外碼實(shí)現(xiàn)關(guān)系之間的約束稱為參照完整性。
數(shù)據(jù)庫(kù)系統(tǒng)正確性是指數(shù)據(jù)應(yīng)當(dāng)客觀真實(shí)地表現(xiàn)周圍事物。每個(gè)屬性的數(shù)據(jù)在實(shí)際生活中常具有一定范圍,屬性的取值范圍稱作域。數(shù)據(jù)應(yīng)當(dāng)滿足所規(guī)定的有效范圍。數(shù)據(jù)庫(kù)技術(shù)可識(shí)別一個(gè)數(shù)據(jù)是否在一定范圍內(nèi),在限定范圍內(nèi)的數(shù)據(jù)被認(rèn)為是正確的,不在限定范圍內(nèi)的數(shù)據(jù)輸入則是錯(cuò)誤的。R
數(shù)據(jù)庫(kù)系統(tǒng)
數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)DataBaseManagementSystem:DBMS是數(shù)據(jù)庫(kù)系統(tǒng)的核心組成部分。任何數(shù)據(jù)操作,包括數(shù)據(jù)庫(kù)定義、數(shù)據(jù)查詢、數(shù)據(jù)維護(hù)、數(shù)據(jù)庫(kù)運(yùn)行控制等都是在DBMS統(tǒng)一管理下進(jìn)行的。DBMS是用戶與數(shù)據(jù)庫(kù)的接口,應(yīng)用程序只有通過(guò)DBMS才能和數(shù)據(jù)庫(kù)打交道。
數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)DBMS的功能主要包括:(1)數(shù)據(jù)定義和映射(2)數(shù)據(jù)操縱(3)數(shù)據(jù)庫(kù)運(yùn)行控制(4)數(shù)據(jù)庫(kù)的建立和維護(hù)(5)數(shù)據(jù)組織、存儲(chǔ)和管理(6)數(shù)據(jù)通信接口
數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)DBMS由4部分組成:(1)數(shù)據(jù)定義語(yǔ)言及其翻譯處理程序(2)數(shù)據(jù)操縱語(yǔ)言,機(jī)器編譯(或解釋)程序(3)數(shù)據(jù)庫(kù)運(yùn)行控制程序
(4)實(shí)用程序傳統(tǒng)的數(shù)據(jù)庫(kù)有三類:層次數(shù)據(jù)庫(kù)、網(wǎng)狀數(shù)據(jù)庫(kù)和關(guān)系數(shù)據(jù)庫(kù)。它們分別采用樹、圖和線性表三種不同數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)及存儲(chǔ)結(jié)構(gòu)【例1.3】一個(gè)學(xué)校有許多系:電系、機(jī)系、化工系……,每個(gè)系通過(guò)系代碼,系名,系地址,系電話,系專業(yè)設(shè)置,……等數(shù)據(jù)來(lái)描述。每個(gè)系下轄多個(gè)教研室。例如電系下轄計(jì)算機(jī),電子信息,自動(dòng)控制等教研室;機(jī)系下轄機(jī)械制造,質(zhì)檢,制圖等教研室;化工系下轄化工材料,有機(jī)化工等教研室。每個(gè)教研室由室代碼,室名,室電話等數(shù)據(jù)描述。每個(gè)教研室負(fù)責(zé)管理老師,學(xué)生。鏈表式數(shù)據(jù)結(jié)構(gòu)可以使用鏈表將所有數(shù)據(jù)如圖1.6連接進(jìn)行存儲(chǔ),其中每個(gè)框表示一個(gè)實(shí)體型,包括各有關(guān)數(shù)據(jù)項(xiàng)。圖1.6鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)鏈表式數(shù)據(jù)結(jié)構(gòu)這類結(jié)構(gòu)可以實(shí)現(xiàn)從頭開始循鏈表查詢以求解上述問(wèn)題,層次數(shù)據(jù)庫(kù)就是如此組織數(shù)據(jù)的.
這種結(jié)構(gòu)形式,查詢只能從頭順著鏈向后走,因此要回答某老師是屬哪個(gè)系及哪個(gè)教研室這類問(wèn)題比較困難,數(shù)據(jù)維護(hù)操作也比較麻煩。
在圖1.6中一個(gè)系連同其所有教研室、教師和學(xué)生等子孫成員數(shù)據(jù)稱一條記錄,這些記錄是不等長(zhǎng)的,因而存儲(chǔ)處理也較困難。鏈表式數(shù)據(jù)結(jié)構(gòu)關(guān)系數(shù)據(jù)庫(kù)采用線性表形式組織數(shù)據(jù),如上述同樣問(wèn)題,它采用系、教研室、教師、學(xué)生等四個(gè)線性表來(lái)組織有關(guān)數(shù)據(jù),如表1.3、表1.4、表1.5、表1.6所示。關(guān)系數(shù)據(jù)庫(kù)結(jié)構(gòu)關(guān)系數(shù)據(jù)庫(kù)結(jié)構(gòu)表1.3系部數(shù)據(jù)表
關(guān)系數(shù)據(jù)庫(kù)結(jié)構(gòu)表1.4教研室數(shù)據(jù)表
關(guān)系數(shù)據(jù)庫(kù)結(jié)構(gòu)表1.5老師數(shù)據(jù)表
關(guān)系數(shù)據(jù)庫(kù)結(jié)構(gòu)表1.6學(xué)生數(shù)據(jù)表
關(guān)系數(shù)據(jù)庫(kù)采用的每一表稱為一個(gè)關(guān)系表的每一行稱為一條記錄,代表一個(gè)實(shí)體
每一列稱為字段或數(shù)據(jù)項(xiàng),代表實(shí)體一個(gè)屬性。關(guān)系數(shù)據(jù)庫(kù)結(jié)構(gòu)在學(xué)生的學(xué)籍與成績(jī)管理系統(tǒng)中,涉及關(guān)于學(xué)生與課程關(guān)系的許多問(wèn)題,如某個(gè)學(xué)生學(xué)習(xí)了哪些課程,各自成績(jī)等。學(xué)生到課程之間關(guān)聯(lián)關(guān)系如下圖所示:關(guān)系數(shù)據(jù)庫(kù)結(jié)構(gòu)如果進(jìn)一步要問(wèn)某門課程有哪些學(xué)生學(xué)及其成績(jī),就需建立反向的課程到學(xué)生之間關(guān)聯(lián)關(guān)系,如圖1.8所示。關(guān)系數(shù)據(jù)庫(kù)結(jié)構(gòu)采用線性表結(jié)構(gòu)解決上述問(wèn)題,可在前面所舉各表基礎(chǔ)上增加課程表包括課程號(hào),課程名,開課單位等。結(jié)構(gòu)如表1.7所示:關(guān)系數(shù)據(jù)庫(kù)結(jié)構(gòu)再設(shè)計(jì)一個(gè)聯(lián)系表,如表1.8所示的成績(jī)表:關(guān)系數(shù)據(jù)庫(kù)結(jié)構(gòu)如此,便可以回答許多關(guān)于學(xué)生與課程關(guān)系的問(wèn)題,例如要查找學(xué)生A1學(xué)習(xí)了哪些課程及其成績(jī):關(guān)系數(shù)據(jù)庫(kù)結(jié)構(gòu)對(duì)不同應(yīng)用問(wèn)題可能需要采用不同的數(shù)據(jù)結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)來(lái)組織數(shù)據(jù)。采用鏈表結(jié)構(gòu)優(yōu)點(diǎn)是效率高,缺點(diǎn)是結(jié)構(gòu)較復(fù)雜,維護(hù)不方便,操作缺少靈活性。采用線性表結(jié)構(gòu)并以順序文件形式存放,結(jié)構(gòu)較簡(jiǎn)單,數(shù)據(jù)維護(hù)容易,容易實(shí)施,有很強(qiáng)的適應(yīng)性和靈活性,因而成為目前采用的主要形式。關(guān)系數(shù)據(jù)庫(kù)結(jié)構(gòu)數(shù)據(jù)庫(kù)采用索引文件組織,目的在于提高檢索效率。一、索引文件用戶檢索要求總是針對(duì)某一個(gè)屬性或某幾個(gè)屬性進(jìn)行。稱查找所針對(duì)的屬性或?qū)傩越M為查找字。索引文件由索引項(xiàng)構(gòu)成,具有唯一性的索引文件的索引項(xiàng)由關(guān)鍵字值和指針組成,結(jié)構(gòu)為:(關(guān)鍵字值,指針)。而不具有唯一性的索引文件的索引項(xiàng)由查找字值和指針組成,結(jié)構(gòu)為:(查找字值,指針)。索引文件組織由索引項(xiàng)構(gòu)成且按查找字排序的文件稱索引文件。對(duì)每條記錄生成一個(gè)索引項(xiàng)的索引文件又稱稠密索引。如果內(nèi)外存交換數(shù)據(jù)的單位為塊,又一個(gè)索引文件的大小大于塊的大小,不能一次將索引文件調(diào)入內(nèi)存,可再建立高一層索引:將原索引文件分段,取每段最末一個(gè)索引項(xiàng)的關(guān)鍵字值及其在索引文件中的地址指針構(gòu)成該級(jí)索引項(xiàng),這樣構(gòu)成的索引文件稱稀疏索引。索引文件二、非關(guān)鍵字索引文件對(duì)于查找的內(nèi)容會(huì)有許多相同的取值,或檢索目標(biāo)涉及多個(gè)屬性的情況,采用前述關(guān)鍵字索引文件查詢的速度仍較慢,為此需設(shè)計(jì)如下幾種索引文件結(jié)構(gòu)。非關(guān)鍵字索引文件1、索引鏈接文件與多重鏈表文件索引索引鏈接文件由非關(guān)鍵字索引構(gòu)成的索引表及若干個(gè)鏈接文件構(gòu)成。非關(guān)鍵字索引的索引項(xiàng)由查找字和一個(gè)指針組成,每個(gè)索引項(xiàng)的指針指向其范圍內(nèi)第一條記錄的地址,該范圍內(nèi)其他記錄由指針順序相連。非關(guān)鍵字索引文件可以設(shè)計(jì)索引鏈接文件如圖1.9所示。非關(guān)鍵字索引文件對(duì)于涉及二個(gè)以上檢索條件的問(wèn)題,可建立多個(gè)索引,多個(gè)鏈表文件,稱為索引多鏈表文件。以提高對(duì)非關(guān)鍵字查找的效率。非關(guān)鍵字索引文件例如欲從主文件表中查找所有男教授數(shù)據(jù)。可對(duì)職稱建立一個(gè)索引鏈表,對(duì)性別建立一個(gè)鏈表,先查出所有教授姓名,再在性別鏈中查出這些教授有哪些在男性鏈表中,取出這些教授的數(shù)據(jù)。非關(guān)鍵字索引文件非關(guān)鍵字索引文件2、倒排表如要查某個(gè)范圍內(nèi)數(shù)據(jù),采用倒排表算法比較簡(jiǎn)單。倒排表索引項(xiàng)由查找關(guān)鍵字及相關(guān)記錄地址(指針)構(gòu)成。非關(guān)鍵字索引文件非關(guān)鍵字索引文件倒排表文件結(jié)構(gòu)能很好地支持多字段的組合條件查詢,此時(shí),對(duì)每一條件在倒排表中查出滿足條件的記錄的地址集合,之后進(jìn)行求交集的運(yùn)算,找到滿足組合條件的記錄,之后就可從主文件中查出相應(yīng)數(shù)據(jù)。非關(guān)鍵字索引文件三、B+樹索引文件B+樹索引文件采用多枝平衡樹結(jié)構(gòu),以塊為結(jié)點(diǎn),除根外,每個(gè)結(jié)點(diǎn)中數(shù)據(jù)量要求裝滿一半以上,若一塊最多能包含N條數(shù)據(jù),就要求除根外任何時(shí)候每塊數(shù)據(jù)量至少為N/2條數(shù)據(jù)。B+樹文件
在根和枝中存放的是路標(biāo)值和指針,指針數(shù)總比路標(biāo)值數(shù)多一,每個(gè)路標(biāo)值左指針?biāo)笁K的最大路標(biāo)值或最大關(guān)鍵字值都小于等于該路標(biāo)值,而右指針?biāo)笁K的最大路標(biāo)值或最大關(guān)鍵字值都大于該路標(biāo)值。在根和枝中一塊最多可存放N個(gè)路標(biāo)值。而在葉中存放的是關(guān)鍵字值。若一塊最多可存放M個(gè)關(guān)鍵字值(允許M≠N),則要求最少存入M/2條關(guān)鍵字值,每個(gè)結(jié)點(diǎn)中數(shù)據(jù)按關(guān)鍵字值大小順序排列,所有葉結(jié)點(diǎn)按順序由指針鏈接。B+樹文件例如關(guān)于表1.5中老師的索引,其結(jié)構(gòu)如圖1.12所示,為使圖形簡(jiǎn)單,M取2,N取4。B+樹文件查到一條記錄訪盤次數(shù)等于樹的深度。對(duì)于一個(gè)記錄總數(shù)為k的數(shù)據(jù)庫(kù),如根和枝上容納關(guān)鍵字總數(shù)為N,則N和查到一條記錄訪盤次數(shù)L之間滿足關(guān)系:1+logN+1(k+1)≤L≤2+logN+1((K+1)/2)B+樹文件如果查找關(guān)鍵字x4,我們從根查起,因“x4”<“x5”,從x5左枝往下查;因“x4”>“x3”再?gòu)膞3的右枝往下查;在葉結(jié)點(diǎn)中查到x4。訪盤次數(shù)共三次。B+樹文件數(shù)據(jù)庫(kù)原理與技術(shù)
(第二版)程學(xué)先程傳慧曾玲陳永輝鄭秋華楊曉艷第二章數(shù)據(jù)庫(kù)設(shè)計(jì)中的數(shù)據(jù)模型數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型面向?qū)ο髷?shù)據(jù)模型退出本章要點(diǎn)一、數(shù)據(jù)模型概念設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí),一般先用圖或表的形式抽象地反映數(shù)據(jù)彼此之間的關(guān)系,稱為建立數(shù)據(jù)模型。常用的數(shù)據(jù)模型一般可分為兩類,一是語(yǔ)義數(shù)據(jù)模型,如實(shí)體_聯(lián)系模型(E-R模型),面向?qū)ο竽P偷龋欢墙?jīng)典數(shù)據(jù)模型,如層次模型,網(wǎng)狀模型,關(guān)系模型。數(shù)據(jù)模型語(yǔ)義數(shù)據(jù)模型強(qiáng)調(diào)語(yǔ)義表達(dá)能力,建模容易方便,概念簡(jiǎn)單、清晰,易于用戶理解,是現(xiàn)實(shí)世界到信息世界的第一層抽象,是用戶和數(shù)據(jù)庫(kù)設(shè)計(jì)人員之間進(jìn)行交流的語(yǔ)言。經(jīng)典數(shù)據(jù)模型用于機(jī)器世界,一般和實(shí)際數(shù)據(jù)庫(kù)對(duì)應(yīng),例如層次模型,網(wǎng)狀模型,關(guān)系模型分別和層次數(shù)據(jù)庫(kù),網(wǎng)狀數(shù)據(jù)庫(kù)和關(guān)系數(shù)據(jù)庫(kù)對(duì)應(yīng),可在機(jī)器上實(shí)觀。這類模型有更嚴(yán)格的形式化定義,常需加上一些限制或規(guī)定。數(shù)據(jù)模型設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)通常利用第一類模型作初步設(shè)計(jì),之后按一定方法轉(zhuǎn)換為第二類模型,再進(jìn)一步設(shè)計(jì)全系統(tǒng)的數(shù)據(jù)庫(kù)結(jié)構(gòu)。通常包括數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分內(nèi)容。數(shù)據(jù)模型數(shù)據(jù)結(jié)構(gòu):描述的是數(shù)據(jù)庫(kù)數(shù)據(jù)的組成、特性及其相互間聯(lián)系,是對(duì)系統(tǒng)靜態(tài)特性的描述。在數(shù)據(jù)庫(kù)系統(tǒng)中通常按數(shù)據(jù)結(jié)構(gòu)的類型來(lái)命名數(shù)據(jù)模型,如層次結(jié)構(gòu)、網(wǎng)狀結(jié)構(gòu)和關(guān)系結(jié)構(gòu)的模型分別命名為層次模型,網(wǎng)狀模型,關(guān)系模型。數(shù)據(jù)模型數(shù)據(jù)操作:指對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象的實(shí)例允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則,是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述。主要有檢索和維護(hù)(包括錄入、刪除、修改)等兩大類操作。數(shù)據(jù)模型
數(shù)據(jù)的約束條件:指數(shù)據(jù)完整性規(guī)則的集合,它是給定數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫(kù)狀態(tài)及其變化,以保證數(shù)據(jù)的完整性。數(shù)據(jù)模型二、數(shù)據(jù)之間的聯(lián)系1、一對(duì)一聯(lián)系(1:1)若對(duì)于實(shí)體集A中每一個(gè)實(shí)體,實(shí)體集B中至多只有一個(gè)實(shí)體與之聯(lián)系,反之對(duì)于實(shí)體集B中每一個(gè)實(shí)體,實(shí)體集A中也至多只有一個(gè)實(shí)體與之聯(lián)系。則稱實(shí)體集A與實(shí)體集B之間具有一對(duì)一聯(lián)系,記為1:1。數(shù)據(jù)模型2、一對(duì)多聯(lián)系(1:N)若對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(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。數(shù)據(jù)之間的聯(lián)系3、多對(duì)多聯(lián)系(M:N)若對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥0)與之聯(lián)系,反過(guò)來(lái)對(duì)于實(shí)體B中的每一個(gè)實(shí)體,實(shí)體集A中有m個(gè)實(shí)體(m≥0)與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B之間有多對(duì)多聯(lián)系,記為M:N。數(shù)據(jù)之間的聯(lián)系三、實(shí)體-聯(lián)系模型(Entity-RelationshipModel)
E-R模型是P.PS.Chen于1976年提出的一種概念模型,用E-R圖來(lái)描述一個(gè)系統(tǒng)中的數(shù)據(jù)及其之間關(guān)系。數(shù)據(jù)模型在E-R圖中,用長(zhǎng)方形表示實(shí)體集,在長(zhǎng)方形框內(nèi)寫上實(shí)體名。用菱形表示實(shí)體間聯(lián)系,菱形框內(nèi)寫上聯(lián)系名。用無(wú)向邊把菱形和有關(guān)實(shí)體相連接,在無(wú)向邊旁標(biāo)上聯(lián)系的類型,如1或M或N。用橢園形表示實(shí)體或聯(lián)系的屬性。如用橢圖形,將它與一個(gè)相應(yīng)實(shí)體間以無(wú)向邊相連?;蛞员砀裥问剑硎痉椒椋簩?shí)體名(屬性1,屬性2…)。實(shí)體-聯(lián)系模型實(shí)體-聯(lián)系模型學(xué)校系統(tǒng)的E-R圖如右圖所示:實(shí)體-聯(lián)系模型要注意的幾個(gè)問(wèn)題:1、某些聯(lián)系也具有屬性2、對(duì)于三個(gè)實(shí)體m:n:p的聯(lián)系的老師、學(xué)生、課程間聯(lián)系可如圖2.3所示描述。實(shí)體-聯(lián)系模型3、E-R圖可以表現(xiàn)一個(gè)實(shí)體內(nèi)部-部分成員和另一部分成員間的聯(lián)系稱為自回路。實(shí)體-聯(lián)系模型4、E-R圖可以表現(xiàn)二個(gè)實(shí)體集間多類聯(lián)系。例如一個(gè)單位中職工和工作的關(guān)系,一個(gè)職工可承擔(dān)多項(xiàng)工作,一個(gè)工作一般有多人承擔(dān),這種工作關(guān)系是多對(duì)多的關(guān)系。另一方面,有一些職工對(duì)一些工作是主要責(zé)任人,一個(gè)職工可對(duì)多項(xiàng)工作負(fù)責(zé),但一項(xiàng)工作只有一個(gè)責(zé)任人,它們之間這種負(fù)責(zé)關(guān)系為1對(duì)多聯(lián)系,可用圖2.5描述。實(shí)體-聯(lián)系模型用二維表格數(shù)據(jù)(即集合論中的關(guān)系)來(lái)表示實(shí)體和實(shí)體間聯(lián)系的模型叫關(guān)系數(shù)據(jù)模型。Oracle、DB2、Informix、Sybase、SQLServer、Access、VisualFoxPro全都是關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型用二維表表示實(shí)體集,二維表由多列和多行組成。每列描述實(shí)體的一個(gè)屬性,每列的標(biāo)識(shí)稱為屬性名,在關(guān)系數(shù)據(jù)庫(kù)中稱為數(shù)據(jù)項(xiàng)或字段。表中每一行稱為一個(gè)元組,描述一個(gè)具體實(shí)體,在關(guān)系數(shù)據(jù)庫(kù)中稱為記錄。關(guān)系數(shù)據(jù)模型元組的集合構(gòu)成表,稱為關(guān)系,描述一個(gè)實(shí)體集中各類數(shù)據(jù)的集合,在關(guān)系數(shù)據(jù)庫(kù)中也稱之為表。關(guān)系數(shù)據(jù)模型由多個(gè)關(guān)系表構(gòu)成,每個(gè)表表示法為:關(guān)系名(屬性1,屬性2,……屬性n),例如:學(xué)生(學(xué)號(hào),姓名,性別,出生年月,專業(yè),班級(jí),政治面貌,家庭住址,履歷)。關(guān)系數(shù)據(jù)模型在一個(gè)關(guān)系的屬性中有的屬性或?qū)傩越M能唯一標(biāo)識(shí)一個(gè)元組,稱為主碼,或稱為關(guān)鍵字。有些屬性取值有一定范圍,屬性的取值范圍稱為域。一個(gè)域?qū)?yīng)關(guān)系數(shù)據(jù)庫(kù)中的表中的一個(gè)數(shù)據(jù)項(xiàng)的值的集合。域可以是整數(shù)、實(shí)數(shù)、字符串、如期、邏輯真假等。元組中一個(gè)屬性值稱為分量,對(duì)應(yīng)關(guān)系數(shù)據(jù)庫(kù)中一條具體記錄的一個(gè)數(shù)據(jù)項(xiàng)的具體值。關(guān)系數(shù)據(jù)模型1、關(guān)系是元組的集合,元組在關(guān)系中的順序不影響關(guān)系。幾點(diǎn)說(shuō)明:2、同一關(guān)系任意元組不允許全同。對(duì)于每一表,一般要選定或設(shè)計(jì)主碼,用以區(qū)分不同元組。3、關(guān)系的每一屬性都是不可再細(xì)分的基本數(shù)據(jù)類型,這種特性稱為原子性。4、在一個(gè)表中屬性排列順序可以交換,不影響關(guān)系。5、允許屬性值為空值(nullvalue),表示該屬性值未知,空值不同于0,也不同于空格。關(guān)系數(shù)據(jù)模型由E-R模型轉(zhuǎn)化出關(guān)系模型,畫法為:將每一個(gè)實(shí)體型(矩形)用一個(gè)關(guān)系表示,實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的主碼。對(duì)于一對(duì)一的聯(lián)系可將原兩實(shí)體合并為一個(gè)關(guān)系表示,關(guān)系屬性由二個(gè)實(shí)體屬性集合而成,如有的屬性名相同,則應(yīng)加以區(qū)分。對(duì)于一對(duì)多的聯(lián)系,在原多方實(shí)體對(duì)應(yīng)的關(guān)系中,添加一方實(shí)體的主碼,多方實(shí)體主碼是多方對(duì)應(yīng)關(guān)系的主碼。關(guān)系數(shù)據(jù)模型的設(shè)計(jì)將多對(duì)多的聯(lián)系轉(zhuǎn)換為新關(guān)系,聯(lián)系名為關(guān)系名,聯(lián)系的屬性加上相關(guān)兩實(shí)體主碼構(gòu)成關(guān)系的屬性集,相關(guān)兩實(shí)體主碼的集合是聯(lián)系關(guān)系的主碼。例如圖2.2中在成績(jī)屬性集(分?jǐn)?shù))的基礎(chǔ)上建立關(guān)系成績(jī)(學(xué)號(hào),課程號(hào),分?jǐn)?shù)),它將是聯(lián)系學(xué)生和課程兩個(gè)實(shí)體的關(guān)系,其中,學(xué)號(hào)是學(xué)生實(shí)體的主碼,課程號(hào)是課程實(shí)體的主碼,分?jǐn)?shù)是聯(lián)系“成績(jī)”的原有屬性,學(xué)號(hào)和課程號(hào)構(gòu)成成績(jī)關(guān)系的主碼。關(guān)系數(shù)據(jù)模型的設(shè)計(jì)對(duì)于M:N:P的聯(lián)系,仿照多對(duì)多聯(lián)系處理,聯(lián)系轉(zhuǎn)化為關(guān)系,原三個(gè)相關(guān)實(shí)體的主碼及聯(lián)系自身的屬性構(gòu)成聯(lián)系關(guān)系的屬性。關(guān)系數(shù)據(jù)模型的設(shè)計(jì)對(duì)于自回路,區(qū)分一對(duì)多和多對(duì)多。對(duì)于多對(duì)多情況,先復(fù)制原實(shí)體中主碼及涉及的主要屬性,改名后存另一個(gè)表,再仿照一對(duì)多聯(lián)系和多對(duì)多聯(lián)系處理,聯(lián)系轉(zhuǎn)化為關(guān)系,原實(shí)體中主碼加上更名后原實(shí)體中主碼作為聯(lián)系的屬性。例如學(xué)生和學(xué)生之間合作聯(lián)系可用合作(學(xué)號(hào),相關(guān)學(xué)號(hào))表示。關(guān)系數(shù)據(jù)模型的設(shè)計(jì)面向?qū)ο竽P涂梢钥闯墒荅-R模型增加了封裝、方法、和對(duì)象標(biāo)識(shí)等概念后的擴(kuò)展。面向?qū)ο蠓椒▽?shí)體集抽象地看成是對(duì)象的集合,對(duì)象具有屬性,接受約束,彼此間存在聯(lián)系。將對(duì)象分類并抽象成類,可以利用面向?qū)ο箝_發(fā)工具繪制數(shù)據(jù)模型。將系統(tǒng)分析與設(shè)計(jì)統(tǒng)一起來(lái),在建?;A(chǔ)上進(jìn)一步直接建庫(kù)建表。面向?qū)ο髷?shù)據(jù)模型1997年國(guó)際對(duì)象管理集團(tuán)(Object
Management
Group,OMG
)通過(guò)將統(tǒng)一建模語(yǔ)言(UnifiedModelingLanguage,UML)定為建模語(yǔ)言的行業(yè)標(biāo)準(zhǔn),成為目前最為風(fēng)行的建模語(yǔ)言。面向?qū)ο髷?shù)據(jù)模型UML定義的類圖UML是由世界著名的面向?qū)ο蠹夹g(shù)專家G.Booch、J.Rumbauhg和I.Jacobson發(fā)起,在Booch方法、OMT方法和OOSE方法的基礎(chǔ)上,汲取許多面向?qū)ο蠓椒ǖ膬?yōu)點(diǎn),廣泛征求意見,幾經(jīng)修改而完成的。目前已成為面向?qū)ο箢I(lǐng)域內(nèi)占主導(dǎo)地位的標(biāo)準(zhǔn)建模語(yǔ)言。UML用9種圖:用例圖、類圖、對(duì)象圖、時(shí)序圖、活動(dòng)圖、協(xié)作圖、組件圖、狀態(tài)圖、部署圖對(duì)現(xiàn)實(shí)世界進(jìn)行模擬。面向?qū)ο髷?shù)據(jù)模型類是具有相似結(jié)構(gòu)、行為和關(guān)系的一組對(duì)象的抽象表示。對(duì)象是類的實(shí)例,它定義了系統(tǒng)在給定時(shí)刻具有的物理元素,而沒有具體考慮系統(tǒng)的動(dòng)態(tài)活動(dòng)。UML規(guī)定用類圖描述類及其之間的關(guān)系。類圖(ClassDiagram),表現(xiàn)類以及類之間的關(guān)系,可用于表現(xiàn)信息之間的聯(lián)系、數(shù)據(jù)及其處理的概要過(guò)程。UML定義的類圖對(duì)象圖可以具體表現(xiàn)對(duì)象及對(duì)象之間的相互關(guān)系??梢岳妙惷枋鰯?shù)據(jù)表、主碼、外碼、視圖、域;用方法描述索引、約束、派生;用關(guān)聯(lián)、聚集、組合表現(xiàn)實(shí)體集間聚集、組合等關(guān)系。類圖與對(duì)象圖都是UML的靜態(tài)結(jié)構(gòu)圖,是系統(tǒng)分析與系統(tǒng)設(shè)計(jì)中極為重要的文件,是其他動(dòng)態(tài)結(jié)構(gòu)圖的依據(jù)。UML定義的類圖一、類圖的概念在類圖中,類由矩形框來(lái)表示,矩形框內(nèi)分為三層,分別說(shuō)明類的名稱、類的屬性(表現(xiàn)類的結(jié)構(gòu)特征)與類的方法(表現(xiàn)類的操作、行為或處理),在類與類之間用特殊符號(hào)表示它們之間的關(guān)系。類的名稱是分析與設(shè)計(jì)中需要的關(guān)于類的標(biāo)識(shí),應(yīng)盡量用領(lǐng)域內(nèi)的術(shù)語(yǔ),同時(shí)又要讓人容易領(lǐng)會(huì)其意義。UML定義的類圖類的屬性常被用來(lái)表示數(shù)據(jù)的結(jié)構(gòu)與界面的情況,在類圖中用文字串說(shuō)明,文字串的格式為:[可見性]屬性名[:類型][‘[‘多重性[次序]’]‘][=初始值][{特性}]其中,中括號(hào)表示可選,對(duì)于具體的類,可以有,也可能沒有。UML定義的類圖一般講,類不限定屬性的個(gè)數(shù),我們?cè)谛枨蠓治鲭A段繪制時(shí)可以只考慮那些對(duì)系統(tǒng)設(shè)計(jì)必要的特征。一個(gè)類代表多個(gè)對(duì)象,各對(duì)象間的區(qū)別主要體現(xiàn)在屬性值的不同上。類的方法表示類的操作或功能,例如對(duì)數(shù)據(jù)表的添加、修改、刪除、查詢、計(jì)算、分類、歸納、導(dǎo)出、打印等等,它們都作用在該類所派生的對(duì)象上,在設(shè)計(jì)界面時(shí)必須考慮,在為數(shù)據(jù)庫(kù)建模時(shí)可以暫不考慮。UML定義的類圖二、對(duì)象圖的概念對(duì)象圖是類圖的具體形式,表示類的實(shí)例樣本,并且可以顯示鍵值和關(guān)系。對(duì)象圖幾乎使用與類圖完全相同的標(biāo)識(shí),唯一的不同在于它顯示的是類的多個(gè)實(shí)例,而不是實(shí)際的類,用對(duì)象名:類名(加下劃線)表示對(duì)象名(空缺對(duì)象名時(shí)表示是匿名對(duì)象)。對(duì)象有生命周期,只在系統(tǒng)某一時(shí)間段存在。對(duì)象圖主要應(yīng)用在交互圖中。UML定義的類圖三、類圖的圖形元素UML定義的類圖用右鍵點(diǎn)擊“LogicalView”,在彈出菜單中選“New”,再選“ClassDiagram”,就會(huì)在“LogicalView”目錄下創(chuàng)建一個(gè)類。雙擊該類,進(jìn)入類設(shè)計(jì)窗口,見圖2.6。圖2.6建立類圖在目錄樹右邊會(huì)顯示幫助繪制類圖的工具條,其內(nèi)容與意義見圖2.7。先點(diǎn)擊工具條上的類,再在類圖設(shè)計(jì)窗口上點(diǎn)擊,就會(huì)建立一個(gè)新類,可以定義類名。用右鍵點(diǎn)擊該類,選“OpenSpecification”將出現(xiàn)如圖2.8所示的類的屬性對(duì)話框。UML定義的類圖在普通屬性頁(yè)面(General)上,可以定義類名、類的種類、類的角色。在Documentation框中可以以文本方式填入與執(zhí)行類有關(guān)的約束條件。用右鍵點(diǎn)擊類,彈出菜單如圖2.9所示。UML定義的類圖在該菜單中點(diǎn)選“NewAttribute”,可以在圖中添加屬性,每添加一個(gè)新屬性,該屬性都會(huì)列入到右邊目錄樹中。RUML定義的類圖圖2.9右鍵點(diǎn)擊類圖彈出的菜單用右鍵點(diǎn)擊目錄樹中的屬性名,點(diǎn)選“NewOperation”,彈出設(shè)置屬性的屬性的對(duì)話框,如圖2.10所示。UML定義的類圖圖2.10屬性數(shù)據(jù)類型設(shè)置在類圖中,用鼠標(biāo)右擊關(guān)聯(lián)線,彈出菜單如圖2.11所示。UML定義的類圖圖2.11右擊關(guān)聯(lián)線設(shè)置多重性利用Rose能十分容易地完成建模操作其步驟如下:1.分析系統(tǒng)中的實(shí)體。2.分析每一個(gè)類的含義和職責(zé)、確定屬性和操作。3.確定類之間的關(guān)系。利用Rose建模操作UML中類有三種主要的構(gòu)造型:邊界類、控制類和實(shí)體類。數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)主要考慮實(shí)體類。實(shí)體類保存要放進(jìn)持久存儲(chǔ)體的信息。持久存儲(chǔ)體是數(shù)據(jù)庫(kù)或文件等可以永久存儲(chǔ)數(shù)據(jù)的介質(zhì)。通常每個(gè)實(shí)體類對(duì)應(yīng)實(shí)際系統(tǒng)中的表格,最終對(duì)應(yīng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)表,實(shí)體類中的屬性對(duì)應(yīng)數(shù)據(jù)庫(kù)表中的字段。利用Rose建模操作chapter__1利用Rose建模操作R圖2.12學(xué)生管理系統(tǒng)數(shù)據(jù)庫(kù)面向?qū)ο髷?shù)據(jù)模型示意圖類之間的關(guān)系是類圖中比較復(fù)雜的內(nèi)容。有關(guān)聯(lián)、聚合、組合、泛化、依賴等。關(guān)聯(lián)是模型元素之間的一種語(yǔ)義聯(lián)系,表示類與類之間的連接。它使一個(gè)類的可見屬性和方法被另一個(gè)類使用。關(guān)聯(lián)可以是雙向關(guān)聯(lián),也可以是單向關(guān)聯(lián),在UML圖中用無(wú)箭頭實(shí)線或單向的箭頭線表示,單向的箭頭指向調(diào)用或查詢的方向。利用Rose建模操作可以給關(guān)聯(lián)加上關(guān)聯(lián)名來(lái)描述關(guān)聯(lián)的作用。關(guān)聯(lián)兩端的類也可以以某種角色參與關(guān)聯(lián),角色可以具有多重性,表示可以有多少個(gè)對(duì)象參與關(guān)聯(lián)??梢酝ㄟ^(guò)關(guān)聯(lián)類進(jìn)一步描述關(guān)聯(lián)的屬性、操作以及其他信息。關(guān)聯(lián)類通過(guò)一條虛線與關(guān)聯(lián)連接,可以將它看成為實(shí)體與實(shí)體之間的聯(lián)系關(guān)系。對(duì)于關(guān)聯(lián)可以加上一些約束,以加強(qiáng)關(guān)聯(lián)的含義。利用Rose建模操作利用Rose建模操作圖2.13利用Rose2003為數(shù)據(jù)庫(kù)建模(1)右擊邏輯視圖(Logicalview)→New→ClassDiagram→改名為學(xué)生管理→雙擊“學(xué)生管理”出現(xiàn)類設(shè)計(jì)窗口,利用工具條中的“類”按鈕在其中建立類:“系”、“教研室”、“老師”、“學(xué)生”、“課程”、“教學(xué)”、“成績(jī)”(2)在組件視圖(componentview)中創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象:右擊組件,在彈出菜單中選DataModeler→New→Database→命名為:XSGL。(假設(shè)在SQLServer2000中已經(jīng)建立了數(shù)據(jù)庫(kù)XSGL)。從建模到建庫(kù)與建表的自動(dòng)化操作(3)右擊XSGL→OpenSpecification→在Target中選數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)→右擊XSGL→DataModeler→New→Tablespace,定義表空間,例如“PRIMARY”。(4)展開Logicalview→右擊Schemas→DataModeler→New→Schema,定義模型名,例如Schema1。右擊Schema1→OpenSpecification→在彈出對(duì)話框中選擇Database為XSGL。(5)創(chuàng)建模型視圖。右擊Schema1→選DataModeler→New→DataModelDiagram,生成模型視圖NewDiagram,定義模型視圖名,例如“學(xué)生”。從建模到建庫(kù)與建表的自動(dòng)化操作(6)建表。雙擊“學(xué)生”,在視圖中利用工具條中的對(duì)象模型生成數(shù)據(jù)表“系”、“教研室”、“老師”、“學(xué)生”、“課程”等。右擊各個(gè)表,選OpenSpecification→在彈出對(duì)話框General頁(yè)面中選擇Tablespace為PRIMARY。(7)創(chuàng)建字段。右擊各個(gè)表,選DataModeler→New→Column,按需要?jiǎng)?chuàng)建字段。再右擊字段名→OpenSpecification→在彈出對(duì)話框的Type選項(xiàng)卡可以設(shè)置Datatype、Length、uniqueConstraint、PrimaryKey、NotNull、ComputedColumn,還可以定義DefaultValue。創(chuàng)建結(jié)果如圖2.13所示。從建模到建庫(kù)與建表的自動(dòng)化操作(8)右擊各表→OpenSpecification→在彈出對(duì)話框中可以設(shè)置觸發(fā)器。(9)創(chuàng)建表與表之間的關(guān)系。使用工具條中的關(guān)聯(lián)線(Non-identifyingRelationship)或箭頭線(IdentifyingRelationship)可以建立各個(gè)表之間的關(guān)系,IdentifyingRelationship表示確定性關(guān)系,從父表指向子表;Non-identifyingRelationship表示非確定性關(guān)系。從建模到建庫(kù)與建表的自動(dòng)化操作(10)導(dǎo)入數(shù)據(jù)庫(kù):打開SQLServer的“企業(yè)管理器”,新建一個(gè)名為“XSGL”的數(shù)據(jù)庫(kù),打開屬性,在“文件組”一欄如果沒有PRIMARY則加上“PRIMARY”,對(duì)應(yīng)Rose中的Tablespace。右鍵打開“XSGL”,并選擇“ForwardEngineer”,點(diǎn)擊“下一步”,選擇想導(dǎo)入的部分,再“下一步”,選擇“Execute”,填入SQLServer的登陸帳號(hào)密碼,選擇“XSGL”數(shù)據(jù)庫(kù),就可以導(dǎo)入到SQLServer中了。從建模到建庫(kù)與建表的自動(dòng)化操作數(shù)據(jù)庫(kù)原理與技術(shù)
(第二版)程學(xué)先程傳慧曾玲陳永輝鄭秋華楊曉艷第三章關(guān)系數(shù)據(jù)庫(kù)基本概念函數(shù)依賴候選關(guān)鍵字與主屬性關(guān)系規(guī)范化本章要點(diǎn)退出關(guān)系數(shù)據(jù)庫(kù):按關(guān)系數(shù)據(jù)模型組織的數(shù)據(jù)庫(kù)。關(guān)系模式:關(guān)系名及其屬性序列,也稱為關(guān)系的型。域:是一組具有相同數(shù)據(jù)類型的值的集合。笛卡爾積:各域各取一值的完全組合稱為這些域的笛卡爾積?;靖拍钣駾1和域D2的笛卡爾積是一個(gè)表,其屬性為原D1域和D2域所有屬性的集合,其行數(shù)為D1域值的個(gè)數(shù)和D2域值個(gè)數(shù)的乘積,每一行由D1和D2各取一值組成,所有各行均不重復(fù)。如果給定一組域D1,D2,…Dn則D1╳D2╳…….╳Dn={(d1,d2,…dn)︱di∈Di,I=1,2,…n}其中每一個(gè)元素(d1,d2,…dn)叫做一個(gè)N元元組,或簡(jiǎn)稱為元組。元素中的每一個(gè)值叫作元組的一個(gè)分量,也是它所對(duì)應(yīng)實(shí)體或聯(lián)系的那個(gè)屬性的一個(gè)值。
關(guān)系數(shù)據(jù)庫(kù)基本概念基數(shù):域中數(shù)值(元素)的個(gè)數(shù)。笛卡爾積的基數(shù):構(gòu)成該積所有域的基數(shù)累乘積,稱為這些域的笛卡爾積。笛卡爾積的目數(shù):元組中每個(gè)分量的列數(shù)
關(guān)系數(shù)據(jù)庫(kù)基本概念例:設(shè)有D1、D2二個(gè)域,求D1×D2。已知:D1={(X1,Y1),(X2,Y2),(X3,Y3)}D2={(M1,W1,Z1),(M2,W2,Z2)}
則:D1×D2={(X1,Y1,M1,W1,Z1),(X1,Y1,M2,W2,Z2),(X2,Y2,M1,W1,Z1),(X2,Y2,M2,W2,Z2),(X3,Y3,M1,W1,Z1),(X3,Y3,M2,W2,Z2)}D1×D2的基數(shù)=3×2=6,目數(shù)=2+3=5
關(guān)系數(shù)據(jù)庫(kù)基本概念又例如:D1={(X1,Y1),(X2,Y2),(X3,Y3)}D3={P1,P2,P3}則:D1×D3={(X1,Y1,P1),(X1,Y1,P2),(X1,Y1,P3),(X2,Y2,P1),(X2,Y2,P2),(X2,Y2,P3),(X3,Y3,P1),(X3,Y3,P2),(X3,Y3,P3)}D1×D3的基數(shù)=3×3=9,目數(shù)=2+1=3
關(guān)系數(shù)據(jù)庫(kù)基本概念多個(gè)屬性構(gòu)成的關(guān)系是這些屬性所屬域的笛卡爾積的子集。一般說(shuō)來(lái)只有其真子集才有意義。圖3.1的C關(guān)系中只有一半元組是有意義的。
關(guān)系數(shù)據(jù)庫(kù)基本概念
關(guān)系數(shù)據(jù)庫(kù)基本概念圖3.1關(guān)系的笛卡爾積思考題:設(shè)有兩個(gè)域,名為D1和D2。D1={A,B,C,D,E}是5個(gè)大寫英文字母集合;D2={65,66,67,68,69}是5個(gè)大寫英文字母對(duì)應(yīng)的ASCII碼集合;請(qǐng)列出笛卡兒積D1╳D2對(duì)應(yīng)的二維表。關(guān)系數(shù)據(jù)庫(kù)基本概念____課堂練習(xí)所有關(guān)系模式的集合(包括關(guān)系名,屬性名,關(guān)鍵字,完整性約束和安全性要求)稱為關(guān)系數(shù)據(jù)庫(kù)模式,它表示一個(gè)關(guān)系數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。關(guān)系數(shù)據(jù)庫(kù)模式中所有關(guān)系模式的具體關(guān)系的集合稱關(guān)系數(shù)據(jù)庫(kù)。關(guān)系數(shù)據(jù)庫(kù)模式是數(shù)據(jù)的型的表示,而關(guān)系數(shù)據(jù)庫(kù)則是數(shù)據(jù)的值的表示。
關(guān)系數(shù)據(jù)庫(kù)基本概念R
數(shù)據(jù)庫(kù)中的關(guān)系應(yīng)具備如下性質(zhì):每一列中的分量來(lái)自于同一個(gè)域,是同一類型的數(shù)據(jù)。不同的列可來(lái)自于同一個(gè)域,每一列稱為屬性,要給予不同的屬性名。列的順序的改變不改變關(guān)系。在一個(gè)關(guān)系中任意兩個(gè)元組不能全同。元組次序可以任意交換而不改變關(guān)系。每一分量必須是不可再分的數(shù)據(jù)項(xiàng),即具有原子性。
關(guān)系數(shù)據(jù)庫(kù)基本概念現(xiàn)實(shí)世界信息世界關(guān)系表計(jì)算機(jī)世界事物類實(shí)體集合關(guān)系二維表數(shù)據(jù)庫(kù)文件事物實(shí)體元組行記錄性質(zhì)屬性域(屬性)列數(shù)據(jù)項(xiàng)不同領(lǐng)域不同術(shù)語(yǔ)對(duì)應(yīng)關(guān)系
關(guān)系數(shù)據(jù)庫(kù)基本概念一、函數(shù)依賴概念關(guān)系理論中函數(shù)依賴是指關(guān)系中屬性間的對(duì)應(yīng)關(guān)系。如關(guān)系中對(duì)于屬性(組)X的每一個(gè)值,屬性(組)Y只有唯一的值與之對(duì)應(yīng),則稱Y函數(shù)依賴于X,或稱X函數(shù)決定Y。記作X→Y,否則,如果X不能函數(shù)決定Y,記作
X→Y
。若X→Y,Y→X,則記作XY。函數(shù)依賴函數(shù)依賴?yán)绲?章中表1.3所示“系”關(guān)系中:系代碼→系名,系代碼→系地址,系代碼→系電話,系代碼→系專業(yè)設(shè)置如果系名值是惟一的,即各系名均不相同,那么還有函數(shù)依賴集:系名→系代碼,系名→系地址,系名→系電話,系名→系專業(yè)設(shè)置
ABABABCDABCDa1b1c1D1a1b1c1d1a1b1c2D2a1b2c2d2a2b2c3d3a2b2c3d3a3b1c4d4a3b2c4d4思考決定因素可能為兩個(gè)以上屬性構(gòu)成的屬性組。在一個(gè)關(guān)系中,如果一個(gè)屬性(組)值不唯一,則這個(gè)屬性(組)與任何屬性(組)的函數(shù)依賴關(guān)系中,它都不是決定因素。函數(shù)依賴1.函數(shù)依賴不是指關(guān)系模式R的某個(gè)或某些關(guān)系實(shí)例滿足的約束條件,而是指R的所有關(guān)系實(shí)例均要滿足的約束條件。(函數(shù)依賴關(guān)系的存在與時(shí)間無(wú)關(guān))2.函數(shù)依賴是語(yǔ)義范疇的概念。只能根據(jù)數(shù)據(jù)的語(yǔ)義來(lái)確定函數(shù)依賴,而不能按照其形式化定義來(lái)證明一個(gè)函數(shù)依賴是否成立。例如“姓名→年齡”這個(gè)函數(shù)依賴只有在不允許有同名人的條件下成立說(shuō)明:3.數(shù)據(jù)庫(kù)設(shè)計(jì)者可以對(duì)現(xiàn)實(shí)世界作強(qiáng)制的規(guī)定。例如規(guī)定不允許同名人出現(xiàn),函數(shù)依賴“姓名→年齡”成立。所插入的元組必須滿足規(guī)定的函數(shù)依賴,若發(fā)現(xiàn)有同名人存在,則拒絕裝入該元組。4.函數(shù)依賴與屬性間的聯(lián)系類型有關(guān)①在一個(gè)關(guān)系模式中,如果屬性X與Y有1:1聯(lián)系時(shí),則存在函數(shù)依賴X→Y,Y→X,即X←→Y。例如,當(dāng)員工沒有重名時(shí),Eno←→Ename。②如果屬性X與Y有m:1的聯(lián)系時(shí),則只存在函數(shù)依賴X→Y。例如,Eno與Eage,Dname之間均為m:1聯(lián)系,所以有Eno→Eage,Eno→Dname。③如果屬性X與Y有m:n的聯(lián)系時(shí),則X與Y之間不存在任何函數(shù)依賴關(guān)系。例如,一個(gè)員工可以參與多個(gè)工程,一個(gè)工程可以為多個(gè)員工參與,所以Eno與Pno之間不存在函數(shù)依賴關(guān)系。5.函數(shù)依賴可以保證關(guān)系分解的無(wú)損連接性二、部分函數(shù)依賴若X,Y為關(guān)系R中的屬性(組),如X→Y且X中存在真子集X’(X’≠X∧X’∈X),滿足X’→Y,則稱Y部分函數(shù)依賴于X,記作
函數(shù)依賴圖3.2部分函數(shù)依賴示意三、完全函數(shù)依賴如X,Y是關(guān)系R中屬性(組),X→Y且對(duì)于X的任何真子集X’(X’≠X∧X’∈X),都有X’Y,則稱Y完全函數(shù)依賴于X,記作X→Y函數(shù)依賴四、傳遞函數(shù)依賴一般說(shuō)來(lái),如X、Y為關(guān)系R中屬性(組)(Y∈X)有X→Y,YX但Y→Z,則稱Z傳遞函數(shù)依賴于X,記作XZ。函數(shù)依賴以上關(guān)系中,課程名→職工號(hào)、職工號(hào)課程名,但職工號(hào)→老師名、職工號(hào)→性別,則有:課程名性別;課程名老師名。函數(shù)依賴一、候選關(guān)鍵字在關(guān)系R中如記錄完全函數(shù)依賴于屬性(組)X,則稱X為關(guān)系R中的一個(gè)候選關(guān)鍵字。它具有如下性質(zhì):在一個(gè)關(guān)系中,候選關(guān)鍵字可以有多個(gè)。任何兩個(gè)候選關(guān)鍵字值都是不相同的,因?yàn)槿粲袃蓷l記錄的候選關(guān)鍵字值相同,它和記錄的關(guān)系就不是決定因素。候選關(guān)鍵字與主屬性
關(guān)鍵字可能由一個(gè)屬性構(gòu)成,也可能由多個(gè)屬性構(gòu)成。關(guān)鍵字不可能再與其他的屬性構(gòu)成新的候選關(guān)鍵字。候選關(guān)鍵字與主屬性
在任何關(guān)系中至少有一個(gè)關(guān)鍵字。根據(jù)關(guān)系的基本要求,在一個(gè)關(guān)系中任何二個(gè)元組不全同。因而在一個(gè)N元關(guān)系中,如果:?jiǎn)蝹€(gè)屬性都不是關(guān)鍵字任何兩個(gè)屬性的屬性組也不是關(guān)鍵字任何K(K<N)個(gè)屬性的屬性組都不是關(guān)鍵字則該關(guān)系全部屬性構(gòu)成的屬性組是其關(guān)鍵字。候選關(guān)鍵字與主屬性二、主屬性在一個(gè)關(guān)系中,如一個(gè)屬性是構(gòu)成某一個(gè)候選關(guān)鍵字的屬性集中的一個(gè)屬性,則稱它為主屬性。如一個(gè)屬性不是構(gòu)成該關(guān)系任何一個(gè)候選關(guān)鍵字的屬性集的成員,就稱它為非主屬性。候選關(guān)鍵字與主屬性一、問(wèn)題的提出數(shù)據(jù)冗余:是指同一數(shù)據(jù)在多個(gè)不同的地方存放。數(shù)據(jù)冗余不僅導(dǎo)致數(shù)據(jù)量的增加,使系統(tǒng)處理速度變慢,效率降低,而且易發(fā)生錯(cuò)誤,影響全系統(tǒng)的性能。關(guān)系規(guī)范化操作異常包括插入操作異常和刪除操作異常兩類。插入操作異常指欲錄入的數(shù)據(jù)因缺少關(guān)鍵字或關(guān)鍵字?jǐn)?shù)據(jù)不完整而不能被錄入的現(xiàn)象。刪除操作異常指不應(yīng)當(dāng)被刪除的數(shù)據(jù)因部分主屬性刪除而被刪除的現(xiàn)象。關(guān)系規(guī)范化操作異常與數(shù)據(jù)冗余通常是相伴而生的,因此可通過(guò)檢查數(shù)據(jù)冗余來(lái)發(fā)現(xiàn)是否存在操作異常的可能。關(guān)系規(guī)范化關(guān)系規(guī)范化:將一個(gè)低一級(jí)范式的關(guān)系模式,通過(guò)模式分解可以轉(zhuǎn)換為若干個(gè)高一級(jí)范式的關(guān)系模式集合,這種過(guò)程就叫關(guān)系模式的規(guī)范化。關(guān)系規(guī)范化二、范式范式來(lái)自英文Normalform,簡(jiǎn)稱NF,是符合某個(gè)級(jí)別的關(guān)系模式的集合。關(guān)系數(shù)據(jù)庫(kù)中的關(guān)系必須滿足最低的關(guān)系要求滿足不同程度要求的為不同范式。目前主要有六種范式:1NF、2NF、3NF、BCNF、4NF、5NF。滿足最低要求的稱第一范式,簡(jiǎn)稱為1NF。關(guān)系規(guī)范化1、第一范式(1NF)任給關(guān)系R,如果R中每個(gè)列與行的交點(diǎn)處的取值都是不可再分的基本元素,則R達(dá)到第一范式,簡(jiǎn)稱1NF,記為R∈1NF
。根據(jù)關(guān)系的基本性質(zhì)可見,符合關(guān)系基本性質(zhì)的關(guān)系均達(dá)到第一范式。關(guān)系規(guī)范化例如:將人事卡片關(guān)系分解為三個(gè)關(guān)系,從而達(dá)到第一范式。關(guān)系規(guī)范化關(guān)系規(guī)范化R2、第二范式(2NF)如果一個(gè)關(guān)系達(dá)到第一范式,且不存在任何非主屬性對(duì)候選關(guān)鍵字的部分函數(shù)依賴,則稱此關(guān)系達(dá)到第二范式,簡(jiǎn)稱2NF,記為R∈2NF
?;蛘弑硎緸槿绻粋€(gè)關(guān)系達(dá)到第一范式,且不存在非主屬性對(duì)構(gòu)成候選關(guān)鍵字的部分主屬性的完全函數(shù)依賴,則該關(guān)系達(dá)到第二范式。關(guān)系規(guī)范化關(guān)系從1NF優(yōu)化到2NF的方法是:將有關(guān)非主屬性與其完全函數(shù)依賴的那些部分主屬性分解建立新的關(guān)系。關(guān)系規(guī)范化圖3.3不到第二范式的關(guān)系示意在如圖3.3示意圖中,關(guān)系即使達(dá)到第一范式,也未達(dá)到第二范式。分解的方法是:將p3、p4、p6等函數(shù)依賴于k3的非主屬性抽出來(lái),加上k3組合成新的關(guān)系,k3是其關(guān)鍵字;剩余非主屬性、主屬性包括k3維持原有各關(guān)系不變。關(guān)系規(guī)范化3、第三范式(3NF)如果一個(gè)關(guān)系達(dá)到第二范式且不存在非主屬性對(duì)候選關(guān)鍵字的傳遞函數(shù)依賴,則稱為達(dá)到第三范式,簡(jiǎn)稱3NF。
3NF還可表述為:如果一個(gè)關(guān)系達(dá)到第二范式且不存在非主屬性對(duì)非主屬性的完全函數(shù)依賴,則稱之達(dá)到第三范式。關(guān)系規(guī)范化關(guān)系從2NF優(yōu)化到3NF的方法是:將對(duì)關(guān)鍵字存在傳遞函數(shù)依賴的那些屬性與其完全函數(shù)依賴的非主屬性分解出來(lái)建立新的關(guān)系,而它們所依賴的那個(gè)非主屬性作為關(guān)聯(lián)屬性要存在于原關(guān)系中。關(guān)系規(guī)范化關(guān)系規(guī)范化4.BCNF如果一個(gè)關(guān)系中每個(gè)決定因素都是關(guān)鍵字,則該關(guān)系達(dá)到BCNF。圖3.5不到BCNF的關(guān)系示意分解的方法是:將k4等函數(shù)依賴于k3的主屬性抽出來(lái),加上k3組合成新的關(guān)系,k3是其關(guān)鍵字;剩余主屬性包括k3維持原有各關(guān)系不變。表3.9不到BCNF的關(guān)系實(shí)例客戶名密碼王平1李賓2張玲3銀行名客戶名中1王平商1王平中1李賓商1張玲可分解為:四、關(guān)系分解的正確性關(guān)系分解的方案是多樣的,但要注意保證分解的正確性,即:要保證分解后所形成的關(guān)系與原關(guān)系等價(jià)。分解的等價(jià)性是指:
分解的無(wú)損連接性保持函數(shù)依賴性關(guān)系規(guī)范化無(wú)損連接性是指通過(guò)對(duì)分解后形成關(guān)系的某種連接運(yùn)算能使之還原到分解前的關(guān)系。保持函數(shù)依賴性是指分解過(guò)程中不能丟失或破壞原有關(guān)系的函數(shù)依賴關(guān)系。關(guān)系規(guī)范化小結(jié)函數(shù)依賴是指關(guān)系中一個(gè)屬性集和另一個(gè)屬性集間的對(duì)應(yīng)關(guān)系。函數(shù)依賴有部分函數(shù)依賴、完全函數(shù)依賴和傳遞函數(shù)依賴。第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)數(shù)據(jù)庫(kù)原理與技術(shù)
(第二版)程學(xué)先程傳慧曾玲陳永輝鄭秋華楊曉艷第四章關(guān)系數(shù)據(jù)庫(kù)實(shí)現(xiàn)及使用關(guān)系代數(shù)SQL語(yǔ)言本章要點(diǎn)退出第四章關(guān)系數(shù)據(jù)庫(kù)實(shí)現(xiàn)及應(yīng)用4.1關(guān)系代數(shù)4.2關(guān)系演算4.3SQL語(yǔ)言概貌4.4SQL數(shù)據(jù)定義功能4.5SQL數(shù)據(jù)查詢語(yǔ)句4.6SQL查詢語(yǔ)句的加強(qiáng)4.7視圖4.8SQL數(shù)據(jù)更新語(yǔ)句4.9SQL數(shù)據(jù)控制功能4.10嵌入式SQL4.11查詢優(yōu)化關(guān)系代數(shù)是一種抽象的查詢語(yǔ)言,是關(guān)系數(shù)據(jù)操縱語(yǔ)言的一種傳統(tǒng)表達(dá)方式,它是用對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢。按照表達(dá)查詢的方式可分為兩大類。第一類是用對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢的方式,稱為關(guān)系代數(shù)。第二類是用謂詞來(lái)表達(dá)查詢要求的方式稱為關(guān)系演算。關(guān)系代數(shù)一、傳統(tǒng)的集合運(yùn)算包括四種運(yùn)算:并(∪)、交(∩)、差(-)、廣義笛卡爾積(×)。1.并(Union)設(shè)關(guān)系R和關(guān)系S具有相同的目n,且相應(yīng)的屬性取自同一個(gè)域。則關(guān)系R和關(guān)系S的并記為R∪S,其結(jié)果仍為n目關(guān)系,由屬于R或?qū)儆赟的元組組成。關(guān)系代數(shù)如R和S的元組分別用兩個(gè)圓表示,則R∪S的集合如圖4.1所示虛影部分元組。關(guān)系代數(shù)圖4.1集合R∪S集合RS關(guān)系代數(shù)關(guān)系代數(shù)2、交(Intersection)設(shè)關(guān)系R和關(guān)系S具有相同的目n,且相應(yīng)的屬性取自同一個(gè)域。關(guān)系R和關(guān)系S的交記為R∩S,結(jié)果仍為n目關(guān)系,由既屬于R又屬于S的元組組成。如R和S的元組分別用兩個(gè)圓表示,則R∩S集合運(yùn)算結(jié)果可用圖4.2示意,則兩圓相交部分元組表示R與S的交。關(guān)系代數(shù)關(guān)系代數(shù)RS圖4.2集合R∩S關(guān)系代數(shù)關(guān)系代數(shù)3、差(Difference)
設(shè)關(guān)系R和關(guān)系S具有相同的目n,且相應(yīng)的屬性取自同一個(gè)域。定義關(guān)系R和關(guān)系S的差記為R-S,其結(jié)果仍為n目關(guān)系,由屬于R而不屬于S的元組組成。關(guān)系代數(shù)關(guān)系代數(shù)
如R和S的元組分別用兩個(gè)圓表示,則R-S的集合如圖4.3所示。比較圖4.1.2和圖4.1.3,顯然R=(R∩S)∪(R-S)或R-S=R-(R∩S)。RS圖4.3集合R-S關(guān)系代數(shù)4.笛卡爾積(ExtendedCartesianProduct)兩個(gè)分別為n,m的關(guān)系R和S的廣義笛卡爾積R×S是一個(gè)(n×m)元組的集合。元組的前n個(gè)分量是R的一個(gè)元組,后m個(gè)分量是S的一個(gè)元組.若R有K1個(gè)元組,S有K2個(gè)元組,則R×S有K1×K2個(gè)元組。記為R×S關(guān)系代數(shù)二、專門的關(guān)系運(yùn)算包括四種運(yùn)算即選擇(σ)、投影(∏)、連接()和除法(÷),是關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)維護(hù)、查詢、統(tǒng)計(jì)等操作的基礎(chǔ)。1.選擇(Selection)設(shè)有關(guān)系R,在關(guān)系R中求取滿足給定條件F的元組組成新的關(guān)系的運(yùn)算稱為選擇。記作:σF(R)關(guān)系代數(shù)
在σF(R)中,f是一個(gè)條件表達(dá)式,其值為“真”或“假”。σ
F
(R)是從關(guān)系R中選取使條件表達(dá)式F為真的元組。這是以行為處
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 職場(chǎng)中自我管理的藝術(shù)計(jì)劃
- 膝痹中醫(yī)護(hù)理措施
- 班級(jí)資源共享平臺(tái)的搭建計(jì)劃
- 《貴州新宜礦業(yè)(集團(tuán))有限公司普安縣樓下鎮(zhèn)郭家地煤礦(變更)礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》評(píng)審意見
- 管路護(hù)理新進(jìn)展
- 紅斑狼瘡護(hù)理診斷及護(hù)理措施
- 統(tǒng)編版小學(xué)語(yǔ)文二年級(jí)下冊(cè)第22課《小毛蟲》精美課件
- 2025年鹽城如何考貨運(yùn)從業(yè)資格證
- 2025年張掖貨運(yùn)資格證考試有哪些項(xiàng)目
- 2025年嘉峪關(guān)貨運(yùn)上崗證考試題庫(kù)1387題
- 2011年比亞迪l3使用手冊(cè)
- 最新固體制空調(diào)凈化系統(tǒng)設(shè)計(jì)確認(rèn)方案
- 《汽車?yán)碚摗窂?fù)習(xí)提綱
- 利用勾股定理作圖計(jì)算(課堂PPT)
- 金合極思軟件快捷鍵
- 對(duì)大型火力發(fā)電廠生產(chǎn)準(zhǔn)備工作的幾點(diǎn)認(rèn)識(shí)
- 園林綠化監(jiān)理月報(bào)001
- 淺議如何當(dāng)好稅務(wù)分局長(zhǎng)
- 交通建設(shè)工程工程量清單計(jì)價(jià)規(guī)范(第1部分公路工程)-解析
- 山西曲沃(或經(jīng)洪洞縣大槐樹)遷徙蘇北魯南曹氏宗系分支
- 干部管理訪談提綱
評(píng)論
0/150
提交評(píng)論