第4章 面向?qū)ο蟮脑O(shè)計-3(1)_第1頁
第4章 面向?qū)ο蟮脑O(shè)計-3(1)_第2頁
第4章 面向?qū)ο蟮脑O(shè)計-3(1)_第3頁
第4章 面向?qū)ο蟮脑O(shè)計-3(1)_第4頁
第4章 面向?qū)ο蟮脑O(shè)計-3(1)_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第4 4章章 面向?qū)ο蟮脑O(shè)計面向?qū)ο蟮脑O(shè)計4.5 4.5 數(shù)據(jù)管理的設(shè)計數(shù)據(jù)管理的設(shè)計重點重點: :如何將如何將UMLUML類圖映射為數(shù)據(jù)庫模型類圖映射為數(shù)據(jù)庫模型1內(nèi)容內(nèi)容 4.5.1 4.5.1 基本概念基本概念4.5.4 4.5.4 關(guān)系數(shù)據(jù)庫模型關(guān)系數(shù)據(jù)庫模型4.5.2 4.5.2 面向?qū)ο蟮臄?shù)據(jù)庫面向?qū)ο蟮臄?shù)據(jù)庫4.5.3 4.5.3 對象關(guān)系數(shù)據(jù)庫模型對象關(guān)系數(shù)據(jù)庫模型24.5.1 4.5.1 基本概念基本概念(1) (1) 暫存對象暫存對象 (transient object)(transient object)( (2) 2) 持久對象持久對象 (persistent obj

2、ect)(persistent object)在一個實例化或方法調(diào)用中在一個實例化或方法調(diào)用中, ,不需要存儲任何屬性的不需要存儲任何屬性的對象。對象。一個在實例化或方法調(diào)用中一個在實例化或方法調(diào)用中, ,必須存儲一個或多個屬必須存儲一個或多個屬性的對象。性的對象。u 持久化對象應(yīng)存儲在文件或數(shù)據(jù)庫中;持久化對象應(yīng)存儲在文件或數(shù)據(jù)庫中;u UMLUML中中, ,持久化對象標(biāo)識持久化對象標(biāo)識, ,使用板類使用板類persistent 代表持久對象。代表持久對象。3l在關(guān)系術(shù)語中,惟一標(biāo)識符為鍵。在關(guān)系術(shù)語中,惟一標(biāo)識符為鍵。l在對象術(shù)語中,惟一標(biāo)識符稱為對象的標(biāo)識符在對象術(shù)語中,惟一標(biāo)識符稱為對

3、象的標(biāo)識符OIDOID,在關(guān)系模式中實現(xiàn)成大整數(shù)或字符串。在關(guān)系模式中實現(xiàn)成大整數(shù)或字符串。l使用使用OIDOID可以簡化關(guān)系數(shù)據(jù)庫中鍵的策略??梢院喕P(guān)系數(shù)據(jù)庫中鍵的策略。l使用使用OIDOID可以很容易地維護(hù)對象間的關(guān)系。可以很容易地維護(hù)對象間的關(guān)系。l一個一個OIDOID應(yīng)該在應(yīng)該在類層次上是惟一的類層次上是惟一的。避免對象類型發(fā)。避免對象類型發(fā)生變化時重新分配生變化時重新分配OIDOID的問題。的問題。 l除了確定對象外,永遠(yuǎn)不要使用除了確定對象外,永遠(yuǎn)不要使用OIDOID或鍵。或鍵。 4( (3) 3) 對象標(biāo)識符對象標(biāo)識符(object identifier,OID(object

4、identifier,OID ) ) 用于在數(shù)據(jù)庫中惟一地確定對象。用于在數(shù)據(jù)庫中惟一地確定對象。( (4) 4) 數(shù)據(jù)模型數(shù)據(jù)模型 (Data Model)(Data Model) 數(shù)據(jù)模型:比原始的位和字節(jié)更易理解的方式描述數(shù)數(shù)據(jù)模型:比原始的位和字節(jié)更易理解的方式描述數(shù)據(jù)結(jié)構(gòu)的抽象。有三種抽象:據(jù)結(jié)構(gòu)的抽象。有三種抽象:n概念數(shù)據(jù)模型概念數(shù)據(jù)模型:面向用戶、面向現(xiàn)實世界的,與:面向用戶、面向現(xiàn)實世界的,與DBMSDBMS無關(guān)。無關(guān)。n邏輯數(shù)據(jù)模型邏輯數(shù)據(jù)模型:反應(yīng)了數(shù)據(jù)庫管理系統(tǒng):反應(yīng)了數(shù)據(jù)庫管理系統(tǒng)DBMSDBMS的存儲結(jié)的存儲結(jié)構(gòu),是用戶從數(shù)據(jù)庫所看到的數(shù)據(jù)模型。構(gòu),是用戶從數(shù)據(jù)庫所

5、看到的數(shù)據(jù)模型。n物理數(shù)據(jù)模型物理數(shù)據(jù)模型:對應(yīng)于特定的:對應(yīng)于特定的DBMSDBMS,定義了實際中數(shù),定義了實際中數(shù)據(jù)是如何存儲于持久存儲設(shè)備如磁盤等。據(jù)是如何存儲于持久存儲設(shè)備如磁盤等。5UMLUML模型與數(shù)據(jù)庫模型相關(guān)模型與數(shù)據(jù)庫模型相關(guān): :數(shù)據(jù)庫數(shù)據(jù)庫概念概念模型模型數(shù)據(jù)庫數(shù)據(jù)庫包包: :將應(yīng)用程序模型將應(yīng)用程序模型與數(shù)據(jù)庫模型隔與數(shù)據(jù)庫模型隔離,建立了對象離,建立了對象和數(shù)據(jù)庫之間的和數(shù)據(jù)庫之間的映射。映射。邊界包邊界包控制包控制包實體包實體包數(shù)據(jù)庫數(shù)據(jù)庫包包數(shù)據(jù)庫數(shù)據(jù)庫邏輯模型邏輯模型數(shù)據(jù)庫數(shù)據(jù)庫物理模型物理模型應(yīng)用程序應(yīng)用程序UMLUML模型模型持久數(shù)據(jù)庫層持久數(shù)據(jù)庫層圖圖4-

6、94 UML4-94 UML模型與數(shù)據(jù)庫模型模型與數(shù)據(jù)庫模型6l面向?qū)ο髷?shù)據(jù)庫模型面向?qū)ο髷?shù)據(jù)庫模型 (Object-oriented Database Model)(Object-oriented Database Model)l對象關(guān)系數(shù)據(jù)庫模型對象關(guān)系數(shù)據(jù)庫模型 (Object-relational Database Model)(Object-relational Database Model)l關(guān)系數(shù)據(jù)庫模型關(guān)系數(shù)據(jù)庫模型 ( Relational Database Model)( Relational Database Model)將持久對象映射到三種數(shù)據(jù)庫模型將持久對象映射到三種

7、數(shù)據(jù)庫模型: :74.5.2 4.5.2 面向?qū)ο蟮臄?shù)據(jù)庫面向?qū)ο蟮臄?shù)據(jù)庫 (Object-oriented Database Model)(Object-oriented Database Model)v 從概念上,面向?qū)ο髷?shù)據(jù)庫把對象屬性和方法從概念上,面向?qū)ο髷?shù)據(jù)庫把對象屬性和方法 存儲在一起;存儲在一起; v 在一個實際實現(xiàn)中,復(fù)雜對象和方法代碼可能在一個實際實現(xiàn)中,復(fù)雜對象和方法代碼可能 實際上并不存儲對象標(biāo)識,但可能會存儲指向?qū)嶋H上并不存儲對象標(biāo)識,但可能會存儲指向 物理位置的指針。物理位置的指針。 8面向?qū)ο髷?shù)據(jù)庫面向?qū)ο髷?shù)據(jù)庫關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫訪問訪問 方式方式導(dǎo)航性,非說明

8、性,查詢效率高。導(dǎo)航性,非說明性,查詢效率高。非過程訪問方式;說明性的。非過程訪問方式;說明性的。阻抗阻抗 失配失配存在著一個程序設(shè)計和基于對象概存在著一個程序設(shè)計和基于對象概念的查詢語言間的匹配念的查詢語言間的匹配。基本流通單位是表,基本流通單位是表,SQLSQL查詢都要查詢都要返回一個表;在程序設(shè)計語言中流返回一個表;在程序設(shè)計語言中流通單位是變量。把單元映射到變量,通單位是變量。把單元映射到變量,反之亦然。這樣說明性風(fēng)格和過程反之亦然。這樣說明性風(fēng)格和過程性風(fēng)格之間,應(yīng)用語言類型系統(tǒng)和性風(fēng)格之間,應(yīng)用語言類型系統(tǒng)和數(shù)據(jù)庫之間的阻抗失配。數(shù)據(jù)庫之間的阻抗失配。連接連接操作操作不需要連接操作

9、,對象作為一個連不需要連接操作,對象作為一個連貫的整體而存儲;結(jié)構(gòu)被直接的存貫的整體而存儲;結(jié)構(gòu)被直接的存儲,應(yīng)用依據(jù)對象到對象指針,而儲,應(yīng)用依據(jù)對象到對象指針,而不用執(zhí)行連接操作。不用執(zhí)行連接操作。在關(guān)系環(huán)境中,一個應(yīng)用程序在運在關(guān)系環(huán)境中,一個應(yīng)用程序在運行期從分離的表中導(dǎo)出數(shù)據(jù)庫的結(jié)行期從分離的表中導(dǎo)出數(shù)據(jù)庫的結(jié)構(gòu),要記錄類型之間的連接。構(gòu),要記錄類型之間的連接。類型類型有用戶自定義類型有用戶自定義類型有一套有限的原始類型:整型,貨有一套有限的原始類型:整型,貨幣型,日期型幣型,日期型, ,文本型文本型, ,二進(jìn)制型。二進(jìn)制型。約束約束完整性約束可涉及到實例完整性約束可涉及到實例只能表

10、達(dá)實體約束只能表達(dá)實體約束( (1) 1) 面向?qū)ο髷?shù)據(jù)庫與關(guān)系數(shù)據(jù)庫的對比面向?qū)ο髷?shù)據(jù)庫與關(guān)系數(shù)據(jù)庫的對比9l檢索和更新的性能極大提高。檢索和更新的性能極大提高。l表達(dá)的語義更豐富。表達(dá)的語義更豐富。l支持動態(tài)模式演變。支持動態(tài)模式演變。l維護(hù)與應(yīng)用的完整性。維護(hù)與應(yīng)用的完整性。l為處理復(fù)雜對象和關(guān)系,提供了好的性能,占用磁盤為處理復(fù)雜對象和關(guān)系,提供了好的性能,占用磁盤空間少。空間少。l提供了特定查詢,早期類型檢查的可能性。提供了特定查詢,早期類型檢查的可能性。l自動版本控制,已成為新的分布式計算方法的基礎(chǔ)。自動版本控制,已成為新的分布式計算方法的基礎(chǔ)。l可重用和擴展性??芍赜煤蛿U展性。l

11、提供更好的查詢導(dǎo)航控制。提供更好的查詢導(dǎo)航控制。( (2) 2) 面向?qū)ο髷?shù)據(jù)庫的好處面向?qū)ο髷?shù)據(jù)庫的好處10( (3) 3) 面向?qū)ο髷?shù)據(jù)庫存在問題面向?qū)ο髷?shù)據(jù)庫存在問題v 不存在一個可以被廣泛接受的面向?qū)ο蟮臄?shù)據(jù)類型。不存在一個可以被廣泛接受的面向?qū)ο蟮臄?shù)據(jù)類型。v 對象標(biāo)識在理論上是好的,但在實際中對象并不總是對象標(biāo)識在理論上是好的,但在實際中對象并不總是具有可訪問的唯一標(biāo)識符。具有可訪問的唯一標(biāo)識符。v 關(guān)系類型建模困難,組合操作也困難。關(guān)系類型建模困難,組合操作也困難。v 不同的數(shù)據(jù)庫和語言產(chǎn)品支持各種不同的多重繼承版不同的數(shù)據(jù)庫和語言產(chǎn)品支持各種不同的多重繼承版本。本。11( (4

12、) 4) 已有的面向?qū)ο髷?shù)據(jù)庫已有的面向?qū)ο髷?shù)據(jù)庫v GemstoreGemstore (Maier and Stein,1987Maier and Stein,1987,BretlBretl et.al.1989 et.al.1989)v VersantVersant是是Versant object TechnologyVersant object Technology公司產(chǎn)品。公司產(chǎn)品。v ObjectStoreObjectStore 把它看成把它看成C+C+的一種持久化擴展。的一種持久化擴展。 19971997年加入了一種本地年加入了一種本地JavaJava接口。接口。 12例:一個面向

13、對象數(shù)據(jù)庫的設(shè)計樣式例:一個面向?qū)ο髷?shù)據(jù)庫的設(shè)計樣式 數(shù)據(jù)庫根數(shù)據(jù)庫根(database root)(database root)persistentpersistentpersonpersonDB rootDB rootcontainercontainerpersistentpersistentHobbyHobbyDB rootDB rootcontainercontainerpersistentpersistentpersonpersonDB rootDB rootcontainercontainerpersistentpersistentHobbyHobby1 1* *personspe

14、rsons1 1* *hobbieshobbies1 1* *personspersons1 1* *hobbieshobbies1 1* *1 1* *或或圖圖4-95 4-95 數(shù)據(jù)庫根數(shù)據(jù)庫根13數(shù)據(jù)庫根類數(shù)據(jù)庫根類 DB Root DB Root 的詳細(xì)設(shè)計的詳細(xì)設(shè)計:DB Root /DB Root /數(shù)據(jù)庫根數(shù)據(jù)庫根PersonPerson:personspersons* * constructorconstructor/構(gòu)造程序構(gòu)造程序DB Root()DB Root() get & query operationget & query operation/獲取和

15、查詢操作獲取和查詢操作getPerson():persongetPerson():person * * getPerson(name:string):persongetPerson(name:string):persongetPersonCount():IntegergetPersonCount():Integercontains(person:person):Booleancontains(person:person):Boolean editingediting/編輯修改編輯修改addPerson(person:person):personaddPerson(person:person):

16、personremovePerson(name:stringremovePerson(name:string) )removePerson(person:personremovePerson(person:person) )removeAllPersonsremoveAllPersons()()14更新持久對象步驟:更新持久對象步驟: initialize() /initialize() /調(diào)用起始程序(通過應(yīng)用程序界面,調(diào)用起始程序(通過應(yīng)用程序界面, 初始化初始化DBMSDBMS) opendatabase(“DBopendatabase(“DB-filename”) /-filename

17、”) /打開數(shù)據(jù)庫打開數(shù)據(jù)庫 beginUpdateTransactionbeginUpdateTransaction() /() /開始一項事項開始一項事項 /提取數(shù)據(jù)庫根,再按人名檢索人的對象提取數(shù)據(jù)庫根,再按人名檢索人的對象 dbRootdbRoot = =getDBrootgetDBroot(“DB(“DB-root-name”)-root-name”) Person = dbRoot. Person = dbRoot.getPersongetPerson(“name(“name”)”) /調(diào)用運算調(diào)用運算 Person.changeName(“newPerson.changeName

18、(“new name”) / name”) /改人名字改人名字 commitTransactioncommitTransaction() /() /結(jié)束事項結(jié)束事項 closeDatabasecloseDatabase() /() /關(guān)閉數(shù)據(jù)庫關(guān)閉數(shù)據(jù)庫154.5.3 4.5.3 對象關(guān)系數(shù)據(jù)庫模型對象關(guān)系數(shù)據(jù)庫模型 (Object-relational Database Model)(Object-relational Database Model)u對象關(guān)系數(shù)據(jù)庫對象關(guān)系數(shù)據(jù)庫(ORDB)(ORDB)合并了老式關(guān)系模型和新式合并了老式關(guān)系模型和新式對象模型。對象模型。 u對象關(guān)系數(shù)據(jù)庫管理

19、系統(tǒng)對象關(guān)系數(shù)據(jù)庫管理系統(tǒng)(Object-relational (Object-relational Database Management System, ORDBMS)Database Management System, ORDBMS)既能處理既能處理關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系數(shù)據(jù)結(jié)構(gòu)( (關(guān)系表關(guān)系表) )又能處理對象數(shù)據(jù)結(jié)構(gòu)又能處理對象數(shù)據(jù)結(jié)構(gòu)( (對對象表象表) )。uORDBORDB標(biāo)準(zhǔn)由標(biāo)準(zhǔn)由ANSIANSI和和ISOISO共同制訂,稱作共同制訂,稱作SQLSQL:19991999,每隔三年修訂一次。每隔三年修訂一次。ORDBORDB模型與關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)模型與關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)SQL92SQ

20、L92兼容。兼容。 16l過去的二十多年,關(guān)系數(shù)據(jù)庫模型己征服了軟件市場,過去的二十多年,關(guān)系數(shù)據(jù)庫模型己征服了軟件市場,取代了分層數(shù)據(jù)庫和網(wǎng)狀數(shù)據(jù)庫。取代了分層數(shù)據(jù)庫和網(wǎng)狀數(shù)據(jù)庫。l未來不屬于未來不屬于RDBRDB模型,傳統(tǒng)的模型,傳統(tǒng)的RDBMSRDBMS廠商如廠商如OracleOracle、IBMIBM、InformixInformix,已經(jīng)提供了具有影響力的產(chǎn)品。但由于商業(yè),已經(jīng)提供了具有影響力的產(chǎn)品。但由于商業(yè)慣性,使得大型系統(tǒng)過渡到慣性,使得大型系統(tǒng)過渡到ORDBORDB或或ODBODB技術(shù)還需要十幾技術(shù)還需要十幾年的時間。年的時間。4.5.4 4.5.4 關(guān)系數(shù)據(jù)庫模型關(guān)系數(shù)據(jù)庫

21、模型 (Relational Database Model)(Relational Database Model)17lDBMSDBMS是數(shù)據(jù)庫系統(tǒng)軟件的核心,它是用戶的應(yīng)用程序是數(shù)據(jù)庫系統(tǒng)軟件的核心,它是用戶的應(yīng)用程序和物理數(shù)據(jù)庫之間的橋梁。用戶對數(shù)據(jù)的一切操作都和物理數(shù)據(jù)庫之間的橋梁。用戶對數(shù)據(jù)的一切操作都是在是在DBMSDBMS的指揮、調(diào)度、控制下進(jìn)行的,而且只能借的指揮、調(diào)度、控制下進(jìn)行的,而且只能借于于DBMSDBMS實現(xiàn)。實現(xiàn)。lDBMSDBMS同時要保證數(shù)據(jù)的安全性、可靠性、完整性和一同時要保證數(shù)據(jù)的安全性、可靠性、完整性和一致性。其主要功能包括:數(shù)據(jù)字典管理、數(shù)據(jù)存儲管致性。其

22、主要功能包括:數(shù)據(jù)字典管理、數(shù)據(jù)存儲管理、數(shù)據(jù)轉(zhuǎn)換和表示、安全性管理、多用戶訪問控制、理、數(shù)據(jù)轉(zhuǎn)換和表示、安全性管理、多用戶訪問控制、備份和恢復(fù)管理、數(shù)據(jù)完整性管理、數(shù)據(jù)訪問語言和備份和恢復(fù)管理、數(shù)據(jù)完整性管理、數(shù)據(jù)訪問語言和應(yīng)用程序編程接口、數(shù)據(jù)庫通信接口等。應(yīng)用程序編程接口、數(shù)據(jù)庫通信接口等。數(shù)據(jù)庫管理系統(tǒng)(數(shù)據(jù)庫管理系統(tǒng)(DBMSDBMS):):18 OraclOracle eOracle Oracle 是以高級結(jié)構(gòu)化查詢語言是以高級結(jié)構(gòu)化查詢語言(SQL)(SQL)為基礎(chǔ)的大型關(guān)為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫,通俗地講它是用方便邏輯管理的語言操縱大系數(shù)據(jù)庫,通俗地講它是用方便邏輯管理的語言操縱

23、大量有規(guī)律數(shù)據(jù)的集合。是目前最流行的客戶量有規(guī)律數(shù)據(jù)的集合。是目前最流行的客戶/ /服務(wù)器體系服務(wù)器體系結(jié)構(gòu)的數(shù)據(jù)庫之一,也是目前世界上最流行的大型關(guān)系結(jié)構(gòu)的數(shù)據(jù)庫之一,也是目前世界上最流行的大型關(guān)系數(shù)據(jù)庫管理系統(tǒng)。具有移植性好,使用方便,性能強大數(shù)據(jù)庫管理系統(tǒng)。具有移植性好,使用方便,性能強大等特點,適合于各類大、中、小、微機和專用服務(wù)器環(huán)等特點,適合于各類大、中、小、微機和專用服務(wù)器環(huán)境。境。 商用關(guān)系數(shù)據(jù)庫管理系統(tǒng)商用關(guān)系數(shù)據(jù)庫管理系統(tǒng) 19l19771977年,年,Larry Ellison Larry Ellison 等人共同創(chuàng)建了一家軟件公等人共同創(chuàng)建了一家軟件公司,開發(fā)關(guān)系型數(shù)據(jù)

24、庫。司,開發(fā)關(guān)系型數(shù)據(jù)庫。l19791979年開發(fā)出世界上第一款商業(yè)關(guān)系型數(shù)據(jù)庫,命名年開發(fā)出世界上第一款商業(yè)關(guān)系型數(shù)據(jù)庫,命名為為OracleOracle。l19801980年,推出了年,推出了Oracle 3Oracle 3(用(用C C語言編寫)。語言編寫)。 l19821982年公司正式更名為年公司正式更名為OracleOracle。l19921992年,年,Oracle 7 Oracle 7 推出推出( (基于基于Unix)Unix)。商用關(guān)系數(shù)據(jù)庫管理系統(tǒng)商用關(guān)系數(shù)據(jù)庫管理系統(tǒng) 20l19991999年,推出以年,推出以O(shè)racle 8iOracle 8i為核心的第一個支持為核心的

25、第一個支持InternetInternet的全套解決方案的全套解決方案( (基于基于Java)Java)。l20012001年,推出年,推出Oracle 9iOracle 9i。在集群技術(shù)、安全性等方。在集群技術(shù)、安全性等方面有了新的突破。面有了新的突破。l20042004年,在網(wǎng)格計算潮流中推出了年,在網(wǎng)格計算潮流中推出了Oracle 10gOracle 10g。l20072007年,推出年,推出Oracle 11gOracle 11g。在支持。在支持XMLXML方面的功能得方面的功能得到了擴展和增強。到了擴展和增強。 商用關(guān)系數(shù)據(jù)庫管理系統(tǒng)商用關(guān)系數(shù)據(jù)庫管理系統(tǒng) 21 SQL Server

26、SQL Server lSQL ServerSQL Server是是MicrosoftMicrosoft公司推出的適用于大型網(wǎng)絡(luò)環(huán)境公司推出的適用于大型網(wǎng)絡(luò)環(huán)境的數(shù)據(jù)庫產(chǎn)品,一經(jīng)推出,就得到了廣大用戶的積極響的數(shù)據(jù)庫產(chǎn)品,一經(jīng)推出,就得到了廣大用戶的積極響應(yīng)并迅速占領(lǐng)了應(yīng)并迅速占領(lǐng)了NTNT環(huán)境下的數(shù)據(jù)庫領(lǐng)域,成為數(shù)據(jù)庫市環(huán)境下的數(shù)據(jù)庫領(lǐng)域,成為數(shù)據(jù)庫市場上一個重要產(chǎn)品。場上一個重要產(chǎn)品。lSQL Server 2000SQL Server 2000是一種典型的具有客戶是一種典型的具有客戶/ /服務(wù)器體系結(jié)服務(wù)器體系結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫管理系統(tǒng),它使用構(gòu)的關(guān)系數(shù)據(jù)庫管理系統(tǒng),它使用Transact

27、-SQLTransact-SQL語句在語句在服務(wù)器和客戶機之間傳送請求和回應(yīng)。服務(wù)器和客戶機之間傳送請求和回應(yīng)。商用關(guān)系數(shù)據(jù)庫管理系統(tǒng)商用關(guān)系數(shù)據(jù)庫管理系統(tǒng) 22lSOL Server 2000SOL Server 2000支持大規(guī)模聯(lián)機事務(wù)處理、數(shù)據(jù)倉庫、支持大規(guī)模聯(lián)機事務(wù)處理、數(shù)據(jù)倉庫、數(shù)據(jù)挖掘和電子商務(wù)等應(yīng)用。數(shù)據(jù)挖掘和電子商務(wù)等應(yīng)用。SOL Server 2000 SOL Server 2000 的出的出現(xiàn)極大地推動了數(shù)據(jù)庫的應(yīng)用和普及,無論在功能上,現(xiàn)極大地推動了數(shù)據(jù)庫的應(yīng)用和普及,無論在功能上,還是在安全性、可維護(hù)性和易操作性上都較以前版本還是在安全性、可維護(hù)性和易操作性上都較以前

28、版本有了很大提高。有了很大提高。lSQL Server 2008SQL Server 2008簡體中文版于簡體中文版于20082008年年1010月已在中國正月已在中國正式上市。相較于此前的版本,式上市。相較于此前的版本,SQL Server 2008SQL Server 2008有許多有許多新特性和功能,如支持基于策略的管理、審計、大型新特性和功能,如支持基于策略的管理、審計、大型數(shù)據(jù)倉庫、地理信息數(shù)據(jù),以及報表和分析服務(wù),能數(shù)據(jù)倉庫、地理信息數(shù)據(jù),以及報表和分析服務(wù),能夠為客戶的關(guān)鍵業(yè)務(wù)應(yīng)用提供可信賴、高效和智能化夠為客戶的關(guān)鍵業(yè)務(wù)應(yīng)用提供可信賴、高效和智能化的數(shù)據(jù)管理分析平臺。的數(shù)據(jù)管理

29、分析平臺。商用關(guān)系數(shù)據(jù)庫管理系統(tǒng)商用關(guān)系數(shù)據(jù)庫管理系統(tǒng) 23l在現(xiàn)今數(shù)據(jù)化的世界里,企業(yè)需要定位其主要數(shù)據(jù)趨在現(xiàn)今數(shù)據(jù)化的世界里,企業(yè)需要定位其主要數(shù)據(jù)趨勢的遠(yuǎn)景,不能因為低估了數(shù)據(jù)發(fā)展需求而導(dǎo)致在以勢的遠(yuǎn)景,不能因為低估了數(shù)據(jù)發(fā)展需求而導(dǎo)致在以后的系統(tǒng)升級中產(chǎn)生麻煩。目前涌現(xiàn)出的眾多新的信后的系統(tǒng)升級中產(chǎn)生麻煩。目前涌現(xiàn)出的眾多新的信息類型(比如圖片和視頻數(shù)字化等),提出了更大的息類型(比如圖片和視頻數(shù)字化等),提出了更大的信息存儲需求(進(jìn)而產(chǎn)生了數(shù)據(jù)中心、云計算等概信息存儲需求(進(jìn)而產(chǎn)生了數(shù)據(jù)中心、云計算等概念),企業(yè)需要一套強大的數(shù)據(jù)產(chǎn)品支撐。念),企業(yè)需要一套強大的數(shù)據(jù)產(chǎn)品支撐。 商用

30、關(guān)系數(shù)據(jù)庫管理系統(tǒng)商用關(guān)系數(shù)據(jù)庫管理系統(tǒng) 24 DB2DB2lDB2DB2是是IBMIBM公司開發(fā)的關(guān)系數(shù)據(jù)庫管理系統(tǒng),它有多種公司開發(fā)的關(guān)系數(shù)據(jù)庫管理系統(tǒng),它有多種不同的版本,如:不同的版本,如:DB2DB2工作組版、工作組版、DB2DB2企業(yè)版、企業(yè)版、DB2DB2個人個人版和版和DB2DB2企業(yè)擴展版(企業(yè)擴展版(DB2 Enterprise-ExendedDB2 Enterprise-Exended EditionEdition)等。這些產(chǎn)品基本的數(shù)據(jù)管理功能是一樣的,)等。這些產(chǎn)品基本的數(shù)據(jù)管理功能是一樣的,區(qū)別在于支持遠(yuǎn)程客戶能力和分布式處理能力。區(qū)別在于支持遠(yuǎn)程客戶能力和分布式處

31、理能力。 lDB2DB2可運行在可運行在OS/2OS/2、Windows NTWindows NT、UNIXUNIX操作系統(tǒng)上,將操作系統(tǒng)上,將運行在這些平臺上的運行在這些平臺上的DB2DB2產(chǎn)品統(tǒng)稱為產(chǎn)品統(tǒng)稱為DB2DB2通用數(shù)據(jù)庫。通用數(shù)據(jù)庫。商用關(guān)系數(shù)據(jù)庫管理系統(tǒng)商用關(guān)系數(shù)據(jù)庫管理系統(tǒng) 25 InformixInformixlInformixInformix在在19801980年成立,目的是為年成立,目的是為UnixUnix等開放操作系統(tǒng)等開放操作系統(tǒng)提供專業(yè)的關(guān)系型數(shù)據(jù)庫產(chǎn)品。公司的名稱提供專業(yè)的關(guān)系型數(shù)據(jù)庫產(chǎn)品。公司的名稱InformixInformix便便是取自是取自Informa

32、tionInformation和和UnixUnix的結(jié)合。的結(jié)合。lInformixInformix第一個真正支持第一個真正支持SQLSQL語言的關(guān)系數(shù)據(jù)庫產(chǎn)品是語言的關(guān)系數(shù)據(jù)庫產(chǎn)品是Informix SEInformix SE(Standard EngineStandard Engine)。)。Informix SEInformix SE的特點的特點是簡單、輕便、適應(yīng)性強。它的裝機量非常之大,尤其是簡單、輕便、適應(yīng)性強。它的裝機量非常之大,尤其是在當(dāng)時的微機是在當(dāng)時的微機UnixUnix環(huán)境下,成為主要的數(shù)據(jù)庫產(chǎn)品。環(huán)境下,成為主要的數(shù)據(jù)庫產(chǎn)品。它也是第一個被移植到它也是第一個被移植到Lin

33、uxLinux上的商業(yè)數(shù)據(jù)庫產(chǎn)品。上的商業(yè)數(shù)據(jù)庫產(chǎn)品。 商用關(guān)系數(shù)據(jù)庫管理系統(tǒng)商用關(guān)系數(shù)據(jù)庫管理系統(tǒng) 26 SybaseSybaselSybaseSybase是美國是美國SybaseSybase公司在公司在8080年代中期推出的年代中期推出的C/SC/S結(jié)構(gòu)結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫系統(tǒng),也是世界上第一個真正的基于的關(guān)系數(shù)據(jù)庫系統(tǒng),也是世界上第一個真正的基于Client/ServerClient/Server結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。lSybaseSybase軟件可劃分為三個部分:一是進(jìn)行數(shù)據(jù)管理與維軟件可劃分為三個部分:一是進(jìn)行數(shù)據(jù)管理與維護(hù)的聯(lián)機關(guān)系數(shù)據(jù)庫管理系統(tǒng)護(hù)的聯(lián)機關(guān)

34、系數(shù)據(jù)庫管理系統(tǒng)Sybase SQL ServerSybase SQL Server;二;二是支持?jǐn)?shù)據(jù)庫應(yīng)用系統(tǒng)的建立和開發(fā)的一組前端工具軟是支持?jǐn)?shù)據(jù)庫應(yīng)用系統(tǒng)的建立和開發(fā)的一組前端工具軟件件Sybase SQL ToolsSybase SQL Tools;三是可把異構(gòu)環(huán)境下其他廠商的;三是可把異構(gòu)環(huán)境下其他廠商的應(yīng)用軟件和任何類型的數(shù)據(jù)連接在一起的接口軟件應(yīng)用軟件和任何類型的數(shù)據(jù)連接在一起的接口軟件Open Open Client/Open ServerClient/Open Server。商用關(guān)系數(shù)據(jù)庫管理系統(tǒng)商用關(guān)系數(shù)據(jù)庫管理系統(tǒng) 27l8080年代:年代:FoxBASEFoxBASE開

35、始普及,開始普及,OracleOracle、InformixInformix、SybaseSybase等大型數(shù)據(jù)庫系統(tǒng)開始引進(jìn);等大型數(shù)據(jù)庫系統(tǒng)開始引進(jìn);l9090年代:年代: OracleOracle、InformixInformix、SybaseSybase、SQL ServerSQL Server、DB2DB2等開始應(yīng)用;等開始應(yīng)用;l20002000年之后,開始應(yīng)用年之后,開始應(yīng)用KDDKDD(knowledge Discovery in knowledge Discovery in DatabasesDatabases)技術(shù),建立數(shù)據(jù)中心。)技術(shù),建立數(shù)據(jù)中心。l國產(chǎn)數(shù)據(jù)庫系統(tǒng):國產(chǎn)

36、數(shù)據(jù)庫系統(tǒng):達(dá)夢,人大金倉達(dá)夢,人大金倉。數(shù)據(jù)庫技術(shù)在中國的發(fā)展數(shù)據(jù)庫技術(shù)在中國的發(fā)展28( (1) RDB1) RDB建模原語建模原語l與與ODBODB和和ORDBORDB模型相比,模型相比,RDBRDB不支持的內(nèi)容:不支持的內(nèi)容:對象類型和相關(guān)概念對象類型和相關(guān)概念( (如繼承和方法如繼承和方法) ); 結(jié)構(gòu)化類型;結(jié)構(gòu)化類型;集;集;引用;引用;表間的用戶可見導(dǎo)航連接表間的用戶可見導(dǎo)航連接, ,表間關(guān)系通過比較列值表間關(guān)系通過比較列值來維持來維持, ,無持久性的連接。無持久性的連接。l關(guān)系數(shù)據(jù)庫將數(shù)據(jù)存儲在由行和列組成的表中。關(guān)系數(shù)據(jù)庫將數(shù)據(jù)存儲在由行和列組成的表中。l列具有原子域列具有

37、原子域( (數(shù)據(jù)類型數(shù)據(jù)類型) )。 29( (2) 2) 對象存儲到關(guān)系數(shù)據(jù)庫的兩種方法對象存儲到關(guān)系數(shù)據(jù)庫的兩種方法n對象應(yīng)用圍繞關(guān)系數(shù)據(jù)庫來建立,每一個對象要對象應(yīng)用圍繞關(guān)系數(shù)據(jù)庫來建立,每一個對象要懂得怎樣存放和提取數(shù)據(jù)。懂得怎樣存放和提取數(shù)據(jù)。 把面向?qū)ο髴?yīng)用移到關(guān)系數(shù)據(jù)庫中實施把面向?qū)ο髴?yīng)用移到關(guān)系數(shù)據(jù)庫中實施, ,用關(guān)系表格用關(guān)系表格來模擬對象。來模擬對象。 n應(yīng)用程序與數(shù)據(jù)庫存儲分開應(yīng)用程序與數(shù)據(jù)庫存儲分開, ,便于管理和演變。便于管理和演變。每一個類額外編程每一個類額外編程, ,對于復(fù)雜對象就困難。對于復(fù)雜對象就困難。n關(guān)系數(shù)據(jù)庫只有有限的數(shù)據(jù)類型,繼承、引址等關(guān)系數(shù)據(jù)庫只有

38、有限的數(shù)據(jù)類型,繼承、引址等不能在關(guān)系數(shù)據(jù)庫中直接使用不能在關(guān)系數(shù)據(jù)庫中直接使用, ,實施起來更困難。實施起來更困難。 把對象映射把對象映射(mapping)(mapping)到關(guān)系表到關(guān)系表30( (3) 3) 將對象類映射到表將對象類映射到表 personpersonNameNameaddressaddressAttribute NameAttribute NamePerson_IDPerson_IDPerson_namePerson_nameaddressaddressnullsnullsN NN NY YDomainDomainIDIDnamenameaddressaddressObj

39、ectObjectModelModelTableTableModelModelSQLSQLCodeCodeCandidate Key:Candidate Key:(person_ID(person_ID) )Primary Key:(person_IDPrimary Key:(person_ID) )Frequently accessed:(person_ID)(person_nameFrequently accessed:(person_ID)(person_name) )圖圖4-96 4-96 對象類映射到表對象類映射到表把每一個類映射到一張表或多張表。把每一個類映射到一張表或多張表。31

40、CREATE TABLE PersonCREATE TABLE Person( person_ID ID notnull( person_ID ID notnull person_name char(30) notnull person_name char(30) notnull address char(30) address char(30) PRIMARY KEY Person_ID PRIMARY KEY Person_ID););CREATE SECONDARY INDEX CREATE SECONDARY INDEX Person_index_name Person_index_n

41、ameON Person(person_name);ON Person(person_name); “ “一類一表一類一表”, ,表格的列或字段對應(yīng)類的屬性行或記錄表格的列或字段對應(yīng)類的屬性行或記錄對應(yīng)類的實例。對應(yīng)類的實例。32( (4) 4) 將關(guān)聯(lián)關(guān)系映射到表將關(guān)聯(lián)關(guān)系映射到表 一對一的關(guān)聯(lián)映射到表一對一的關(guān)聯(lián)映射到表實現(xiàn)方法實現(xiàn)方法兩個對象及其關(guān)聯(lián)映射到一張表兩個對象及其關(guān)聯(lián)映射到一張表兩個對象及關(guān)聯(lián)分別映射到三張表兩個對象及關(guān)聯(lián)分別映射到三張表Company1Company1Company1 nameCompany1 nameaddress1address1Company2Compa

42、ny2Company2 nameCompany2 nameaddress2address2如:對象模型如:對象模型33Attribute NameAttribute NameCompany1 nameCompany1 nameaddress1address1Company2 nameCompany2 nameaddress2address2nullsnullsN NN NN NN NDomainDomainCharCharCharCharCharCharcharcharAttribute NameAttribute NameCompany1name Company1name address1a

43、ddress1nullsnullsN NN NDomainDomainCharCharCharCharAttribute NameAttribute NameCompany2 name Company2 name adedress2adedress2nullsnullsN NN NDomainDomainCharCharCharCharAttribute NameAttribute NameCompany1 name Company1 name Company2 nameCompany2 namenullsnullsN NN NDomainDomainCharCharCharChar只映射到一

44、張表只映射到一張表分別映射到三張表分別映射到三張表圖圖4-97 4-97 一對一的關(guān)聯(lián)映射到表一對一的關(guān)聯(lián)映射到表34 一對多的關(guān)聯(lián)映射到表一對多的關(guān)聯(lián)映射到表實現(xiàn)實現(xiàn)方法方法分別建立一個和多個對象的兩個表分別建立一個和多個對象的兩個表關(guān)聯(lián)關(guān)聯(lián)為其關(guān)聯(lián)建立一張獨立的表為其關(guān)聯(lián)建立一張獨立的表在在“多表多表”中插入一個外鍵,建立關(guān)聯(lián)中插入一個外鍵,建立關(guān)聯(lián)CompanyCompanyCompany nameCompany nameaddressaddresspersonpersonPerson namePerson nameaddressaddress如:對象模型如:對象模型Works-forW

45、orks-for1 1* *Job titleJob title圖圖4-98 4-98 對象模型對象模型35Attribute NameAttribute NamePerson_IDPerson_IDPerson_namePerson_name addressaddressnullsnullsN NN NN NDomainDomainCharCharCharCharcharchar多對象類表多對象類表獨立的關(guān)聯(lián)表獨立的關(guān)聯(lián)表Attribute NameAttribute NameCompany _nameCompany _namePerson_IDPerson_IDJob titleJob t

46、itlenullsnullsN NN NY YDomainDomainCharCharIntegerIntegerstringstringAttribute NameAttribute NameCompany_nameCompany_nameaddressaddressnullsnullsN NN NDomainDomainCharCharCharChar一個對象類表一個對象類表Attribute NameAttribute NamePerson_IDPerson_IDPerson_namePerson_nameAddressAddressCompany_nameCompany_nameJob

47、 titleJob titlenullsnullsN NN NN NN NY YDomainDomainIDIDCharCharCharCharCharCharStringString圖圖4-99 4-99 一對多的關(guān)聯(lián)映射到表一對多的關(guān)聯(lián)映射到表在在“多表多表”中插入一個外鍵建立關(guān)中插入一個外鍵建立關(guān)聯(lián)聯(lián)獨立的關(guān)聯(lián)表獨立的關(guān)聯(lián)表36 多對多的關(guān)聯(lián)映射到表多對多的關(guān)聯(lián)映射到表實現(xiàn)實現(xiàn)方法方法分別建立兩個分別建立兩個“多多”的對象表的對象表為關(guān)聯(lián)建立一張表為關(guān)聯(lián)建立一張表Attribute NameAttribute NameCompany_nameCompany_namePerson_IDPe

48、rson_ID Number of sharesNumber of sharesnullsnullsN NN NY YDomainDomainCharCharIntegerIntegerIntegerInteger關(guān)聯(lián)映射到表關(guān)聯(lián)映射到表如:對象模型如:對象模型CompanyCompanyCompany _nameCompany _nameaddressaddresspersonpersonPerson_ IDPerson_ IDaddressaddress* * *NumberNumberOf sharesOf shares圖圖4-100 4-100 多對多的關(guān)聯(lián)映射到表多對多的關(guān)聯(lián)映射到表

49、37 將聚合關(guān)系映射到表將聚合關(guān)系映射到表實現(xiàn)實現(xiàn)方法方法建立建立“整體整體”表表建立建立“部分部分”表,其關(guān)鍵字是兩個表關(guān)鍵字的組合表,其關(guān)鍵字是兩個表關(guān)鍵字的組合Obj1-IDObj1-ID: :X X: :Y Y: :“整體整體”表表obj1Xyobj2ab對象模型對象模型obj1“部分部分”表表Obj1-IDObj1-ID: :X X: :Y Y: :Obj2-IDObj2-ID: :圖圖4-101 4-101 聚合關(guān)系映射到表聚合關(guān)系映射到表38例例1 1 實現(xiàn)多對多關(guān)聯(lián)實現(xiàn)多對多關(guān)聯(lián)圖圖4-102 4-102 在關(guān)系數(shù)據(jù)庫中實現(xiàn)多對多關(guān)系在關(guān)系數(shù)據(jù)庫中實現(xiàn)多對多關(guān)系position

50、positionID:char(5)primary key+Title:char(50)+SalaryMinimum:float+SalaryMaximum:float對象模型對象模型BenefitBenefitID:integerprimary key+Description:char(80)+Value:floatEmployeeEmployeeNo:char(5)primary key+Name:char(80)+Salary:float+StartData:Date+PositionID:CHAR(5)foreign keyTaskTaskID:integerprimary key+D

51、escription:char(256)+EmployeeNo:char(15)primary key0.*1.*offers1.*0.*has11Works at10.*Assigned to39圖圖4-103 4-103 引入關(guān)聯(lián)表引入關(guān)聯(lián)表Benefit, Employee關(guān)聯(lián)表關(guān)聯(lián)表BenefitBenefitID:integerprimary key+Description:char(80)+Value:floatEmployeeEmployeeNo:char(5)primary key+Name:char(80)+Salary:float+StartData:Date+Positi

52、onID:CHAR(5)foreign keyEmployee Benefitassociative tableEmployeeNo:char(5)primary keyBenefitID:Integerprimary key1.*110.*40例例2 2 將關(guān)聯(lián)、聚合關(guān)系映射到表將關(guān)聯(lián)、聚合關(guān)系映射到表對象模型對象模型顧客顧客1*顧客單據(jù)顧客單據(jù)單據(jù)表項單據(jù)表項貨幣單位類型貨幣單位類型*1顧客表顧客表Newyok Toronto Sanlose地址地址003 Smith 102002 Green101001 Sirnpson 100帳號帳號 名字名字顧客號顧客號100DM100bill13U

53、S$20billNLG50billUs$100bill 貨幣單位類型貨幣單位類型2012502110011外幣總外幣總額額表項號表項號單據(jù)號單據(jù)號單據(jù)表項表單據(jù)表項表圖圖4-104 4-104 將關(guān)聯(lián)、聚合關(guān)系映射到表將關(guān)聯(lián)、聚合關(guān)系映射到表: :完成完成102 4: :新建新建101 32004.3.1 369.00新建新建100 2 2004.2.1 540.00處理處理100 1日期日期 總金額總金額狀態(tài)狀態(tài)顧客號顧客號 單據(jù)號單據(jù)號顧客單據(jù)表顧客單據(jù)表0.711 價價 值值銀行銀行NLG50billGuilder銀行銀行Us$100billDollay銀行銀行Us$100billDol

54、lar1 描描 述述 貨幣單貨幣單 位類型位類型貨幣單貨幣單位名稱位名稱貨幣單位類型表貨幣單位類型表41以以“單繼承單繼承”映射到表為例映射到表為例( (5) 5) 將繼承關(guān)系映射到表將繼承關(guān)系映射到表v 只建立一個超類表的方法,該表包括超類的屬性,子只建立一個超類表的方法,該表包括超類的屬性,子類的全部屬性。類的全部屬性。v 為超類、子類分別建立獨立的表,但各表的主鍵要一為超類、子類分別建立獨立的表,但各表的主鍵要一致。致。v 為每個子類建立表,無超類表,但在每個子類表中都為每個子類建立表,無超類表,但在每個子類表中都要有超類的屬性。要有超類的屬性。 42例例1 1 單繼承對象模型單繼承對象

55、模型PersonNameNameStudentstudentNumberstudentNumberProfessorsalarysalary圖圖4-105 4-105 單繼承模型單繼承模型43ProfessorprofessorOIDprofessorOIDprimaryprimary key keyPerson namePerson namesalarysalaryStudentstudentOIDstudentOIDprimaryprimary key keyPerson namePerson namestudentNumberstudentNumber只建立子類的表只建立子類的表圖圖4-

56、106 4-106 單繼承關(guān)系映射表單繼承關(guān)系映射表PersonPersonOIDPersonOIDprimaryprimary key keynamenameStudentpersonOIDpersonOIDprimaryprimary key keyforeign keyforeign keystudentNumberstudentNumber建立超類、子類表建立超類、子類表ProfessorpersonOIDpersonOIDprimaryprimary key keyforeign keyforeign keysalarysalaryPersonpersonOIDpersonOIDpr

57、imaryprimary key keyobjectTypeobjectTypeNameNamestudentNumberstudentNumbersalarysalary只建立一個超類表只建立一個超類表44Personnamename例例2 2 多層繼承多層繼承對象模型對象模型StudentstudentnumberstudentnumberProfessorsalarysalaryTenuredProfessortenureAnniversarytenureAnniversary圖圖4-107 4-107 多層繼承模型多層繼承模型45ProfessorprofessorOIDprofess

58、orOIDprimaryprimary key keynamenamesalarysalaryStudentstudentOIDstudentOIDprimaryprimary key keynamenamestudentNumberstudentNumberTenuredProfessortenuredprofessorOIDtenuredprofessorOIDprimaryprimary key keyNameNameTenured Anniversary Tenured Anniversary 任期記念任期記念為每個子類建立表為每個子類建立表PersonpersonOIDpersonO

59、IDprimaryprimary key keyobjectTypeobjectTypeNameNamestudentNumberstudentNumberSalarySalarytenureAnniversarytenureAnniversary只建立一個超類表只建立一個超類表46圖圖4-108 4-108 多層繼承關(guān)系映射表多層繼承關(guān)系映射表為超類、各個子類分別建立表為超類、各個子類分別建立表TenuredProfessorPersonOIDPersonOIDprimaryprimary key keyforeign keyforeign keyTenured Anniversary Te

60、nured Anniversary 任期記念任期記念PersonpersonoIDpersonoIDprimaryprimary key keyNameNameStudentpersonOIDpersonOIDprimaryprimary key keyforeign keyforeign keystudentNumberstudentNumberProfessorpersonOIDpersonOIDprimaryprimary key keyforeign keyforeign keysalaryrsalaryr47例例1 1 將二元關(guān)聯(lián)映射到表將二元關(guān)聯(lián)映射到表 Suppliersupplier_IDsu

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論