第四章數(shù)據(jù)庫技術(shù)_第1頁
第四章數(shù)據(jù)庫技術(shù)_第2頁
第四章數(shù)據(jù)庫技術(shù)_第3頁
第四章數(shù)據(jù)庫技術(shù)_第4頁
第四章數(shù)據(jù)庫技術(shù)_第5頁
已閱讀5頁,還剩194頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第四章數(shù)據(jù)庫技術(shù)

4-1數(shù)據(jù)庫基本概念

4-2關(guān)系代數(shù)

4-3數(shù)據(jù)庫設(shè)計

4-4關(guān)系數(shù)據(jù)庫語言(SQL)

4-5數(shù)據(jù)庫的保護本章主要介紹:數(shù)據(jù)庫系統(tǒng)的基本概念,關(guān)系代數(shù),關(guān)系數(shù)據(jù)庫的基本概念及設(shè)計方法。學會將一個具體問題抽象出實體、屬性,找到關(guān)鍵字及它們之間的聯(lián)系,能畫出E-R圖、初步E-R圖和基本E-R圖,并能將一個E-R圖轉(zhuǎn)化為具體的關(guān)系模式,能用關(guān)系代數(shù)和SQL語言對關(guān)系進行操作,找到所需信息。重點:

理解數(shù)據(jù)庫系統(tǒng)的基本概念,掌握關(guān)系代數(shù)的基本運算和SQL語言,掌握關(guān)系數(shù)據(jù)庫的基本概念及設(shè)計方法。難點:關(guān)系數(shù)據(jù)庫的基本概念及設(shè)計方法,使用SQL語言正確完成復(fù)雜查詢。4.1數(shù)據(jù)庫基本概念4.1.1數(shù)據(jù)庫系統(tǒng)概述一、數(shù)據(jù)與數(shù)據(jù)處理1、信息現(xiàn)實世界中各種事物的存在方式、運動形態(tài)以及它們之間的相互聯(lián)系等諸要素在人腦中的反映,通過人腦的抽象后形成概念。2、數(shù)據(jù)信息的一種符號化表示方法。數(shù)據(jù)的概念包括兩個方面含義:數(shù)據(jù)的內(nèi)容是信息(語義),數(shù)據(jù)的表現(xiàn)形式是符號。

數(shù)據(jù)在大多數(shù)人頭腦里的第一反應(yīng)就是數(shù)字,其實數(shù)字只是最簡單的一種數(shù)據(jù),是數(shù)據(jù)的一種傳統(tǒng)和狹義的理解。廣義地,數(shù)據(jù)可以是文字、圖形、圖象、聲音、學生檔案記錄、貨物的運輸情況等。數(shù)據(jù)有多種表現(xiàn)形式,它們都可以經(jīng)數(shù)字化后存入計算機。3.信息與數(shù)據(jù)的關(guān)系數(shù)據(jù)是承載信息的物理符號(載體),信息是數(shù)據(jù)的內(nèi)涵二者的區(qū)別:

數(shù)據(jù)可以表示信息,但不是任何數(shù)據(jù)都能表示信息,同一數(shù)據(jù)可以有不同的解釋。信息是抽象的,同一信息可以有不同的數(shù)據(jù)表示方式。4、數(shù)據(jù)處理將數(shù)據(jù)轉(zhuǎn)換成信息的過程。例:在學生檔案中一個學生的數(shù)據(jù)可以這樣描述 (李明,男,21,1972,江蘇,物理系,2000)經(jīng)過轉(zhuǎn)換我們可得到如下信息:李明是一個大學生,1972年出生,男,江蘇人,2000年考入物理系。如不將上述數(shù)據(jù)轉(zhuǎn)換成信息,你也許就不能理解其數(shù)據(jù)的含義。

信息=數(shù)據(jù)+處理為提高數(shù)據(jù)處理后得到信息的價值,必須用科學的方法來管理數(shù)據(jù),這種科學方法就是數(shù)據(jù)庫技術(shù)。二、數(shù)據(jù)庫管理技術(shù)

人工管理

→文件系統(tǒng)

→數(shù)據(jù)庫管理系統(tǒng)人工管理:1.背景

20世紀50年代中期以前2.特點

數(shù)據(jù)面向應(yīng)用程序,應(yīng)用程序與其處理數(shù)據(jù)包含在程序中,用戶必須考慮存儲、使用數(shù)據(jù)的一切工作,3.程序與數(shù)據(jù)的關(guān)系存在問題:(1)數(shù)據(jù)不保存(2)應(yīng)用程序管理數(shù)據(jù)(3)數(shù)據(jù)不能共享(4)數(shù)據(jù)不具有獨立性文件系統(tǒng)階段1.背景

20世紀50年代后期至60年代中期2.特點依靠操作系統(tǒng)的文系統(tǒng)將一大堆雜亂的數(shù)據(jù)按一定的規(guī)律組成文件,有獨立的文件名。程序通過文件系統(tǒng)這個接口與數(shù)據(jù)文件發(fā)生聯(lián)系。一個應(yīng)用程序可用多個數(shù)據(jù)文件,而不同的應(yīng)用程序也可使用同一個數(shù)據(jù)文件(1)數(shù)據(jù)可以長期保存(2)文件系統(tǒng)管理數(shù)據(jù)3.程序與數(shù)據(jù)的關(guān)系存在問題:①數(shù)據(jù)冗余度大數(shù)據(jù)冗余度是指不必要的重復(fù)存儲。文件系統(tǒng)中數(shù)據(jù)文件基本上對應(yīng)于一個應(yīng)用程序,即文件是面向應(yīng)用的,數(shù)據(jù)文件之間彼此孤立,不能反映數(shù)據(jù)之間的聯(lián)系,當不同的應(yīng)用程序具有相同的數(shù)據(jù)時,也必須建立各自的文件,同一數(shù)據(jù)可能重復(fù)出現(xiàn)在多個數(shù)據(jù)文件中,數(shù)據(jù)不能共享。例:學生成績數(shù)據(jù)文件、學生團員數(shù)據(jù)文件、學生數(shù)據(jù)文件,這三個文件中可能有很多重復(fù)數(shù)據(jù)。②缺乏數(shù)據(jù)獨立性文件系統(tǒng)中數(shù)據(jù)文件是為滿足特定的需要而設(shè)置的,服務(wù)于某一特定的應(yīng)用程序,數(shù)據(jù)和程序間相互依賴,修改數(shù)據(jù)必須修改程序,修改程序也必須要修改數(shù)據(jù)。③數(shù)據(jù)無集中管理除對數(shù)據(jù)項的存取由系統(tǒng)承擔以外,對數(shù)據(jù)文件的其它管理(例如修改、增刪)必須由應(yīng)用程序承擔。數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫是結(jié)構(gòu)化的相關(guān)數(shù)據(jù)集合,它不僅包含數(shù)據(jù)本身,而且還包含關(guān)于數(shù)據(jù)間的一切聯(lián)系,數(shù)據(jù)庫中數(shù)據(jù)不只面向某一項特殊的應(yīng)用,而是面向多種應(yīng)用,可以被多個用戶、多個應(yīng)用程序所共享(例如某個學校所涉及的全部數(shù)據(jù)的匯集)。其數(shù)據(jù)獨立于使用數(shù)據(jù)的程序,有專門的軟件對數(shù)據(jù)實行專門管理,對數(shù)據(jù)的修改、增刪、檢索等操作均由這個軟件統(tǒng)一控制。1.背景20世紀60年代后期2.數(shù)據(jù)庫系統(tǒng)階段程序與數(shù)據(jù)的關(guān)系3.特點:(1)數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別。(2)實現(xiàn)數(shù)據(jù)共享,減少冗余因數(shù)據(jù)是面向整個系統(tǒng),而不是某個特定的應(yīng)用程序,故數(shù)據(jù)可被多個用戶所共享,共享可減少冗余度。(3)具有較高的數(shù)據(jù)獨立性

物理數(shù)據(jù)獨立性:用戶應(yīng)用程序與存儲在磁盤上數(shù)據(jù)庫中數(shù)據(jù)相互獨立。數(shù)據(jù)在磁盤上的存儲由DBMS管理,用戶不需要了解,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu),當數(shù)據(jù)物理(存儲)結(jié)構(gòu)改變時,應(yīng)用程序不必改變。邏輯數(shù)據(jù)獨立性:用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的。(4)數(shù)據(jù)由DBMS統(tǒng)一管理和控制保證了數(shù)據(jù)安全性(無關(guān)人員不能隨意讀取)、完整性(未授權(quán)人員不能修改)、并發(fā)性(多個用戶同時使用數(shù)據(jù)庫中數(shù)據(jù)時,由DBMS統(tǒng)一分配管理,不會出現(xiàn)程序之間互相干擾)。三、數(shù)據(jù)庫系統(tǒng)的構(gòu)成①

數(shù)據(jù)庫存貯在計算機內(nèi)有結(jié)構(gòu)的數(shù)據(jù)集合(存放數(shù)據(jù)倉庫,它里面的數(shù)據(jù)按一定的格式存放)。②數(shù)據(jù)庫管理系統(tǒng)(DBMS)以統(tǒng)一的方式管理和維護數(shù)據(jù)庫,并提供訪問數(shù)據(jù)庫接口的軟件(介于用戶應(yīng)用程序與數(shù)據(jù)庫之間的一個接口)其主要功能:定義數(shù)據(jù)庫結(jié)構(gòu)、管理數(shù)據(jù)庫、建立和維護數(shù)據(jù)庫、與操作系統(tǒng)的通信。③數(shù)據(jù)庫系統(tǒng)指引進數(shù)據(jù)庫技術(shù)后的計算機系統(tǒng)。一般由支持數(shù)據(jù)庫運行的軟硬件、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫管理員和用戶等部分組成的。數(shù)據(jù)庫的建立、使用和維護工作只靠一個DBMS遠遠不夠,還要有專門的人員來完成,這些人稱為數(shù)據(jù)庫管理員(DBA)

數(shù)據(jù)庫系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序為中心轉(zhuǎn)向圍繞共享的數(shù)據(jù)庫為中心的新階段。這樣既便于數(shù)據(jù)集中管理,又有利于應(yīng)用程序的研制和維護,提高了數(shù)據(jù)的利用率和相容性,提高了決策的可靠性。4.1.2數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)從數(shù)據(jù)庫管理系統(tǒng)的角度:數(shù)據(jù)庫系統(tǒng)通常采用三級模式結(jié)構(gòu),數(shù)據(jù)庫管理系統(tǒng)內(nèi)部的系統(tǒng)結(jié)構(gòu)。從數(shù)據(jù)庫最終用戶的角度:數(shù)據(jù)庫結(jié)構(gòu)分為集中式、分布式、客戶/服務(wù)器和并行結(jié)構(gòu),這是數(shù)據(jù)庫管理系統(tǒng)外部的系統(tǒng)結(jié)構(gòu)。一、數(shù)據(jù)庫系統(tǒng)模式概念模式是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,采用三級模式結(jié)構(gòu)并提供兩級映像功能,保證數(shù)據(jù)庫中數(shù)據(jù)具有較高的邏輯獨立性和物理獨立性。

1、數(shù)據(jù)庫系統(tǒng)三級模式結(jié)構(gòu)①.模式(邏輯模式或概念模式)是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。它是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層,既不涉及數(shù)據(jù)的物理存儲細節(jié)和硬件環(huán)境,也與具體的應(yīng)用程序,與所使用的應(yīng)用開發(fā)工具及高級程序設(shè)計語言無關(guān)。一個數(shù)據(jù)庫只有一個模式。數(shù)據(jù)庫模式以某一種數(shù)據(jù)模型為基礎(chǔ),統(tǒng)一綜合考慮了所有用戶的需求,并將這些需求有機地結(jié)合成一個邏輯整體。定義模式時不僅要定義數(shù)據(jù)的邏輯結(jié)構(gòu)(例數(shù)據(jù)記錄由那些數(shù)據(jù)項構(gòu)成,數(shù)據(jù)項的名字、類型、取值范圍等,還要定義數(shù)據(jù)之間的聯(lián)系,定于與數(shù)據(jù)有關(guān)的安全性、完整性要求。

DBMS提供模式描述語言(模式DDL)定義模式②.外模式(子模式或用戶模式)是數(shù)據(jù)庫用戶能夠看見和使用的局部數(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)用系統(tǒng)所使用,但一個應(yīng)用程序只能使用一個外模式。外模式是保證數(shù)據(jù)庫安全性的一個有力措施。每個用戶只能看見和訪問所對應(yīng)的外模式中的數(shù)據(jù),數(shù)據(jù)庫中的其余數(shù)據(jù)是不可見的。

DBMS提供子模式描述語言(子模式DDL)定義子模式③.內(nèi)模式(存儲模式)是數(shù)據(jù)庫物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。(例記錄的存儲方式是順序存儲還是hash方式存儲;索引按照什么方式組織;數(shù)據(jù)是否壓縮存儲,是否加密;數(shù)據(jù)的存儲記錄結(jié)構(gòu)有何規(guī)定等)。一個數(shù)據(jù)庫只有一個內(nèi)模式。DBMS提供內(nèi)模式描述語言(內(nèi)模式DDL)定義內(nèi)模式二、數(shù)據(jù)庫的二級映象功能與數(shù)據(jù)獨立性

數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的三個抽象級別,它把數(shù)據(jù)的具體組織留給DBMS管理,使用戶能邏輯地抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機中的具體表示方法與存儲方式。為了能夠在內(nèi)部實現(xiàn)這三個抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫管理系統(tǒng)在這三級模式之間提供了兩層映象。(1)“外模式/模式”之間的映象模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu),外模式描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu)。對應(yīng)同一個模式可以有任意多個外模式。對于每一個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式/模式映象,它定義了該外模式與模式之間的對應(yīng)關(guān)系。當模式改變時由DBA對各個外模式/模式的映象作相應(yīng)修改,可使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。(2)“模式/內(nèi)模式”之間的映象數(shù)據(jù)庫只有一個模式,也只有一個內(nèi)模式,模式/內(nèi)模式映象是唯一的,它定義了數(shù)據(jù)庫全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。當數(shù)據(jù)庫的存儲結(jié)構(gòu)改變時,由DBA對各個模式/內(nèi)模式的映象作相應(yīng)修改,可使模式保持不變,從而應(yīng)用程序也不用修改,保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。

在數(shù)據(jù)庫的三級模式結(jié)構(gòu)中,數(shù)據(jù)庫模式(全局邏輯結(jié)構(gòu))是數(shù)據(jù)庫的中心和關(guān)鍵,它獨立于數(shù)據(jù)庫的其他層次。因此設(shè)計數(shù)據(jù)庫模式結(jié)構(gòu)時應(yīng)首先確定數(shù)據(jù)庫的邏輯模式。

數(shù)據(jù)庫外模式面向具體應(yīng)用程序,它定義在邏輯結(jié)構(gòu)之上,但獨立于存儲模式和存儲設(shè)備。當應(yīng)用需求發(fā)生較大變化,相應(yīng)外模式不能滿足需要,該外模式就應(yīng)做相應(yīng)修改,所以設(shè)計外模式時應(yīng)充分考慮到應(yīng)用的擴充性。

特定的應(yīng)用程序是在外模式描述的數(shù)據(jù)結(jié)構(gòu)上編制的,它依賴于特定的外模式,與數(shù)據(jù)的模式和存儲結(jié)構(gòu)獨立。不同的應(yīng)用程序可以共用同一個外模式。

數(shù)據(jù)庫二級映象保證了數(shù)據(jù)庫外模式的穩(wěn)定性,從而從底層保證了應(yīng)用程序的穩(wěn)定性,除非應(yīng)用需求本身發(fā)生變化,否則應(yīng)用程序一般不需要修改。

數(shù)據(jù)與程序之間的獨立性,使數(shù)據(jù)的定義和描述可以從應(yīng)用程序中分離出去。另外,由于數(shù)據(jù)存取有DBMS管理,用戶不必考慮存取路徑等細節(jié),從而簡化了應(yīng)用程序的編制,大大減少了應(yīng)用程序的維護和修改。4.1.3數(shù)據(jù)描述與數(shù)據(jù)模型模型是現(xiàn)實世界特殊的模擬和抽象。數(shù)據(jù)模型也是一種模型,它是現(xiàn)實世界數(shù)據(jù)特征的抽象。在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息。通俗地講,數(shù)據(jù)模型就是對現(xiàn)實世界的模擬?,F(xiàn)有數(shù)據(jù)庫系統(tǒng)均是基于某種數(shù)據(jù)模型的,因而了解數(shù)據(jù)模型的基本概念是學習數(shù)據(jù)庫的基礎(chǔ)數(shù)據(jù)模型應(yīng)滿足三個方面的要求:①能比較真實地模擬現(xiàn)實世界;②容易為人們所理解;便于在計算機上實現(xiàn)不同的數(shù)據(jù)模型實際上是提供給我們模型化數(shù)據(jù)和信息的不同工具。根據(jù)模型應(yīng)用的不同目的,可將它們劃分為兩類,它們分屬兩個不同層次。①概念模型(信息模型):按用戶觀點來對數(shù)據(jù)和信息建模,主要用于數(shù)據(jù)庫的設(shè)計。②數(shù)據(jù)模型:按計算機系統(tǒng)觀點來對數(shù)據(jù)建模,主要用于DBMS

的實現(xiàn),分為網(wǎng)絡(luò)模型、層次模型和關(guān)系模型等。一、觀念世界中名詞術(shù)語(1)實體:客觀存在并可相互區(qū)別的事物。它是客觀存在的事物在人頭腦中的反映。實體既可以是實際的事物,也可以是抽象的概念或聯(lián)系。例:具體的人(如一個教師、一個學生等)、物(一本書、一門課);抽象的事物(一次借書);事物與事物之間的聯(lián)系(某個教師在某系工作,某個學生選某門課)等。(2)屬性:實體所具有的特性,一個實體可以由若干個屬性描述例:學生實體可由(學號,姓名,性別,出生年份,系,入學時間)而(94002,張三,男,1976,物理,1994)張三這個學生。

即實體是若干屬性的屬性值的集合。(3)碼(鍵、關(guān)鍵字):惟一標識實體屬性或?qū)傩越M合。例:學號是學生實體的關(guān)鍵字(碼)(4)域:屬性的取值范圍稱為該屬性的域。例:學號的域為5位整數(shù),姓名域為字符串集合,年齡域為小于40歲,性別域為(男、女)(5)實體型:表征某一類實體的屬性(名)的集合。實體是若干屬性的集合,具有相同屬性的實體必然具有共同的特征和性質(zhì),用表征某一類實體的屬性的集合來抽象刻畫同一類實體,稱為實體型。例:學生實體型:(學號,姓名,性別,出生年份,系,入學時間)→描述該類實體的特征(學生實體特征)學生實體:(94002,張三,男,1976,物理,1994)

→描述某個具體的實體(某個學生信息)分清屬性名(姓名)與屬性值(張三);

屬性名集合→實體型,屬性值集合→實體。(6)實體集:同類(具有相同屬性)實體(值)的集合。例:同一個班的學生具有共同的屬性,每個學生為一個實體,全班學生的集合稱為實體集。實體值集合→實體集

(7)聯(lián)系:聯(lián)系分為兩種:一種是實體內(nèi)部各屬性之間的聯(lián)系,另一種是實體之間的聯(lián)系。實體間的各種聯(lián)系可以歸結(jié)為三類:①一對一聯(lián)系(1:1):如果對于實體集E1中的每個實體,實體集E2中至多有一個(可以沒有)與之相對應(yīng),反之亦然,則稱實體集E1與實體集E2具有一對一聯(lián)系。②一對多聯(lián)系(1:n):如果對于實體集E1中的每個實體,實體集E2中有n個實體(n≥0)與之相對應(yīng),反過來,實體集E2中的每個實體,實體集E1中至多只有一個實體與之聯(lián)系,則稱實體集E1與實體集E2具有一對多聯(lián)系。③多對多聯(lián)系(m:n):如果對于實體集E1中的每個實體,實體集E2中有n個實體(n≥0)與之相對應(yīng),反過來,實體集E2中的每個實體,實體集E1中也有m個實體(m≥0)與之聯(lián)系,則稱實體集E1與實體集E2具有多對多聯(lián)系。

可看出1:1是1:n的特例,1:n又是m:n的特例??梢苑謩e用圖形表示兩個實體之間的聯(lián)系。

當涉及到三個及以上的實體集同時聯(lián)系時,應(yīng)認真分析,使之能真實地反映現(xiàn)實世界。例:如有三個實體集:教師、學生和課程,它們之間有如下關(guān)系:一門課可由若干學生選修,每個學生可選修多門課程,每門課程由不同的教師講授。

同一實體集內(nèi)部各實體之間也可以存在一對一、一對多和多對多的聯(lián)系。例:職工實體集內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系,即一個職工(干部)領(lǐng)導(dǎo)若干名職工,而一個職工僅被另一個職工直接領(lǐng)導(dǎo),故為一對多聯(lián)系。

用上面概念可將現(xiàn)實世界中的事物及其聯(lián)系在觀念世界中描述出來。事物——實體事物特征——實體屬性 不同事物之間聯(lián)系——實體集之間聯(lián)系事物內(nèi)部聯(lián)系——實體集中實體之間聯(lián)系二、概念模型的表示方法

前面已介紹,我們用概念模型表示觀念世界中的數(shù)據(jù)和信息,所以概念模型應(yīng)該能夠方便、準確地表示出上述觀念世界中的常用概念。概念模型有很多種,其中最為流行的一種是由美籍華人陳平山于1976年提出的實體聯(lián)系模型(Entity-RelationshipModel,簡稱E-R模型),這種圖稱為實體-聯(lián)系圖,簡稱E-R圖,E-R圖提供了表示實體集、屬性和聯(lián)系的方法

E―R圖有三個要素:①用矩形框表示實體,框內(nèi)標明實體名。②用橢圓框表示實體的屬性,框內(nèi)標明屬性名,用連線與實體連接起來。③用菱形表示實體間的聯(lián)系,框內(nèi)標明聯(lián)系名,用連線將菱形框分別與相關(guān)實體相連,并在連線上標明聯(lián)系類型(1:1,1:n或m:n)。如這些聯(lián)系具有屬性,則這些屬性也用連線與聯(lián)系相連。例1:mn例2:用E-R圖來表示某個工廠物資管理的概念模型,物資管理涉及的實體集有:倉庫:倉庫號、面積、電話號零件:零件號、名稱、規(guī)格、單價、描述供應(yīng)商:供應(yīng)商號、姓名、地址、電話號、帳號項目:項目號、預(yù)算、開工日期職工:職工號、姓名、年齡、職稱這些實體集之間的聯(lián)系如下:①一個倉庫可存放多種零件,一個零件可存放在多個倉庫,用庫存量表示某個零件在某個倉庫中的數(shù)量②一個倉庫有多個職工當倉庫保管員,一個職工只能在一個倉庫工作職工之間有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的關(guān)系④一個供應(yīng)商可以供給若干項目多個零件,每個項目可使用不同供應(yīng)商供應(yīng)的零件,每種零件可由不同供應(yīng)商供給。倉庫:倉庫號、面積、電話號零件:零件號、名稱、規(guī)格、單價、描述供應(yīng)商:供應(yīng)商號、姓名、地址、電話號、帳號項目:項目號、預(yù)算、開工日期職工:職工號、姓名、年齡、職稱實體-聯(lián)系圖(E-R圖)一個倉庫可存放多種零件,一個零件可存放在多個倉庫,用庫存量表示某個零件在某個倉庫中的數(shù)量;一個倉庫有多個職工當倉庫保管員,一個職工只能在一個倉庫工作職工之間有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的關(guān)系;一個供應(yīng)商可以供給若干項目多個零件,每個項目可使用不同供應(yīng)商供應(yīng)的零件,每種零件可由不同供應(yīng)商供給。例3、一個簡單的工廠管理系統(tǒng),通過實地調(diào)查分析,該工廠管理的實體集類型有:雇員、部門、項目、零件、供應(yīng)商和倉庫。雇員:雇員號、姓名、年齡、職稱部門:部門號、名稱、電話號項目:項目號、預(yù)算、開工日期零件:零件號、名稱、規(guī)格、單價、描述供應(yīng)商:供應(yīng)商號、姓名、地址、電話號、帳號倉庫:倉庫號、面積、電話號這些實體集之間的聯(lián)系如下:①一個雇員只能在一個部門工作,一個部門可以有多個雇員②一個雇員可參加一個以上項目,每個項目需多個人參加③每個項目必須確定一個負責人,一個人可負責多個項目一個供應(yīng)商可以為多個項目提供零件,每個項目可從不同供應(yīng)商那里采購零件,每個項目需多個零件⑤系統(tǒng)還保存多個供應(yīng)商可以提供零件的種類和數(shù)量⑥一種零件可以由其它幾種零件組裝而成⑦購買的零件存放在倉庫中,一個倉庫可存放多種零件,一個零件也可以存放在不同的倉庫中雇員:雇員號、姓名、年齡、職稱部門:部門號、名稱、電話號項目:項目號、預(yù)算、開工日期零件:零件號、名稱、規(guī)格、單價、描述供應(yīng)商:供應(yīng)商號、姓名、地址、電話號、帳號倉庫:倉庫號、面積、電話號實體-聯(lián)系圖(E-R圖)或參加零件

零件號

規(guī)格

名稱

單價

雇員號

部門號

名稱

電話號

項目號

預(yù)

開工日期

倉庫號

面積

電話號

務(wù)

供應(yīng)商

供應(yīng)商號

地址

電話號

姓名

帳號

供應(yīng)

可供應(yīng)

零件類型

零件數(shù)

存放

庫存量

供應(yīng)量

裝配

數(shù)量

1

n

mnm

n

p

m

n

m

n

m

n

三、數(shù)據(jù)模型

數(shù)據(jù)模型是將觀念世界中實體及實體之間的聯(lián)系進一步抽象成便于計算機處理的數(shù)據(jù)模型,一般分為三類(層次模型、網(wǎng)狀模型、關(guān)系模型),現(xiàn)在又提出一種“面向?qū)ο竽P汀?。任何一個DBMS都是基于某種數(shù)據(jù)模型的。一個數(shù)據(jù)模型由數(shù)據(jù)結(jié)構(gòu)(邏輯結(jié)構(gòu)、物理結(jié)構(gòu))、數(shù)據(jù)操作和完整性約束條件三個方面描述。

在非關(guān)系模型中:實體——記錄實體屬性——記錄數(shù)據(jù)項(字段)

實體型——記錄型實體集——文件實體間聯(lián)系在非關(guān)系模型中轉(zhuǎn)換為記錄之間的聯(lián)系。注意:這里講的數(shù)據(jù)模型都是邏輯上的,即用戶眼中看到的數(shù)據(jù)范圍。同時它們又都是能用某種語言描述,使計算機系統(tǒng)能夠理解,被數(shù)據(jù)庫管理系統(tǒng)支持的數(shù)據(jù)視圖。這些數(shù)據(jù)模型將以一定的方式存儲于數(shù)據(jù)庫系統(tǒng)中,是DBMS中的存儲模型。1、層次模型

用樹型結(jié)構(gòu)來表示記錄及記錄之間的聯(lián)系,層次模型按樹型結(jié)構(gòu)組織數(shù)據(jù),它是以記錄型為結(jié)點,以結(jié)點間聯(lián)系為邊的有序樹,數(shù)據(jù)結(jié)構(gòu)為有序樹或森林。

層次模型容易表示1:n聯(lián)系,但是它不能直接表示m:n的聯(lián)系,必須分成幾個1:n來實現(xiàn),比較麻煩。2、網(wǎng)狀模型以記錄型為結(jié)點的網(wǎng)狀結(jié)構(gòu)(圖),以記錄型為結(jié)點,連線表示它們之間的關(guān)系,網(wǎng)中結(jié)點之間的聯(lián)系不受層次限制,可以任意發(fā)生聯(lián)系。容易實現(xiàn)m:n

學院

網(wǎng)狀模型和層次模型都屬性格式化模型,即在建立數(shù)據(jù)模型時,應(yīng)根據(jù)應(yīng)用需要,事先把數(shù)據(jù)之間的邏輯關(guān)系固定下來(必須先畫出它們之間的聯(lián)系圖),結(jié)構(gòu)復(fù)雜,不利于擴充、維護。

20世紀70年代網(wǎng)狀模型和層次模型數(shù)據(jù)庫在商業(yè)上得到廣泛應(yīng)用,但現(xiàn)在已退出歷史舞臺,取而代之的是關(guān)系模型,即關(guān)系型數(shù)據(jù)庫。3、關(guān)系模型⑴、關(guān)系模型邏輯結(jié)構(gòu)關(guān)系數(shù)據(jù)模型是由IBM公司的E.F.Codd于1970年首次提出,以關(guān)系數(shù)據(jù)模型為基礎(chǔ)的數(shù)據(jù)庫管理系統(tǒng),稱為關(guān)系數(shù)據(jù)庫系統(tǒng)(RDBMS),目前廣泛使用。它是建立在嚴格的數(shù)學概念的基礎(chǔ)上。在用戶觀念下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。例:

關(guān)系模型中,數(shù)據(jù)為一個二維表,每個二維表稱為一個“關(guān)系(表)”。幾個術(shù)語:關(guān)系(表)、元組(記錄)、屬性(字段)、關(guān)系模式、值域(域)、主鍵(關(guān)鍵字)、外鍵①關(guān)系(表)關(guān)系模型中一個具體的二維表稱為關(guān)系。②關(guān)系模式

二維表表頭稱為關(guān)系模式,是對關(guān)系的描述。關(guān)系模式表示為:關(guān)系模式名(屬性名1,屬性名2,...,屬性名n)例:學生(學號,姓名,性別,出生日期,所在系)關(guān)系是關(guān)系模式在某一時刻的狀態(tài)或內(nèi)容。關(guān)系模式是靜態(tài)的、穩(wěn)定的,而關(guān)系是動態(tài)的、隨時間不斷變化的,因為關(guān)系數(shù)據(jù)庫中內(nèi)容不斷變化。主鍵

關(guān)系

關(guān)系模式

元組

屬性

屬性名

列名

jbqk

關(guān)系名

表名

③元組(記錄)關(guān)系中的每一行稱為關(guān)系的一個元組。④屬性(字段)表中每一列稱為一個屬性,對屬性的命名稱為屬性名,取值稱為屬性值⑤值域(域)每個屬性的取值范圍稱為該屬性的值域。如人年齡值域一般在{0~150}歲之間,性別的值域為{男、女},所在系的值域為一個學校所有系名的集合。⑥主鍵(關(guān)鍵字)能夠惟一標識一個元組的屬性集。⑦外鍵設(shè)F是關(guān)系R的一個或一組屬性,但不是關(guān)系R的主鍵,如果F與另一關(guān)系S的主鍵K相對應(yīng),則稱F是關(guān)系R的外鍵。例1:學生(學號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名)

學生關(guān)系“專業(yè)號”屬性與專業(yè)關(guān)系的主鍵“專業(yè)號”相對應(yīng),因此“專業(yè)號”屬性是學生關(guān)系外鍵。對于表示關(guān)系的二維表,最基本的要求:表中每一個元組的每一個分量,必須是不可分的數(shù)據(jù)項,即不允許表中再有表。12212212122

在關(guān)系模型中,實體及實體間的聯(lián)系都用關(guān)系來表示例:學生與課程間多對多的聯(lián)系在關(guān)系模型中可表示為三個關(guān)系學生(學號,姓名,性別,年齡,籍貫)課程(課程號,課程名,上課地點)選修(學號,課程號,成績)通過選修中外鍵字段:學號、課程號,將學生與課程聯(lián)系起來實體聯(lián)系

在一個給定的應(yīng)用領(lǐng)域中,所有實體及實體間聯(lián)系的關(guān)系的集合構(gòu)成一個關(guān)系數(shù)據(jù)庫。⑵、關(guān)系模型物理結(jié)構(gòu)

關(guān)系模型中,實體及實體間的聯(lián)系都用關(guān)系(二維表)來表示。在數(shù)據(jù)庫的物理組織中,關(guān)系表以文件形式存儲。一個表或幾個表對應(yīng)一個操作系統(tǒng)文件。⑶、關(guān)系模型中數(shù)據(jù)進行操作關(guān)系模型中數(shù)據(jù)進行主要操作:查詢、插入、刪除、修改數(shù)據(jù)、投影、連接。⑷、關(guān)系模型的完整性約束條件在關(guān)系數(shù)據(jù)庫中關(guān)系模式是型,關(guān)系是值。關(guān)系模式是對關(guān)系的描述,現(xiàn)實世界隨時間在不斷變化,因而在不同時刻,關(guān)系模式的關(guān)系也會有所變化。但現(xiàn)實世界的許多已有事實限定了關(guān)系模式所有可能的關(guān)系必須滿足一定的約束條件。這些約束條件或者通過對屬性取值范圍的限定(例大學生入學年齡小于30歲),或者通過屬性值間的相互關(guān)連(屬性間存在函數(shù)關(guān)系)反映,關(guān)系模式應(yīng)當能刻劃這些約束條件。完整性約束條件是一組完整性規(guī)則集合,完整性規(guī)則用于限定符合數(shù)據(jù)庫狀態(tài)及狀態(tài)變化,以保證數(shù)據(jù)的正確、有效、相容。關(guān)系模型完整性約束條件有三類:實體完整性、參照完整性和用戶定義的完整性。其中實體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件。①實體完整性規(guī)則

基本關(guān)系的所有主屬性(主鍵中屬性)都不能取空值關(guān)系模型中關(guān)系對應(yīng)于現(xiàn)實世界的一個實體集,現(xiàn)實世界中實體是可區(qū)分的,即它們具有某種唯一性標識,在關(guān)系模型中用主鍵作為唯一標識,主鍵的屬性值不能取空值。所謂空值就是“不知道”或“無意義”的值。如果主屬性取空值,就說明存在某個不可識別的實體,即存在不可區(qū)別的實體,與現(xiàn)實世界中實體是可區(qū)分的相矛盾,因此這個規(guī)則稱為實體完整性。例:學生(學號,姓名,性別,專業(yè)號,年齡)

課程(課程號,課程名,上課地點)選修(學號,課程號,成績)②參照完整性規(guī)則

現(xiàn)實世界中實體之間往往存在某種聯(lián)系,在關(guān)系模型中實體及實體間的聯(lián)系都是用關(guān)系來描述的。這就存在關(guān)系與關(guān)系間的引用。例1:學生實體和專業(yè)實體用下列關(guān)系表示,主鍵用下劃線標識學生(學號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名)這兩個關(guān)系間存在屬性的引用,學生關(guān)系引用了專業(yè)關(guān)系的主鍵“專業(yè)號”。顯然,學生關(guān)系中的“專業(yè)號”值必須是確實存在的專業(yè)的專業(yè)號,即專業(yè)關(guān)系中有該專業(yè)的記錄。學生關(guān)系中的某個屬性的取值需要參照專業(yè)關(guān)系的屬性取值。例2:學生、課程學生與課程間多對多聯(lián)系可表示為三個關(guān)系學生(學號,姓名,性別,專業(yè)號,年齡)課程(課程號,課程名,學分)選修(學號,課程號,成績)

這三個關(guān)系間也存在屬性的引用,選修關(guān)系中某些屬性取值需要參照其他關(guān)系的屬性取值。例3:學生(學號,姓名,性別,專業(yè)號,年齡,班長)同一個關(guān)系內(nèi)部屬性間存在屬性的引用。參照完整性規(guī)則就是定義外鍵與主鍵之間的引用規(guī)則。其規(guī)則為:

若屬性(或?qū)傩越M)F是關(guān)系R的外鍵,它與關(guān)系S的主鍵K相對應(yīng),則對于R中每個元組F上的值必須為:空值(F中每個屬性值均為空值);或等于S中某個元組的主鍵值。例:根據(jù)參照完整性規(guī)則:對于例1,學生關(guān)系中每個元組的“專業(yè)號”屬性只能取下面兩類值:空值(表示尚未給該學生分配專業(yè));非空值,這時該值必須是專業(yè)關(guān)系中某個元組的“專業(yè)號”值,表示該學生不可能分配到一個不存在的專業(yè)中。對于例2,選修關(guān)系中“學號”和“課程號”屬性只能取在學生和課程關(guān)系中已經(jīng)存在的值(因“學號”和“課程號”為選修主鍵)對于例3,“班長”屬性只能取空值(表示該學生所在班尚未選出班長)或“學號”屬性中已經(jīng)存在的學號值。③用戶定義的完整性

任何關(guān)系數(shù)據(jù)庫系統(tǒng)都應(yīng)該支持實體完整性和參照完整性,除此之外,不同的關(guān)系數(shù)據(jù)庫系統(tǒng)根據(jù)其應(yīng)用環(huán)境不同,還需要一些特殊的約束條件,用戶定義的完整性就是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件。它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須遵循的特定語義約束條件。例如,在學校數(shù)據(jù)庫中規(guī)定大學生入學年齡不得超過30歲,碩士研究生入學年齡不得超過38歲,學生累計成績不得有三門以上不及格,分數(shù)屬性取值范圍在0~100等。

關(guān)系模型提供了定義和檢驗這類完整性的機制,以便用統(tǒng)一的系統(tǒng)方法處理它們,而不需應(yīng)用程序承擔這一功能。4、關(guān)系模型優(yōu)缺點優(yōu)點:由于實體和聯(lián)系都用關(guān)系描述,因此數(shù)據(jù)結(jié)構(gòu)簡單直觀、用戶易理解②具有很高的數(shù)據(jù)獨立性。在關(guān)系模型中,用戶不涉及數(shù)據(jù)的物理存儲,只與數(shù)據(jù)本身的特性發(fā)生關(guān)系,因此數(shù)據(jù)的獨立性很高。③可以直接處理多對多的聯(lián)系。在關(guān)系模型中,由于使用表格數(shù)據(jù)來表示實體之間的聯(lián)系,因此,可以直接描述多對多的聯(lián)系④有嚴格的設(shè)計理論(關(guān)系代數(shù))⑤存取路徑對用戶透明,從而具有更高的獨立性、更好的安全保密性,也簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作量。主要缺點:由于存取路徑對用戶透明,造成查詢速度慢,效率低于非關(guān)系型數(shù)據(jù)模型。

現(xiàn)實世界 觀念世界 關(guān)系模型事物 實體 元組事物特性 屬性 屬性同類事物特征 實體型 關(guān)系模式同類事物集合 實體集 關(guān)系事物之間聯(lián)系實體間聯(lián)系關(guān)系在關(guān)系模型中,不需要事先構(gòu)造數(shù)據(jù)的邏輯關(guān)系,只需將數(shù)據(jù)按照一定的關(guān)系存入計算機(即將數(shù)據(jù)放在不同的關(guān)系表中),當需要用到這些數(shù)據(jù)時,就可將這些關(guān)系歸結(jié)為集合的運算,如:并、交、差、投影等,從而在許多數(shù)據(jù)中選取所需的數(shù)據(jù)。

4.2關(guān)系代數(shù) 1.域定義1域:一組具有相同數(shù)據(jù)類型的值集合。例如:整數(shù)、實數(shù)、字符串、{男,女},{0,1}等都可以是域基數(shù):域中數(shù)據(jù)的個數(shù)稱為域的基數(shù)M。域被命名后用如下方法表示:D1={白亞春,陳韜,王雪蓮},表示姓名的集合,基數(shù)是3;D2={計算機系,電子系}2.笛卡爾積定義2給定一組域Dl,D2,…,Dn,則Dl,D2,…,Dn的笛卡爾積為:Dl×D2×…×Dn={(d1,d2,…dn)|di∈Di,i=1,2,…n}其中每一個元素(d1,d2,…,dn)叫作一個元組,元組中的每一個值di叫作一個分量,di必須是Di中的一個值。顯然,笛卡爾積的基數(shù)就是構(gòu)成該積所有域的基數(shù)累乘積,若Di(i=1,2,…,n)為有限集合,其基數(shù)為mi(i=1,2,…,n),則D1×D2×…×Di×…×Dn笛卡爾積的基數(shù)M為:例如,我們給出三個域:

Dl=導(dǎo)師集合supervisor={張清梅,劉逸}D2=專業(yè)集合speciality={計算機,信息}D3=研究生集合postgraduate={李勇,劉晨,王敏}Dl×D2×D3={(張清梅,計算機,李勇),(張清梅,計算機,劉晨),(張清梅,計算機,王敏),(張清梅,信息,李勇),(張清梅,信息,劉晨),(張清梅,信息,王敏),(劉逸,計算機,李勇),(劉逸,計算機,劉晨),(劉逸,計算機,王敏),(劉逸,信息,李勇),(劉逸,信息,劉晨),(劉逸,信息,王敏)}這2×2×3=12個元組可列成一張二維表:

supervisorspecialitypostgraduate張清梅計算機李勇張清梅計算機劉晨張清梅計算機王敏張清梅信息李勇張清梅信息劉晨張清梅信息王敏劉

逸計算機李勇劉

逸計算機劉晨劉

逸計算機王敏劉

逸信息李勇劉

逸信息劉晨劉

逸信息王敏3.關(guān)系定義3笛卡爾積D1×D2×…×Di×…×Dn的子集R稱作在域D1,D2,…,Dn上的關(guān)系,記作:R(D1,D2,…,Di,…,Dn)其中:R為關(guān)系名,n為關(guān)系的度或目(Degree),Di是域組中的第i個域名.當n=1時,稱該關(guān)系為單元關(guān)系;當n=2時,稱該關(guān)系為二元關(guān)系;以此類推,關(guān)系中有n個域,稱該關(guān)系為n元關(guān)系。關(guān)系是笛卡爾積的有限子集,所以關(guān)系也是一個二維表,表中每行對應(yīng)一個元組,每列對應(yīng)一個域。由于域可以相同,為區(qū)分,必須對每列起一個名字,稱為屬性。n目關(guān)系必有n個屬性。

從上例的笛卡爾積中取出一個子集來構(gòu)造一個關(guān)系。由于一個導(dǎo)師只有一個專業(yè),一個研究生只能師從于一個導(dǎo)師,學習某一個專業(yè),所以笛卡爾積中許多元組是無意義的,從中取出有意義的元組來構(gòu)造關(guān)系,該關(guān)系為:SPA(supervisor,speciality,postgraduate)關(guān)系可以分為三種類型:基本關(guān)系(又稱基本表):是實際存在的表,它是實際存儲數(shù)據(jù)的邏輯表示;查詢表:是對基本表進行查詢后得到的結(jié)果表;視圖表:是由基本表或其它視圖導(dǎo)出的表,是一個虛表,不對應(yīng)實際存儲的數(shù)據(jù)supervisorspecialitypostgraduate張清梅信息劉晨張清梅信息李勇劉

逸信息王敏傳統(tǒng)的集合運算傳統(tǒng)的集合運算是二目運算,包括并、交、差、廣義笛卡爾積四種運算。1、并運算∪R∪S

R-S

R∩S

3、差運算-2、交運算∩

并、交、差運算要求關(guān)系R與S具有相同的關(guān)系模式,且它們的值域相同,經(jīng)過這些運算后,它們?nèi)詾橐粋€與R、S相同元的關(guān)系。如R、S為n元,則R∪S也為n元。關(guān)系R關(guān)系S并R∪S交R∩SABCabcdefxyzABCxyzabcmnpABCabcdefxyzmnpABCabcxyz差R-SABCdef4.廣義笛卡爾積兩個分別為n目和m目的關(guān)系R和S的廣義笛卡爾積是一個(n+m)列的元組的集合。元組的前n列是關(guān)系R的一個元組,后m列是關(guān)系S的一個元組。若R有k1個元組,S有k2個元組,則關(guān)系R和關(guān)系S的廣義笛卡爾積有kl×k2個元組。記作R×S={tr

ts

|tr∈R且ts∈S}。ABC123456789ABCabcdefhij關(guān)系R

關(guān)系SABCABC123abc123def123hij456abc456def456hij789abc789def789hijR×S

3+3=6元關(guān)系前3個來自R后3個來自SR×S元組數(shù)為:3×3例:專門的關(guān)系運算專門的關(guān)系運算包括:選擇、投影和連接,用于數(shù)據(jù)查詢服務(wù)。5、選擇運算在給定的關(guān)系中選擇滿足條件的元組,構(gòu)成一個新關(guān)系,而這個關(guān)系是原關(guān)系的一個子集。選擇運算結(jié)果是一個表行的子集,關(guān)系模式不變,元組數(shù)改變。記作:R關(guān)系名;g邏輯表達式(指定條件),取值為“真”或“假”。由關(guān)系運算符:=、≠、>、≥、<、≤和邏輯運算符:∧(與)、∨(或)、﹁(非)組成

或例:關(guān)系R如圖所示,現(xiàn)選擇所在系為“COM”、且所選課程為

C1的元組。S#(系編號)

SN(學生名)SD(系名)C#(課程名)S1MAELEC3S2HUCOMC1S3LIMATHC2S4CHENPHSYC1運算為:或:運算結(jié)果:S#(系編號)

SN(學生名)SD(系名)C#(課程名)S2HUCOMC1相當于數(shù)據(jù)庫語言中的查找記錄命令。6、投影從指定的關(guān)系中挑選出所需屬性構(gòu)成新的關(guān)系。這個操作對關(guān)系進行垂直分解,消去關(guān)系中某些列,并可重新排列屬性次序,關(guān)系模式改變。選擇運算的結(jié)果是一個表列的子集。記作:或

功能:從關(guān)系R中選擇出若干屬性列(字段)組成新關(guān)系。R為關(guān)系名;t(A)為選中屬性列的名稱;A為R的屬性列(名稱或列稱)例:

一個學生關(guān)系(學生)如圖所示,現(xiàn)需查詢學生的姓名、學號和成績,并將查詢結(jié)果放入一個新關(guān)系SNM中CLS(班級)S#(學號)SN(姓名)SD(所屬系)SA(年齡)MAR(成績)W1S1MAPHSY1992W4S2ZHUMATH2087W2S5HUELE2083W3S6QICOM1991W1S3ZHOUELE1995學生運算為:或運算結(jié)果為:S#SNMARS1MA92S2ZHU87S5HU83S6QI91S3ZHOU95投影可在關(guān)系列的方向進行選擇,當需取出表中某些列的值時,用投影運算很方便。投影后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組(行)。因取消列屬性后,就可能出現(xiàn)重復(fù)行,應(yīng)取消這些完全相同的行。7、連接運算對兩個關(guān)系進行運算,從兩個關(guān)系的廣義笛卡爾積中選取屬性間滿足一定條件的元組。設(shè)有k1元關(guān)系R和k2元關(guān)系S,則R與S兩個關(guān)系的連接運算為:

連接運算符;

i、j表示關(guān)系R中第i個屬性的屬性名和S中第j個屬性的屬性名,它們之間具有可比性;

關(guān)系運算符。功能:找出關(guān)系R和S的笛卡爾積中屬性i的值和屬性j的值之間滿足

關(guān)系的所有元組。比較符

為“=”時,稱等值連接

為“<”時,稱小于連接

為“>”時,稱大于連接連接后是一個k1+k2元關(guān)系[i]

[j]例:關(guān)系R和關(guān)系S如圖所示銷往城市銷售員產(chǎn)品號銷售量C1M1D12000C2M2D22500C3M3D11500C4M4D23000產(chǎn)品號生產(chǎn)量訂購數(shù)D137003000D255005000D340003500RS連接運算[3]=[1]銷往城市銷售員產(chǎn)品號銷售量產(chǎn)品號生產(chǎn)量訂購數(shù)C1M1D12000D137003000C2M2D22500D255005000C3M3D11500D137003000C4M4D23000D255005000

連接運算將兩個關(guān)系通過屬性間的關(guān)系連接起來,變成一個新關(guān)系。8、自然連接一種特殊的等值連接自然連接是對兩個具有公共屬性(屬性名相同)的關(guān)系所進行的運算。如關(guān)系R和關(guān)系S具有公共屬性,則R和S的自然連接是從它們的笛卡爾積R×S中選出公共屬性值相同的那些元組,記為:

設(shè)關(guān)系R和關(guān)系S具有相同的屬性名A1,A2,…,AK,則R與S的自然連接為:①計算R×S②挑選R×S中同時滿足

R.A1=S.A1、R.A2=S.A2、…、R.AK=S.AK的那些元組③去掉S.A1、S.A2、…、S.AK這些重復(fù)屬性例、關(guān)系R與S如圖所示銷往城市銷售員產(chǎn)品號銷售量C1M1D12000C2M2D22500C3M3D11500C4M4D23000產(chǎn)品號生產(chǎn)量訂購數(shù)D137003000D255005000D340003500RS自然連接運算銷往城市銷售員產(chǎn)品號銷售量生產(chǎn)量訂購數(shù)C1M1D1200037003000C2M2D2250055005000C3M3D1150037003000C4M4D2300055005000

用關(guān)系運算可方便地對一個或多個關(guān)系進行各種拆分和組裝操作。在關(guān)系數(shù)據(jù)庫中,正是通過這些運算完成對數(shù)據(jù)庫中的數(shù)據(jù)進行存取、修改、檢索等操作。例1設(shè)有一個關(guān)系R,找出平均成績在85分及以上的學生的姓名和學號。S#(學號)SN(姓名)SD(所屬系)AVER(平均成績)

SUM(總成績)

S1MACS185425S2BICS181406S3FANCS291455S4WANGCS287437分兩步:①找出平均成績≥85分的元組——選擇:②選擇學號、姓名兩個字段——投影:綜合為:結(jié)果為:S#(學號)SN(姓名)S1MAS3FANS4WANG例2設(shè)有關(guān)系T和P,現(xiàn)找出講授課程G1的教師姓名、所在系和該教師的職稱。TN(姓名)TD(所屬系)TA(年齡)TS(性別)T(職稱)LIPHSY51男副教授WUCHEN42男講師HECOM54男副教授LUELE35男講師TN(姓名)TG(所任課程)LIPHSYWUCHENHECOMLUELETP①TP結(jié)果為:TN(姓名)TD(所屬系)TA(年齡)TS(性別)T(職稱)TG(所任課程)LIPHSY51男副教授PHSYWUCHEN42男講師CHENHECOM54男副教授COMLUELE35男講師ELE②選取講授G1課程的教師(TP)

③選取姓名、系、職稱字段(TP))

連接運算比較費時,尤其是在包含許多元組的關(guān)系之間進行的連接運算更是如此。設(shè)關(guān)系R和S分別有m和n個元組,R與S之間的連接過程要訪問m×n個元組。從R第一個元組開始依次與S中各元組比較,符合條件首尾相接去掉重復(fù)的字段納入新關(guān)系,一輪共比較n次,再用R第二個元組與S第1~n個元組進行比較。因此查詢時,為提高效率,如有可能應(yīng)先進行選擇運算,使關(guān)系中元組盡量少,能投影的先投影,使關(guān)系中字段盡量少,然后再進行連接運算。根據(jù)這個思路,上題可改為:①

T()T②③例3設(shè)有一關(guān)系W,在W中增加(插入)一個元組(a,b,c,d,e,f,g)。ABCDEFGa1b1c1d1e1f1g1a2b2c2d2e2f2g2a3b3c3d3e3f3g3

W=W∪(a,b,c,d,e,f,g)

刪除W中(a2,b2,c2,d2,e2,f2,g2)元組:

W=W-(a2,b2,c2,d2,e2,f2,g2)

從上面例子可看出,關(guān)系代數(shù)的運算結(jié)果仍是一個關(guān)系,我們可以用關(guān)系代數(shù)的運算表示我們所需進行的各種庫查詢和更新處理要求。例4:在關(guān)系W中查找字段A為a1的元組:將字段B為b2的元組從W中刪除:W-4.3數(shù)據(jù)庫設(shè)計一、數(shù)據(jù)庫設(shè)計的基本概念數(shù)據(jù)庫設(shè)計是指按照用戶要求,結(jié)合某一數(shù)據(jù)庫管理系統(tǒng),為被設(shè)計的對象建立數(shù)據(jù)模型,并編制相應(yīng)應(yīng)用程序的過程。從本質(zhì)上講,數(shù)據(jù)庫設(shè)計是將數(shù)據(jù)庫系統(tǒng)與現(xiàn)實世界的應(yīng)用對象緊密結(jié)合起來,構(gòu)成一個有機整體的過程。因此要求數(shù)據(jù)庫設(shè)計者對數(shù)據(jù)庫系統(tǒng)和實際應(yīng)用對象兩方面都必須了解。數(shù)據(jù)庫設(shè)計是一個應(yīng)用課題,由于它涉及面較廣,至今尚無一個統(tǒng)一的設(shè)計方法,但一般都是從局部到全局,從邏輯設(shè)計到物理設(shè)計,即對客觀世界的事物進行抽象,轉(zhuǎn)換成某一個DBMS的數(shù)據(jù)。數(shù)據(jù)庫設(shè)計包含兩方面的內(nèi)容:①結(jié)構(gòu)特性設(shè)計即數(shù)據(jù)模型與數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(數(shù)據(jù)庫框架),它應(yīng)該是具有最小冗余的、能滿足不同用戶數(shù)據(jù)需求的、能實現(xiàn)數(shù)據(jù)共享的系統(tǒng)。數(shù)據(jù)庫結(jié)構(gòu)特性是靜態(tài)的,應(yīng)留有擴充余地,使系統(tǒng)容易改變。②

行為特性設(shè)計即應(yīng)用程序、事物處理等的設(shè)計。

數(shù)據(jù)庫結(jié)構(gòu)設(shè)計是否合理,直接影響到系統(tǒng)中各個處理過程的性能和質(zhì)量。

數(shù)據(jù)庫設(shè)計是一項綜合性技術(shù)?!叭旨夹g(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)”是數(shù)據(jù)庫建設(shè)的基本規(guī)律。數(shù)據(jù)庫設(shè)計與傳統(tǒng)的軟件設(shè)計有相同的地方,但在做法上側(cè)重不同,它的主要精力首先是在結(jié)構(gòu)特性的設(shè)計上,即要匯總各用戶的要求,盡量減少冗余,實現(xiàn)數(shù)據(jù)共享,設(shè)計出滿足各用戶的統(tǒng)一的數(shù)據(jù)模型。二、數(shù)據(jù)庫設(shè)計的過程1、需求分析

需求分析就是確定所要開發(fā)的應(yīng)用系統(tǒng)的目標,收集和分析用戶對數(shù)據(jù)及數(shù)據(jù)處理的需求,了解用戶需要什么樣的、做什么用的數(shù)據(jù)庫。主要考慮“做什么”問題,而不是考慮“怎么做”問題需求分析的工作成果是產(chǎn)生用戶和設(shè)計者都能接受的需求說明書,這是數(shù)據(jù)庫概念設(shè)計的基礎(chǔ)。需求分析是設(shè)計數(shù)據(jù)庫的起點,需求分析的結(jié)果是否準確地反映了用戶的實際要求,將直接影響到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理和實用

需求分析的重點是“數(shù)據(jù)”和“處理”,通過調(diào)查、分析,獲得用戶對數(shù)據(jù)庫的信息和處理要求。信息要求指用戶從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)。處理要求知用戶對數(shù)據(jù)庫在處理功能、響應(yīng)時間、處理方式等方面的要求。信息需求處理需求

需求分析

需求說明書⑴了解用戶環(huán)境和要求了解用戶環(huán)境就是了解用戶的業(yè)務(wù)活動,了解人工管理系統(tǒng)是如何進行工作的,為什么要這樣做。在工作過程中,要了解用戶的環(huán)境和要求,即需要哪些數(shù)據(jù)、如何發(fā)送、數(shù)據(jù)的格式是什么、需要保留哪些數(shù)據(jù)、數(shù)據(jù)量及數(shù)據(jù)的增長率有多少等。繪制現(xiàn)行人工管理系統(tǒng)的工作流程圖,并描繪出各項工作的功能、數(shù)據(jù)的傳輸格式、類型、長度及時間性和完整性要求,從而對人工管理系統(tǒng)的優(yōu)缺點做出正確地評價。在此階段,要盡量讓用戶多提要求,使各方面的要求盡量詳細、全面。例:某公司決定建立一個以數(shù)據(jù)庫為基礎(chǔ)的管理信息系統(tǒng),以取代單一的人工管理。目標系統(tǒng)取名為“工資管理系統(tǒng)”。通過用戶調(diào)查,初步整理出以下結(jié)果。

①當前系統(tǒng)工作狀況該公司工資管理中使用三種源數(shù)據(jù)表和數(shù)據(jù)報表。三種數(shù)據(jù)表:人員基本情況表姓名性別年齡學歷受聘日期部門職稱婚否扣款表姓名水電費煤氣費其他扣款效益工資表姓名效益工資兩種數(shù)據(jù)報表:工資表姓名部門基本工資崗位津貼效益工資扣款應(yīng)發(fā)工資部門工資表部門名稱部門工資匯總

表一為該公司人員基本情況表,根據(jù)表中的學歷、職稱及受聘日期長短,決定工資表中基本工資和崗位津貼的具體數(shù)值;表二為公司扣款表,每月由各部門上報,根據(jù)扣款表的內(nèi)容決定工資表中扣款項的金額;表三為效益工資表,每月由各部門根據(jù)當月效益及員工的表現(xiàn)申報,由財務(wù)部門審批。表四為每月的工資表;表五為每月部門工資匯總表。②對目標系統(tǒng)的總體需求

通過對當前系統(tǒng)的調(diào)查和與用戶的共同討論,對將要開發(fā)的目標系統(tǒng)提出以下總體需求:用數(shù)據(jù)文件代替現(xiàn)有的全部帳表具有對各種數(shù)據(jù)的錄入和維護功能能根據(jù)人員的基本情況表、扣款表和效益工資表自動計算工作表各項內(nèi)容

能夠靈活修改工資項目按月打印公司工作表及工資匯總表有多種查詢和統(tǒng)計功能...。

⑵軟件需求說明書數(shù)據(jù)庫開發(fā)中一項十分重要的任務(wù)是確定系統(tǒng)中使用的全部數(shù)據(jù)(數(shù)據(jù)分析)和系統(tǒng)(功能分析)的處理功能,并為它們?nèi)∶投x,產(chǎn)生軟件需求說明書軟件需求說明書是用戶需求分析的規(guī)范化和形式化。制作軟件需求說明書目的是為軟件開發(fā)提出總體要求,并作為用戶和開發(fā)人員之間相互了解和共同開發(fā)的基礎(chǔ)。由數(shù)據(jù)流程圖和數(shù)據(jù)字典組成。⑶軟件需求分析方法和工具

數(shù)據(jù)流程圖(描述數(shù)據(jù)和數(shù)據(jù)處理過程關(guān)系)和數(shù)據(jù)字典(系統(tǒng)中各類數(shù)據(jù)描述的集合)

數(shù)據(jù)流程圖描述從輸入到輸出過程中數(shù)據(jù)和處理的關(guān)系。

人員基本情況數(shù)據(jù)表

扣款數(shù)據(jù)表

效益工資數(shù)據(jù)表工資項目計算

工資數(shù)據(jù)表錄入

圓圈表示某種處理和加工;方框表示數(shù)據(jù)存儲符號,包括數(shù)據(jù)庫文件和其他形式文件;箭頭表示數(shù)據(jù)傳遞或讀寫方向。

數(shù)據(jù)字典用于記載系統(tǒng)中的各種數(shù)據(jù)、數(shù)據(jù)元素以及它們的名字、性質(zhì)、意義及各類約束條件,記錄系統(tǒng)中用到的常量、變量、數(shù)組及其他數(shù)據(jù)單位,是系統(tǒng)開發(fā)與維護中不可缺少的重要文件。數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的一種描述,而不是數(shù)據(jù)本身。數(shù)據(jù)字典是在需求分析階段建立,在數(shù)據(jù)庫設(shè)計過程中不斷修改、充實、完善的。數(shù)據(jù)字典內(nèi)容根據(jù)具體系統(tǒng),有很大的不同。一般,凡是關(guān)于數(shù)據(jù)描述的信息都可放入數(shù)據(jù)字典中。例實體、屬性、實體聯(lián)系、用戶標識、口令、數(shù)據(jù)空間使用情況、各種數(shù)據(jù)使用情況、修改情況等。

數(shù)據(jù)項名稱 應(yīng)發(fā)工資含義員工當月應(yīng)發(fā)工資類型及寬度 貨幣型7位取值基本工資+崗位津貼+效益工資-扣款

取值范圍0000.00~9999.99

數(shù)據(jù)流名工資表組成姓名部門基本工資崗位津貼效益工資扣款應(yīng)發(fā)工資來至過程工資項目計算數(shù)據(jù)流條目卡片數(shù)據(jù)項目條目卡片數(shù)據(jù)流:數(shù)據(jù)在系統(tǒng)內(nèi)的傳輸路徑。⑷數(shù)據(jù)分析和功能分析數(shù)據(jù)分析步驟:①確定各項數(shù)據(jù)在目標系統(tǒng)中名稱

同一數(shù)據(jù)使用相同的名稱、在容易識別的前提下盡量簡化名稱。②定義數(shù)據(jù)項的含義與取值③定義系統(tǒng)的輸入數(shù)據(jù)和輸出打印數(shù)據(jù)數(shù)據(jù)分析的結(jié)果是產(chǎn)生系統(tǒng)數(shù)據(jù)流程圖和數(shù)據(jù)字典。功能分析

確定系統(tǒng)功能,在此階段,開發(fā)人員和用戶雙方都必須十分謹慎,要全面考慮計算機究竟應(yīng)該做哪些工作。一旦系統(tǒng)功能確定之后,一般情況下不能改動,以免影響后期工作例工資管理系統(tǒng)功能需求分析結(jié)果:

①數(shù)據(jù)錄入模塊②工資計算模塊③工資項目修改模塊按所選工資項目整體修改工資表內(nèi)容

按任意條件和所選工資項目部分修改工資表內(nèi)容

④查詢統(tǒng)計模塊⑤報表打印模塊按月打印公司工資表及工資匯總表

分析階段產(chǎn)生的系統(tǒng)說明書明確描述了用戶要求,主要有三個作用:①作為用戶和軟件人員之間的合同,為雙方相互了解提供基礎(chǔ)②反映出問題的結(jié)構(gòu),可作為軟件人員進行設(shè)計和編程基礎(chǔ)③作為選取測試用例和進行驗收的依據(jù)

系統(tǒng)說明書是軟件生命周期中一份極其重要文檔,在分析階段必須及時建立并保證其質(zhì)量。在建立系統(tǒng)說明書后,還應(yīng)對它進行反復(fù)檢查,爭取盡早發(fā)現(xiàn)潛在的錯誤并及時糾正。需求分析是整個設(shè)計過程基礎(chǔ),是最困難、最耗費時的一步。需求分析的結(jié)果是否準確地反映了用戶的實際要求,將直接影響到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理和實用。

2、概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)的目標是將需求分析得到的用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型,它是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵。它應(yīng)該:①

充分反映實際應(yīng)用中各實體間的相互關(guān)系;②直觀,便于用戶理解與直接參與;③概念模型方便擴充和修改;用E-R圖進行概念結(jié)構(gòu)設(shè)計。概念結(jié)構(gòu)設(shè)計是對實體的抽象過程,可分三步來完成①選擇局部應(yīng)用,建立分E-R圖建立分E―R圖的主要工作是對需求分析階段收集到的數(shù)據(jù)進行分類、組織,劃分實體和屬性,確定實體之間的聯(lián)系。劃分實體和屬性的準則:屬性本身不能再具有需要描述的性質(zhì)或與其他實體具有聯(lián)系(即屬性必須是不可分的數(shù)據(jù)項,不能包含其它屬性);屬性不能與其它實體有聯(lián)系(即E―R圖中所表示的聯(lián)系是實體之間的聯(lián)系)。凡滿足上述準則的事物,一般均可作為屬性對待。例1:職工是一個實體,職工號、姓名、性別、年齡是職工實體的屬性,職稱如果沒有與工資、福利掛鉤,換句話說,沒有需要進一步描述的特性,則可將它作為職工實體的屬性。但如不同職稱有不同的工資、住房標準和附加福利,則職稱作為一個實體看待更恰當。例2在醫(yī)院中,一個病人只能住在一個病房,病房號可作為病人實體的屬性,但如果病房還要與醫(yī)生實體發(fā)生聯(lián)系,即一個醫(yī)生負責幾個病房的病人的醫(yī)療工作,則病房應(yīng)作為一個實體

住院號

性別

姓名

年齡

住在

病房號

電話

所屬科室

1

n

醫(yī)生

性別

姓名

年齡

醫(yī)

1

n

例3:某工廠管理信息系統(tǒng),經(jīng)過分析,確定了該系統(tǒng)由物資管理、銷售管理、勞動人事管理等子系統(tǒng)組成,并為每個子系統(tǒng)組成了開發(fā)小組,分別進行需求分析,并畫出每個子系統(tǒng)的分E-R圖。物資管理分E-R圖:職工號職工名年齡職稱性別

名稱

單價

面積

m

n

p

m

n

項目號

預(yù)

項目名

姓名

地址

帳號

供應(yīng)商

供應(yīng)

供應(yīng)量

存放

倉庫號

電話

庫存量

供應(yīng)商號

電話號

零件號

規(guī)格

工作

n

n

1

領(lǐng)導(dǎo)

1

n

銷售管理分E-R圖:勞動人事管理分E-R圖:

各分E-R圖建立好后,需對它們進行綜合,把各分E-R圖連接在一起,形成系統(tǒng)的總E-R圖,稱為初步E-R圖。②合并分E-R圖,生成初步E-R圖各個局部應(yīng)用所面向的問題不同,且常由不同的設(shè)計人員進行局部設(shè)計,這就導(dǎo)致了各個分E-R圖之間必定會存在許多不一致的地方稱之為沖突。因此合并分E-R圖時并不能簡單地將各個分E-R圖畫在一起,而是必須著力消除各個分E-R圖中的不一致,以形成一個能為全系統(tǒng)中所有用戶共同理解和接受的統(tǒng)一的概念模型。合理消除各分E-R圖的沖突是合并分E-R圖的主要工作與關(guān)鍵所在。各分E-R圖之間的沖突主要有三類:a)屬性沖突:同一屬性在不同的分E-R圖中其值的類型、取值范圍、取值單位等不一致。例年齡:有的以日期形式表示,有的以年齡形式表示。零件:有的以公斤為單位,有的以克為單位。編號:有的以整數(shù)形式表示,有的以字符串年齡形式表示。這需要各部門進行協(xié)調(diào),使之統(tǒng)一。b)命名沖突:屬性名、實體名、聯(lián)系名之間有同名異義或異名同義的問題。例對科研項目:財務(wù)科稱為“項目”、科研處稱為“課題”、生產(chǎn)管理處稱為“工程”——同義異名。對電話號碼,供應(yīng)商和顧客均有一個屬性“電話”——同名異義這顯然是不允許的,需通過協(xié)商解決改正。c)結(jié)構(gòu)沖突:※同一對象在不同應(yīng)用中具有不同的抽象。例:職工在某局部應(yīng)用中被當成實體,在另一應(yīng)用中被當成屬性解決辦法是將屬性變?yōu)閷嶓w或?qū)嶓w變?yōu)閷傩?,使它們具有相同的抽象※同一實體在不同分E-R圖中所包含的屬性個數(shù)和屬性排列次序不完全相同。解決辦法是取各分E-R圖中屬性的并集,再適當調(diào)整屬性次序?!鶎嶓w間聯(lián)系在不同分E-R圖中為不同類型。如實體E1與E2在一個分E-R圖中為1:1,在另一個分E-R圖中為1:n;又如在一個分

E-R圖中E1與E2發(fā)生聯(lián)系,在另一個分E-R圖中,E1、E2、E3

三者之間有聯(lián)系。解決辦法是根據(jù)應(yīng)用的語義對實體聯(lián)系的類型進行綜合與調(diào)整。在合并各分E-R圖時,必須要處理解決上述各類沖突,從而得到一個集中了各個用戶信息要求,為所有用戶共同理解和接受的初步總體模型,即E-R圖。例分E-R圖1分E-R圖2因構(gòu)成和供應(yīng)兩個聯(lián)系不能互相包含例:上述管理系統(tǒng)三個分E-R圖合并后,形成的初步E-R圖項目和產(chǎn)品含義相同:某個項目實質(zhì)上是指某個產(chǎn)品的生產(chǎn),統(tǒng)一用產(chǎn)品作實體名。但因項目與產(chǎn)品中屬性不同,取兩者并集。聯(lián)系名存在同名現(xiàn)象(物資管理分E-R圖和勞動人事管理分E-R圖);很多實體中屬性名同名異義(電話、單價、顧客號),必須修改。③消除冗余,生成基本E-R圖在初步E-R圖中,可能存在一些冗余的數(shù)據(jù)和實體之間冗余的聯(lián)系。所謂冗余數(shù)據(jù)是指可由基

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論