Oracle程序員面試分類模擬1_第1頁(yè)
Oracle程序員面試分類模擬1_第2頁(yè)
Oracle程序員面試分類模擬1_第3頁(yè)
Oracle程序員面試分類模擬1_第4頁(yè)
Oracle程序員面試分類模擬1_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

Oracle程序員面試分類模擬1一、選擇題1.

下面系統(tǒng)中,不屬于關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)的是______。A.OracleB.SQLServerC.IMSD.DB2正確答案:C[解析]I(江南博哥)MS是IBM公司開發(fā)的一種層次數(shù)據(jù)庫(kù)。所以,本題的答案為C。

2.

從計(jì)算機(jī)軟件系統(tǒng)的構(gòu)成看,DBMS是建立在______之上的軟件系統(tǒng)。A.硬件系統(tǒng)B.操作系統(tǒng)C.語言處理系統(tǒng)D.編譯系統(tǒng)正確答案:B[解析]從計(jì)算機(jī)軟件系統(tǒng)的構(gòu)成看,DBMS是建立在操作系統(tǒng)之上的軟件系統(tǒng),是操作系統(tǒng)的用戶。所以,本題的答案為B。

3.

在關(guān)系數(shù)據(jù)庫(kù)中,用來表示實(shí)體之間聯(lián)系的是______。A.樹結(jié)構(gòu)B.網(wǎng)結(jié)構(gòu)C.線性表D.二維表正確答案:D[解析]在關(guān)系數(shù)據(jù)庫(kù)中用二維表來表示實(shí)體之間的聯(lián)系。可以把數(shù)據(jù)看成一個(gè)二維表,而每一個(gè)二維表稱為一個(gè)關(guān)系。所以,選項(xiàng)D正確。

4.

下列關(guān)于關(guān)系模型的術(shù)語中,所表達(dá)的概念與二維表中的“行”的概念最接近的術(shù)語是______。A.屬性B.關(guān)系C.域D.元組正確答案:D[解析]二維表中的“行”即關(guān)系模型中的“元組”,二維表中的“列”即關(guān)系模型中的“屬性”。所以,本題的答案為D。

5.

在一個(gè)關(guān)系R中,如果每個(gè)數(shù)據(jù)項(xiàng)都是不可再分割的,那么R一定屬于______。A.第一范式B.第二范式C.第三范式D.第四范式正確答案:A[解析]例如,帖子表中只能出現(xiàn)發(fā)帖人的ID,不能同時(shí)出現(xiàn)發(fā)帖人的ID與發(fā)帖人的姓名,否則,只要出現(xiàn)同一發(fā)帖人ID的所有記錄,它們中的姓名部分都必須嚴(yán)格保持一致,這就是數(shù)據(jù)冗余。

本題中,在一個(gè)關(guān)系R中,若每個(gè)數(shù)據(jù)項(xiàng)都是不可再分割的,那么根據(jù)前面的解析應(yīng)該屬于第一范式,所以,本題的答案為A。

6.

一個(gè)關(guān)系模式為Y(X1,X2,X3,X4),假定該關(guān)系存在著如下函數(shù)依賴:(X1,X2)→X3,X2→X4,則該關(guān)系屬于______。A.第一范式B.第二范式C.第三范式D.第四范式正確答案:A[解析]對(duì)于本題而言,這個(gè)關(guān)系模式的候選鍵為{X1,X2},因?yàn)閄2→X4,說明有非主屬性X4部分依賴于候選鍵{X1,X2},所以,這個(gè)關(guān)系模式不為第二范式。

7.

如果關(guān)系模式R所有屬性的值域中每一個(gè)值都不可再分解,并且R中每一個(gè)非主屬性完全函數(shù)依賴于R的某個(gè)候選鍵,則R屬于______。A.第一范式(INF)B.第二范式(2NF)C.第三范式(3NF)D.BCNF范式正確答案:B[解析]如果關(guān)系R中所有屬性的值域都是單純域,那么關(guān)系模式R是第一范式。符合第一范式的特點(diǎn)有:①有主關(guān)鍵字;②主鍵不能為空;③主鍵不能重復(fù);④字段不可以再分。如果關(guān)系模式R是第一范式的,而且關(guān)系中每一個(gè)非主屬性不部分依賴于主鍵,則稱關(guān)系模式R是第二范式的。很顯然,本題中的關(guān)系模式R滿足第二范式的定義。所以,選項(xiàng)B正確。

8.

有一個(gè)關(guān)系:學(xué)生(學(xué)號(hào),姓名,系別),規(guī)定學(xué)號(hào)的值域是8個(gè)數(shù)字組成的字符串,這一規(guī)則屬于______。A.實(shí)體完整性約束B.參照完整性約束C.用戶白定義完整性約束D.關(guān)鍵字完整性約束正確答案:C

二、簡(jiǎn)答題1.

為什么使用數(shù)據(jù)庫(kù)?正確答案:對(duì)于這個(gè)面試題,可以舉例回答。看如下的例子:

(1)京東網(wǎng)、淘寶網(wǎng)、天涯網(wǎng)、騰訊網(wǎng)等都有各自的功能,那么當(dāng)關(guān)閉系統(tǒng)后,用戶下次再訪問這些網(wǎng)站時(shí),為什么他/她們各自的信息還存在呢?

(2)基于C/S架構(gòu)的軟件,例如,網(wǎng)游的游戲積分和裝備、QQ的聊天記錄、三大運(yùn)營(yíng)商的電話號(hào)碼,它們又是怎樣保存數(shù)據(jù)的呢?

解決之道無非有兩種方式:①文件、②數(shù)據(jù)庫(kù)。雖然說文件可以保存數(shù)據(jù),可是如果使用文件保存數(shù)據(jù),那么存在以下幾個(gè)缺點(diǎn):①文件的安全性問題,一般的文件格式容易被黑客截取并獲取到其中的內(nèi)容。②文件不利于查詢和對(duì)數(shù)據(jù)的管理。③文件不利于存放海量數(shù)據(jù)。④文件在程序中控制不方便。

那么,為了解決上述問題,專家們?cè)O(shè)計(jì)出了一種更加有利于管理數(shù)據(jù)的方法——數(shù)據(jù)庫(kù)(本質(zhì)就是一個(gè)軟件),它能更有效地管理數(shù)據(jù),現(xiàn)如今對(duì)數(shù)據(jù)庫(kù)的理解程度也是衡量一個(gè)程序員水平高低的重要指標(biāo)。

2.

數(shù)據(jù)庫(kù)的常見分類有哪些?正確答案:數(shù)據(jù)庫(kù)可以按照存儲(chǔ)模型、關(guān)系型/非關(guān)系型來進(jìn)行分類,其分類如圖所示。

數(shù)據(jù)庫(kù)的總體分類圖

1.網(wǎng)狀數(shù)據(jù)庫(kù)、層次數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)若按照使用的數(shù)據(jù)存儲(chǔ)模型來劃分,則可以把數(shù)據(jù)庫(kù)分為網(wǎng)狀數(shù)據(jù)庫(kù)(NetworkDatabase)、關(guān)系型數(shù)據(jù)庫(kù)(RelationalDatabase)和層次數(shù)據(jù)庫(kù)(HierarchicalDatabase)。其中,商業(yè)中使用最廣泛的數(shù)據(jù)庫(kù)主要是關(guān)系型數(shù)據(jù)庫(kù),例如,Oracle、MySQL、DB2、SQLServer等。

網(wǎng)狀數(shù)據(jù)庫(kù)(NetworkDatabase)是指處理以記錄類型為節(jié)點(diǎn)的網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)庫(kù),處理方法是將網(wǎng)狀結(jié)構(gòu)分解成若干棵二級(jí)樹結(jié)構(gòu),稱為系,其代表是DBTG(DataBaseTaskGroup,數(shù)據(jù)庫(kù)任務(wù)組)系統(tǒng)。系類型是兩個(gè)或兩個(gè)以上的記錄類型之間聯(lián)系的一種描述。在一個(gè)系類型中,有一個(gè)記錄類型處于主導(dǎo)地位,稱為系主記錄類型,其他稱為成員記錄類型。系主和成員之間的聯(lián)系是一對(duì)多的關(guān)系。1969年美國(guó)的CODASYL組織提出了一份“DBTG報(bào)告”,以后,根據(jù)DBTG報(bào)告實(shí)現(xiàn)的系統(tǒng)一般稱為DBTG系統(tǒng)?,F(xiàn)有的網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)大都是采用DBTG方案。DBTG系統(tǒng)是典型的三級(jí)結(jié)構(gòu)體系:子模式、模式、存儲(chǔ)模式。相應(yīng)的數(shù)據(jù)定義語言分別稱為子模式定義語言SSDDL(SubSchemaDataDefinitionLanguage),模式定義語言SDDL(SchemaDataDefinitionLanguage),設(shè)備介質(zhì)控制語言DMCL(DeviceMediumControlLanguage),另外,還有數(shù)據(jù)操縱語言DML(DataManipulationLanguage)。

層次數(shù)據(jù)庫(kù)(HierarchicalDatabase)也稱為樹狀數(shù)據(jù)庫(kù),它是將數(shù)據(jù)組織成有向有序的樹結(jié)構(gòu),并用“一對(duì)多”的關(guān)系聯(lián)結(jié)不同層次的數(shù)據(jù)庫(kù)。最著名最典型的層次數(shù)據(jù)庫(kù)是IBM公司的IMS(InformationManagementSystem)數(shù)據(jù)庫(kù)。IMS是IBM公司研制的最早的大型數(shù)據(jù)庫(kù)管理系統(tǒng),其數(shù)據(jù)庫(kù)模式是多個(gè)物理數(shù)據(jù)庫(kù)記錄型(PDBR,PhysicalDataBaseRecord)的集合。每個(gè)PDBR對(duì)應(yīng)層次數(shù)據(jù)模型的一個(gè)層次模式。各個(gè)用戶所需數(shù)據(jù)的邏輯結(jié)構(gòu)稱為外模式,每個(gè)外模式是一組邏輯數(shù)據(jù)庫(kù)記錄型(LDBR,LogicalDataBaseRecord)的集合。LDBR是應(yīng)用程序所需的局部邏輯結(jié)構(gòu)。

2.關(guān)系型數(shù)據(jù)庫(kù)

RDBMS(RelationalDatabaseManagementSystem,關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng))是E.F.Codd博士在其發(fā)表的論文《大規(guī)模共享數(shù)據(jù)銀行的關(guān)系型模型》(CommunicationsoftheACM雜志1970年6月刊)基礎(chǔ)上設(shè)計(jì)出來的。關(guān)系型數(shù)據(jù)庫(kù)是將數(shù)據(jù)組織為相關(guān)的行和列的系統(tǒng),而管理關(guān)系型數(shù)據(jù)庫(kù)的計(jì)算機(jī)軟件就是RDBMS。它通過數(shù)據(jù)、關(guān)系和對(duì)數(shù)據(jù)的約束三者組成的數(shù)據(jù)模型來存放和管理數(shù)據(jù)。自關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)被提出以來,RDBMS獲得了長(zhǎng)足的發(fā)展,許多企業(yè)的在線交易處理系統(tǒng)、內(nèi)部財(cái)務(wù)系統(tǒng)、客戶管理系統(tǒng)等采用了RDBMS。

關(guān)系型數(shù)據(jù)庫(kù),顧名思義是建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫(kù),借助于集合代數(shù)等數(shù)學(xué)概念和方法來處理數(shù)據(jù)庫(kù)中的數(shù)據(jù)?,F(xiàn)實(shí)世界中的各種實(shí)體以及實(shí)體之間的各種聯(lián)系均用關(guān)系模型來表示。結(jié)構(gòu)化查詢語言(StructuredQueryLanguage,簡(jiǎn)稱SQL)就是一種基于關(guān)系型數(shù)據(jù)庫(kù)的語言,這種語言執(zhí)行對(duì)關(guān)系型數(shù)據(jù)庫(kù)中數(shù)據(jù)的檢索和操作。關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合、關(guān)系完整性約束三部分組成。截至2017年,業(yè)界普遍使用的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)產(chǎn)品有Oracle、MySQL、DB2以及SQLServer等。若按照大小來分類的話,則關(guān)系型數(shù)據(jù)庫(kù)可以簡(jiǎn)單分為如下幾類:①小型數(shù)據(jù)庫(kù):Access、foxbase。②中型數(shù)據(jù)庫(kù):MySQL、SQLServer、Informix。③大型數(shù)據(jù)庫(kù):Oracle、DB2。

RDBMS的特點(diǎn)如下:①數(shù)據(jù)以表格的形式出現(xiàn)。②每一行存儲(chǔ)著一條單獨(dú)的記錄。③每個(gè)列作為一條記錄的一個(gè)屬性而存在。④許多的行和列組成一張表。⑤若干的表組成數(shù)據(jù)庫(kù)。

3.內(nèi)存數(shù)據(jù)庫(kù)

內(nèi)存數(shù)據(jù)庫(kù),顧名思義就是將數(shù)據(jù)放在內(nèi)存中直接操作的數(shù)據(jù)庫(kù)。相對(duì)于磁盤,內(nèi)存的數(shù)據(jù)讀寫速度要高出幾個(gè)數(shù)量級(jí),將數(shù)據(jù)保存在內(nèi)存中相比從磁盤上訪問能夠極大地提高應(yīng)用的性能,典型的內(nèi)存數(shù)據(jù)庫(kù)有SQLite和TimesTen。SAP公司專門開發(fā)了一款大型的內(nèi)存數(shù)據(jù)庫(kù)HANA,并且在逐步占領(lǐng)市場(chǎng),而傳統(tǒng)的數(shù)據(jù)庫(kù)巨頭Oracle公司開發(fā)的TimesTen也是一款內(nèi)存數(shù)據(jù)庫(kù)??梢灶A(yù)見,內(nèi)存數(shù)據(jù)庫(kù)將會(huì)是未來的一個(gè)發(fā)展趨勢(shì)。

4.Oracle、MySQL、SQLServer

Oracle數(shù)據(jù)庫(kù),又名OracleRDBMS,或簡(jiǎn)稱Oracle,是甲骨文公司的一款關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。它是一款一直處于領(lǐng)先地位的數(shù)據(jù)庫(kù)領(lǐng)域產(chǎn)品??梢哉fOracle數(shù)據(jù)庫(kù)系統(tǒng)是目前世界上流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),系統(tǒng)可移植性好、使用方便、功能強(qiáng)大,適用于各類大、中、小、微機(jī)環(huán)境。它是一種高效率、可靠性好、適應(yīng)高吞吐量的數(shù)據(jù)庫(kù)解決方案。

MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQLAB公司開發(fā),目前屬于Oracle公司。MySQL是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在Web應(yīng)用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng))應(yīng)用軟件之一,廣泛地應(yīng)用于互聯(lián)網(wǎng)行業(yè)。

SQLServer(MicrosoftSQLServer,MSServer)是由Microsoft開發(fā)和推廣的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,并于1988年推出了第一個(gè)OS/2版本。SQLServer是一個(gè)全面的數(shù)據(jù)庫(kù)平臺(tái),使用集成的商業(yè)智能(BusinessIntelligence,簡(jiǎn)稱BI)工具提供了企業(yè)級(jí)的數(shù)據(jù)管理。SQLServer數(shù)據(jù)庫(kù)引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能,使用戶可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。SQLServer近年來不斷更新版本,目前最新的版本是SQLServer2016,并且微軟正在研發(fā)基于Linux版本的SQLServer,可見SQLServer在關(guān)系型數(shù)據(jù)庫(kù)中也占有一席之地。

常見的關(guān)系型數(shù)據(jù)庫(kù)的特點(diǎn)見表1。

5.非關(guān)系型數(shù)據(jù)庫(kù)

NoSQL(NotOnlySQL)泛指非關(guān)系型的數(shù)據(jù)庫(kù),即“不僅僅是SQL”。隨著Web2.0的興起,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)在應(yīng)付Web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的SNS(SocialNetworkSite,社交網(wǎng))類型的Web2.0純動(dòng)態(tài)網(wǎng)站時(shí)已經(jīng)顯得力不從心,暴露了很多難以克服的問題,而非關(guān)系型數(shù)據(jù)庫(kù)則由于其本身的特點(diǎn)得到了非常迅速的發(fā)展。NoSQL數(shù)據(jù)庫(kù)的產(chǎn)生就是為了解決大規(guī)模數(shù)據(jù)集合多重?cái)?shù)據(jù)種類帶來的挑戰(zhàn),尤其是大數(shù)據(jù)應(yīng)用難題。NoSQL的擁護(hù)者們提倡運(yùn)用非關(guān)系型的數(shù)據(jù)存儲(chǔ),相對(duì)于鋪天蓋地的關(guān)系型數(shù)據(jù)庫(kù)運(yùn)用,這一概念無疑是一種全新的思維的注入。

NoSQL數(shù)據(jù)庫(kù)大約有四大分類:鍵值(Key-Value)數(shù)據(jù)庫(kù)、列存儲(chǔ)數(shù)據(jù)庫(kù)、文檔型數(shù)據(jù)庫(kù)和圖形(Graph)數(shù)據(jù)庫(kù)。

1)對(duì)于鍵值(Key-Value)數(shù)據(jù)庫(kù),主要會(huì)使用到一個(gè)哈希表,這個(gè)表中有一個(gè)特定的鍵和一個(gè)指向特定數(shù)據(jù)的指針。Key-Value模型對(duì)于信息系統(tǒng)來說,其優(yōu)勢(shì)在于簡(jiǎn)單、易部署,但是如果只對(duì)部分值進(jìn)行查詢或更新,那么鍵值數(shù)據(jù)庫(kù)就顯得效率低下了。常見的鍵值數(shù)據(jù)庫(kù)有:Redis、LevelDB、RocksDB、RiakKV、OracleBerkeleyDB、Hazelcast、Ehcache、Memcached等。

2)對(duì)于列存儲(chǔ)數(shù)據(jù)庫(kù),通常是用來應(yīng)對(duì)分布式存儲(chǔ)的海量數(shù)據(jù),鍵仍然存在,但是它們的特點(diǎn)是鍵指向了多個(gè)列。常見的列存儲(chǔ)數(shù)據(jù)庫(kù)有:HBase、Cassandra、Accumulo、HyperTable等。

3)對(duì)于文檔型數(shù)據(jù)庫(kù),其靈感來自于LotusNotes辦公軟件,而且它與第一種鍵值存儲(chǔ)類似。這種類型的數(shù)據(jù)模型是版本化的文檔,半結(jié)構(gòu)化的文檔以特定的格式存儲(chǔ),例如JSON。文檔型數(shù)據(jù)庫(kù)可以看作是鍵值數(shù)據(jù)庫(kù)的升級(jí)版,允許它們之間嵌套鍵值,而且文檔型數(shù)據(jù)庫(kù)比鍵值數(shù)據(jù)庫(kù)的查詢效率更高。常見的文檔型數(shù)據(jù)庫(kù)有:CouchDB、MongoDB等。國(guó)內(nèi)也有文檔型數(shù)據(jù)庫(kù)SequoiaDB,該數(shù)據(jù)庫(kù)已經(jīng)開源。

如果說Oracle是關(guān)系型數(shù)據(jù)庫(kù)的王者,那么MongoDB可以說是非關(guān)系型數(shù)據(jù)庫(kù)的霸主。MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù),它由C++語言編寫,旨在為Web應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,因此,可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。MongoDB最大的特點(diǎn)是支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系型數(shù)據(jù)庫(kù)單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引。

4)對(duì)于圖形(Graph)數(shù)據(jù)庫(kù),它與其他行列以及剛性結(jié)構(gòu)的SQL數(shù)據(jù)庫(kù)不同,它是使用靈活的圖形模型,并且能夠擴(kuò)展到多臺(tái)服務(wù)器上。NoSQL數(shù)據(jù)庫(kù)沒有標(biāo)準(zhǔn)的查詢語言(SQL),因此,進(jìn)行數(shù)據(jù)庫(kù)查詢需要制定數(shù)據(jù)模型。許多NoSQL數(shù)據(jù)庫(kù)都有REST式的數(shù)據(jù)接口或者查詢API。常見的圖形數(shù)據(jù)庫(kù)有:Neo4j、InfoGrid、InfiniteGraph、Titan、Giraph等。

常見的非關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)缺點(diǎn)及其應(yīng)用場(chǎng)景見表2。

表3總結(jié)了MongoDB、RiakKV,Hypertable和HBase這四個(gè)產(chǎn)品的主要特性。

6.行存儲(chǔ)和列存儲(chǔ)

將表放入存儲(chǔ)系統(tǒng)中的方法有兩種:行存儲(chǔ)和列存儲(chǔ),絕大部分?jǐn)?shù)據(jù)庫(kù)是采用行存儲(chǔ)的。行存儲(chǔ)法是將各行放入連續(xù)的物理位置,這很像傳統(tǒng)的記錄和文件系統(tǒng),然后由數(shù)據(jù)庫(kù)引擎根據(jù)每個(gè)查詢提取需要的列。列存儲(chǔ)法是將數(shù)據(jù)按照列存儲(chǔ)到數(shù)據(jù)庫(kù)中,與行存儲(chǔ)類似。具體而言,行存儲(chǔ)和列存儲(chǔ)的區(qū)別見表4。

3.

數(shù)據(jù)庫(kù)的約束有哪些?正確答案:在數(shù)據(jù)庫(kù)表的開發(fā)中,約束是必不可少的,使用約束可以更好地保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的完整性。

1.約束(CONSTRAINT)

數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性和一致性,可以在定義表時(shí)定義完整性約束,也可以通過索引或觸發(fā)器等方式定義完整性約束。約束分為兩類:行級(jí)和表級(jí),二者處理機(jī)制是一樣的。行級(jí)約束放在列后,表級(jí)約束放在表后,多個(gè)列共用的約束放在表后。

完整性約束是一種規(guī)則,不占用任何數(shù)據(jù)庫(kù)空間。它存在數(shù)據(jù)字典中,在執(zhí)行SQL或PL/SQL期間使用。用戶可以指明約束是啟用還是禁用,當(dāng)約束啟用時(shí),它增強(qiáng)了數(shù)據(jù)的完整性,否則,約束始終存在于數(shù)據(jù)字典中。

2.約束類型

約束主要分為以下五種不同類型:主鍵約束、唯一約束、檢查約束、非空約束和外鍵約束。

(1)主鍵約束(PrimaryKey)主鍵是一個(gè)唯一的標(biāo)識(shí),本身不能為空,即主鍵必須非空且唯一。例如:身份證編號(hào)是唯一的,不可重復(fù),不可為空。

(2)唯一約束(UNIQUE)在一個(gè)表中,只允許建立一個(gè)主鍵約束,而對(duì)于其他列,如果不希望出現(xiàn)重復(fù)值的話,那么可以使用唯一約束。

(3)檢查約束(CHECK)檢查一列的內(nèi)容是否合法。例如性別,只能是男或女。

(4)非空約束(NOTNULL)員工生日這樣的字段里面的內(nèi)容就不能為空。

(5)外鍵約束(ForeignKey)在兩張表中進(jìn)行約束操作。主鍵是一個(gè)非空且唯一的約束,外鍵是在兩張表中進(jìn)行約束,外鍵的取值必須是參照的主鍵值或空值。

關(guān)系型數(shù)據(jù)庫(kù)中的一條記錄中有若干個(gè)屬性,如果其中某一個(gè)屬性組(注意是組)能唯一標(biāo)識(shí)一條記錄,那么該屬性組就可以成為一個(gè)主鍵。

例如:學(xué)生表(學(xué)號(hào),姓名,性別,班級(jí))其中,每個(gè)學(xué)生的學(xué)號(hào)是唯一的,學(xué)號(hào)就是一個(gè)主鍵。

課程表(課程編號(hào),課程名,學(xué)分)其中,課程編號(hào)是唯一的,課程編號(hào)就是一個(gè)主鍵。

成績(jī)表(學(xué)號(hào),課程號(hào),成績(jī))其中,成績(jī)表中單一一個(gè)屬性無法唯一標(biāo)識(shí)一條記錄,學(xué)號(hào)和課程號(hào)的組合才可以唯一標(biāo)識(shí)一條記錄,所以,學(xué)號(hào)和課程號(hào)的屬性組是一個(gè)主鍵。

成績(jī)表中的學(xué)號(hào)不是成績(jī)表的主鍵,但它和學(xué)生表中的學(xué)號(hào)相對(duì)應(yīng),并且學(xué)生表中的學(xué)號(hào)是學(xué)生表的主鍵,則稱成績(jī)表中的學(xué)號(hào)是學(xué)生表的外鍵;同理,成績(jī)表中的課程號(hào)是課程表的外鍵。

表的主鍵和外鍵的作用如下:

1)當(dāng)插入非空值時(shí),若主鍵表中沒有這個(gè)值,則不能插入。

2)當(dāng)更新外鍵時(shí),不能改為主鍵表中沒有的值。

3)當(dāng)刪除主鍵表記錄時(shí),可以在創(chuàng)建外鍵約束時(shí)選定外鍵記錄一起級(jí)聯(lián)刪除還是拒絕刪除。

4)當(dāng)更新主鍵記錄時(shí),同樣有級(jí)聯(lián)更新和拒絕執(zhí)行的選擇。

表的主鍵和外鍵就是起約束作用,定義主鍵和外鍵主要是為了維護(hù)關(guān)系型數(shù)據(jù)庫(kù)的完整性,在使用主鍵與外鍵時(shí),通常需要注意以下內(nèi)容:

1)主鍵是能確定一條記錄的唯一標(biāo)識(shí),例如,一條記錄包括身份證號(hào)、姓名和年齡。身份證號(hào)是唯一能確定一個(gè)人的個(gè)人信息,其他信息都可能有重復(fù),但是身份證卻不能重復(fù),所以,身份證號(hào)是主鍵。

2)外鍵用于與另一張表進(jìn)行關(guān)聯(lián)。它能確定另一張表記錄的字段,用于保持?jǐn)?shù)據(jù)的一致性。例如,A表中的一個(gè)字段,是B表的主鍵,那它就是A表的外鍵。

4.

什么是第一、二、三、BC范式?正確答案:當(dāng)設(shè)計(jì)關(guān)系型數(shù)據(jù)庫(kù)時(shí),需要遵從不同的規(guī)范要求,設(shè)計(jì)出合理的關(guān)系型數(shù)據(jù)庫(kù),這些不同的規(guī)范要求被稱為不同的范式(NormalForm),越高的范式數(shù)據(jù)庫(kù)冗余越小。應(yīng)用數(shù)據(jù)庫(kù)范式可以帶來許多好處,但是最主要的目的是為了消除重復(fù)數(shù)據(jù)減少數(shù)據(jù)冗余,讓數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)更好地組織,讓磁盤空間得到更有效的利用。所謂“第幾范式”,是表示關(guān)系的某一種級(jí)別,所以經(jīng)常稱某一關(guān)系R為第幾范式。

目前關(guān)系型數(shù)據(jù)庫(kù)有六種范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又稱完美范式)。滿足最低要求的范式是第一范式(1NF)。在第一范式的基礎(chǔ)上進(jìn)一步滿足更多規(guī)范要求的稱為第二范式(2NF),其余范式依次類推。一般說來,數(shù)據(jù)庫(kù)只需滿足第三范式(3NF)就行了。滿足高等級(jí)的范式的先決條件是必須先滿足低等級(jí)范式。

在關(guān)系數(shù)據(jù)庫(kù)中,關(guān)系是通過表來表示的。在一個(gè)表中,每一行代表一個(gè)聯(lián)系,而一個(gè)關(guān)系就是由許多的聯(lián)系組成的集合。所以,在關(guān)系模型中,關(guān)系用來指代表,而元組用來指代行,屬性就是表中的列。對(duì)于每一個(gè)屬性,都存在一個(gè)允許取值的集合,稱為該屬性的域。

下面介紹范式中會(huì)用到的一些常用概念。

(1)實(shí)體(Entity)就是實(shí)際應(yīng)用中要用數(shù)據(jù)描述的事物,它是現(xiàn)實(shí)世界中客觀存在并可以被區(qū)別的事物,一般是名詞。比如“一個(gè)學(xué)生”、“一本書”、“一門課”等。值得強(qiáng)調(diào)的是,這里所說的“事物”不僅僅是看得見摸得著的“東西”,它也可以是虛擬的,比如說“老師與學(xué)校的關(guān)系”。

(2)數(shù)據(jù)項(xiàng)(DataItem)

即字段(Fields)也可稱為域、屬性、列。數(shù)據(jù)項(xiàng)是數(shù)據(jù)的不可分割的最小單位。數(shù)據(jù)項(xiàng)可以是字母、數(shù)字或兩者的組合。通過數(shù)據(jù)類型(邏輯的、數(shù)值的、字符的等)及數(shù)據(jù)長(zhǎng)度來描述。數(shù)據(jù)項(xiàng)用來描述實(shí)體的某種屬性。數(shù)據(jù)項(xiàng)包含數(shù)據(jù)項(xiàng)的名稱、編號(hào)、別名、簡(jiǎn)述、數(shù)據(jù)項(xiàng)的長(zhǎng)度、類型、數(shù)據(jù)項(xiàng)的取值范圍等內(nèi)容。教科書上解釋為:“實(shí)體所具有的某一特性”,由此可見,屬性一開始是個(gè)邏輯概念,比如說,“性別”是“人”的一個(gè)屬性。在關(guān)系數(shù)據(jù)庫(kù)中,屬性又是個(gè)物理概念,屬性可以看作是“表的一列”。

(3)數(shù)據(jù)元素(DataElement)數(shù)據(jù)元素是數(shù)據(jù)的基本單位。數(shù)據(jù)元素也稱元素、行、元組、記錄(Record)。一個(gè)數(shù)據(jù)元素可以由若干個(gè)數(shù)據(jù)項(xiàng)組成。表中的一行就是一個(gè)元組。

(4)碼也稱為鍵(Key),它是數(shù)據(jù)庫(kù)系統(tǒng)中的基本概念。所謂碼就是能唯一標(biāo)識(shí)實(shí)體的屬性,它是整個(gè)實(shí)體集的性質(zhì),而不是單個(gè)實(shí)體的性質(zhì)。它包括超碼、候選碼和主碼。

(5)超碼超碼是一個(gè)或多個(gè)屬性的集合,這些屬性的組合可以在一個(gè)實(shí)體集中唯一地標(biāo)識(shí)一個(gè)實(shí)體。如果K是一個(gè)超碼,那么K的任意超集也是超碼,也就是說如果K是超碼,那么所有包含K的集合也是超碼。

(6)候選碼在一個(gè)超碼中,可能包含了無關(guān)緊要的屬性,如果對(duì)于一些超碼,它們的任意真子集都不能成為超碼,那么這樣的最小超碼稱為候選碼。

(7)主碼從候選碼中挑一個(gè)最少鍵的組合,它就稱為主碼(主鍵,PrimaryKey)。每個(gè)主碼應(yīng)該具有下列特征:①唯一的。②最小的(盡量選擇最少鍵的組合)。③非空。④不可更新的(不能隨時(shí)更改)。

(8)全碼如果一個(gè)碼包含了所有的屬性,這個(gè)碼就是全碼(All-key)。

(9)主屬性一個(gè)屬性只要在任何一個(gè)候選碼中出現(xiàn)過,這個(gè)屬性就是主屬性(PrimeAttribute)。

(10)非主屬性與主屬性相反,沒有在任何候選碼中出現(xiàn)過,這個(gè)屬性就是非主屬性(NonprimeAttribute)或非碼屬性(Non-keyAttribute)。

(11)外碼關(guān)系模式R中的一個(gè)屬性或?qū)傩越MX并非R的碼,但X是另一個(gè)關(guān)系模式的碼,則稱X是R的外碼,也稱外鍵(ForeignKey)。例如,在SC(Sno,Cno,Grade)中,Sno不是碼,但Sno是關(guān)系模式S(Sno,Sdept,Sage)的碼,則Sno是關(guān)系模式SC的外碼。主碼與外碼一起提供了表示關(guān)系間聯(lián)系的手段。

(12)依賴表(DependentTable)也稱為弱實(shí)體(WeakEntity),是需要用父表標(biāo)識(shí)的子表。

(13)關(guān)聯(lián)表(AssociativeTable)是多對(duì)多關(guān)系中兩個(gè)父表的子表。

(14)函數(shù)依賴

函數(shù)依賴是指關(guān)系中一個(gè)或一組屬性的值可以決定其他屬性的值。函數(shù)依賴就像一個(gè)函數(shù)y=f(x)一樣,x的值給定后,y的值也就唯一地確定了,寫作X→Y。函數(shù)依賴不是指關(guān)系模式R的某個(gè)或某些關(guān)系滿足的約束條件,而是指R的一切關(guān)系均要滿足的約束條件。

(15)完全函數(shù)依賴在一個(gè)關(guān)系中,若某個(gè)非主屬性數(shù)據(jù)項(xiàng)依賴于全部關(guān)鍵字稱之為完全函數(shù)依賴。例如,在成績(jī)表(學(xué)號(hào),課程號(hào),成績(jī))關(guān)系中,(學(xué)號(hào),課程號(hào))可以決定成績(jī),但是學(xué)號(hào)不能決定成績(jī),課程號(hào)也不能決定成績(jī),所以“(學(xué)號(hào),課程號(hào))→成績(jī)”就是完全函數(shù)依賴。

(16)傳遞函數(shù)依賴指的是如果存在“A→B→C”的決定關(guān)系,則C傳遞函數(shù)依賴于A。

下面開始介紹各種范式。

1.第一范式(1NF):屬性不可分

所謂第一范式(1NF)是指在關(guān)系模型中,對(duì)域添加的一個(gè)規(guī)范要求,所有的域都應(yīng)該是原子性的,即數(shù)據(jù)庫(kù)表的每一列都是不可分割的原子數(shù)據(jù)項(xiàng),而不能是集合、數(shù)組、記錄等非原子數(shù)據(jù)項(xiàng)。即當(dāng)實(shí)體中的某個(gè)屬性有多個(gè)值時(shí),必須將其拆分為不同的屬性。在符合第一范式(1NF)表中的每個(gè)域值只能是實(shí)體的一個(gè)屬性或一個(gè)屬性的一部分。簡(jiǎn)而言之,第一范式就是無重復(fù)的域。例如,由“職工號(hào)”、“姓名”、“電話號(hào)碼”組成的職工表,由于一個(gè)人可能有一個(gè)辦公電話和一個(gè)移動(dòng)電話,所以,這時(shí)可以將其規(guī)范化為1NF。將電話號(hào)碼分為“辦公電話”和“移動(dòng)電話”兩個(gè)屬性,即職工表(職工號(hào),姓名,辦公電話,移動(dòng)電話)。

需要注意的是,在任何一個(gè)關(guān)系型數(shù)據(jù)庫(kù)中,第一范式(1NF)是對(duì)關(guān)系模式的設(shè)計(jì)基本要求,一般設(shè)計(jì)時(shí)都必須滿足第一范式(1NF)。不過有些關(guān)系模型中突破了1NF的限制,這種稱為非1NF的關(guān)系模型。換句話說,是否必須滿足1NF的最低要求,主要依賴于所使用的關(guān)系模型。不滿足1NF的數(shù)據(jù)庫(kù)就不是關(guān)系數(shù)據(jù)庫(kù)。滿足1NF的表必須要有主鍵且每個(gè)屬性不可再分。

2.第二范式(2NF)

符合1NF,并且,非主屬性完全依賴于碼。

在1NF的基礎(chǔ)上,每一個(gè)非主屬性必須完全依賴于碼(在1NF基礎(chǔ)上,消除非主屬性對(duì)主鍵的部分函數(shù)依賴)。

第二范式(2NF)是在第一范式(1NF)的基礎(chǔ)上建立起來的,即滿足第二范式(2NF)必須先滿足第一范式(1NF)。第二范式(2NF)要求數(shù)據(jù)庫(kù)表中的每個(gè)實(shí)體或記錄必須可以被唯一地區(qū)分。選取一個(gè)能區(qū)分每個(gè)實(shí)體的屬性或?qū)傩越M,作為實(shí)體的唯一標(biāo)識(shí)。

例如,在選課關(guān)系表(學(xué)號(hào),課程號(hào),成績(jī),學(xué)分)中,碼為組合關(guān)鍵字(學(xué)號(hào),課程號(hào))。但是,由于非主屬性學(xué)分僅僅依賴于課程號(hào),對(duì)關(guān)鍵字(學(xué)號(hào),課程號(hào))只是部分依賴,而不是完全依賴,所以,此種方式會(huì)導(dǎo)致數(shù)據(jù)冗余、更新異常、插入異常和刪除異常等問題,其設(shè)計(jì)不符合2NF。解決辦法是將其分為兩個(gè)關(guān)系模式:學(xué)生表(學(xué)號(hào),課程號(hào),分?jǐn)?shù))和課程表(課程號(hào),學(xué)分),新關(guān)系通過學(xué)生表中的外鍵字課程號(hào)聯(lián)系,在需要時(shí)通過兩個(gè)表的連接來取出數(shù)據(jù)。

第二范式(2NF)要求實(shí)體的屬性完全依賴于主關(guān)鍵字。所謂完全依賴是指不能存在僅依賴主關(guān)鍵字一部分的屬性,如果存在,那么這個(gè)屬性和主關(guān)鍵字的這一部分應(yīng)該分離出來形成一個(gè)新的實(shí)體,新實(shí)體與原實(shí)體之間是一對(duì)多的關(guān)系。為實(shí)現(xiàn)區(qū)分通常需要為表加上一個(gè)列,以存儲(chǔ)各個(gè)實(shí)例的唯一標(biāo)識(shí)。簡(jiǎn)而言之,第二范式就是在第一范式的基礎(chǔ)上屬性完全依賴于主鍵。

所有單關(guān)鍵字的數(shù)據(jù)庫(kù)表都符合第二范式,因?yàn)椴豢赡艽嬖诮M合關(guān)鍵字。

3.第三范式(3NF)

在1NF基礎(chǔ)上,每個(gè)非主屬性既不部分依賴于碼也不傳遞依賴于碼(在2NF基礎(chǔ)上消除傳遞依賴)。如果關(guān)系模式R是第二范式,且每個(gè)非主屬性都不傳遞依賴于R的碼,則稱R是第三范式的模式。第三范式(3NF)是第二范式(2NF)的一個(gè)子集,即滿足第三范式(3NF)必須滿足第二范式(2NF)。

例如,學(xué)生表(學(xué)號(hào),姓名,課程號(hào),成績(jī)),其中學(xué)生姓名若無重名,所以,該表有兩個(gè)候選碼(學(xué)號(hào),課程號(hào))和(姓名,課程號(hào)),則存在函數(shù)依賴:學(xué)號(hào)一姓名,(學(xué)號(hào),課程號(hào))→成績(jī),(姓名,課程號(hào))→成績(jī),唯一的非主屬性成績(jī)對(duì)碼不存在部分依賴,也不存在傳遞依賴,所以,屬于第三范式。

滿足第三范式的數(shù)據(jù)庫(kù)表應(yīng)該不存在如下依賴關(guān)系:

關(guān)鍵字段→非關(guān)鍵字段x→非關(guān)鍵字段y

假定學(xué)生關(guān)系表為(學(xué)號(hào),姓名,年齡,所在學(xué)院,學(xué)院地點(diǎn),學(xué)院電話),關(guān)鍵字為單一關(guān)鍵字“學(xué)號(hào)”,因?yàn)榇嬖谌缦聸Q定關(guān)系:

(學(xué)號(hào))→(姓名,年齡,所在學(xué)院,學(xué)院地點(diǎn),學(xué)院電話)

這個(gè)關(guān)系是符合2NF的,但是不符合3NF,因?yàn)榇嬖谌缦聸Q定關(guān)系:

(學(xué)號(hào))→(所在學(xué)院)→(學(xué)院地點(diǎn),學(xué)院電話)

即存在非關(guān)鍵字段“學(xué)院地點(diǎn)”、“學(xué)院電話”對(duì)關(guān)鍵字段“學(xué)號(hào)”的傳遞函數(shù)依賴。它也會(huì)存在數(shù)據(jù)冗余、更新異常、插入異常和刪除異常的情況。若把學(xué)生關(guān)系表分為如下兩個(gè)表:

學(xué)生:(學(xué)號(hào),姓名,年齡,所在學(xué)院)。

學(xué)院:(學(xué)院,地點(diǎn),電話)。

這樣的數(shù)據(jù)庫(kù)表是符合第三范式的,消除了數(shù)據(jù)冗余、更新異常、插入異常和刪除異常。

4.BCNF(Boyce-CoddNormalForm)

在1NF基礎(chǔ)上,任何非主屬性不能對(duì)主鍵子集依賴(在3NF基礎(chǔ)上消除對(duì)主鍵子集的依賴)。

若關(guān)系模式R是第一范式,且每個(gè)屬性(包括主屬性)既不存在部分函數(shù)依賴也不存在傳遞函數(shù)依賴于R的候選鍵,這種關(guān)系模式就是BCNF模式。即在第三范式的基礎(chǔ)上,數(shù)據(jù)庫(kù)表中如果不存在任何字段對(duì)任一候選關(guān)鍵字段的傳遞函數(shù)依賴則符合BCNF。BCNF是修正的第三范式,有時(shí)也稱擴(kuò)充的第三范式。

BCNF是第三范式(3NF)的一個(gè)子集,即滿足BCNF必須滿足第三范式(3NF)。通常情況下,BCNF被認(rèn)為沒有新的設(shè)計(jì)規(guī)范加入,只是對(duì)第二范式與第三范式中設(shè)計(jì)規(guī)范要求更強(qiáng),因而被認(rèn)為是修正第三范式,也就是說,它事實(shí)上是對(duì)第三范式的修正,使數(shù)據(jù)庫(kù)冗余度更小。這也是BCNF不被稱為第四范式的原因。

對(duì)于BCNF,在主鍵的任何一個(gè)真子集都不能決定于主屬性。關(guān)系中U主鍵,若U中的任何一個(gè)真子集X都不能決定于主屬性Y,則該設(shè)計(jì)規(guī)范屬性BCNF。例如:在關(guān)系R中,U為主鍵,A屬性是主鍵中的一個(gè)屬性,若存在A→Y,Y為主屬性,則該關(guān)系不屬于BCNF。

假設(shè)倉(cāng)庫(kù)管理關(guān)系表(倉(cāng)庫(kù)號(hào),存儲(chǔ)物品號(hào),管理員號(hào),數(shù)量),滿足一個(gè)管理員只在一個(gè)倉(cāng)庫(kù)工作;一個(gè)倉(cāng)庫(kù)可以存儲(chǔ)多種物品。則存在如下關(guān)系:

(倉(cāng)庫(kù)號(hào),存儲(chǔ)物品號(hào))→(管理員號(hào),數(shù)量)

(管理員號(hào),存儲(chǔ)物品號(hào))→(倉(cāng)庫(kù)號(hào),數(shù)量)

所以,(倉(cāng)庫(kù)號(hào),存儲(chǔ)物品號(hào))和(管理員號(hào),存儲(chǔ)物品號(hào))都是倉(cāng)庫(kù)管理關(guān)系表的候選碼,表中的唯一非關(guān)鍵字段為數(shù)量,它是符合第三范式的。但是,由于存在如下決定關(guān)系:

(倉(cāng)庫(kù)號(hào))→(管理員號(hào))

(管理員號(hào))→(倉(cāng)庫(kù)號(hào))

即存在關(guān)鍵字段決定關(guān)鍵字段的情況,所以,其不符合BCNF范式。把倉(cāng)庫(kù)管理關(guān)系表分解為兩個(gè)關(guān)系表:倉(cāng)庫(kù)管理表(倉(cāng)庫(kù)號(hào),管理員號(hào))和倉(cāng)庫(kù)表(倉(cāng)庫(kù)號(hào),存儲(chǔ)物品號(hào),數(shù)量),這樣的數(shù)據(jù)庫(kù)表是符合BCNF范式的,消除了刪除異常、插入異常和更新異常。

四種范式之間存在如下關(guān)系:

學(xué)習(xí)了范式,為了鞏固理解,接下來設(shè)計(jì)一個(gè)論壇的數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)中需要存放如下信息:

(1)用戶

用戶名,EMAIL,主頁(yè),電話,聯(lián)系地址。

(2)帖子

發(fā)帖標(biāo)題,發(fā)帖內(nèi)容,回復(fù)標(biāo)題,回復(fù)內(nèi)容。

第一次可以將數(shù)據(jù)庫(kù)設(shè)計(jì)為僅僅存在一張表:

用戶名EMAIL主頁(yè)電話聯(lián)系地址發(fā)帖標(biāo)題發(fā)帖內(nèi)容回復(fù)標(biāo)題回復(fù)內(nèi)容

這個(gè)數(shù)據(jù)庫(kù)表符合第一范式,但是沒有任何一組候選關(guān)鍵字能決定數(shù)據(jù)庫(kù)表的整行,唯一的關(guān)鍵字段用戶名也不能完全決定整個(gè)元組。所以,需要增加“發(fā)帖ID”、“回復(fù)ID”字段,即將表修改為:

用戶名EMAIL主頁(yè)電話聯(lián)系地址發(fā)帖ID發(fā)帖標(biāo)題發(fā)帖內(nèi)容回復(fù)ID回復(fù)標(biāo)題回復(fù)內(nèi)容

這樣數(shù)據(jù)表中的關(guān)鍵字(用戶名,發(fā)帖ID,回復(fù)ID)能決定整行:

(用戶名,發(fā)帖ID,回復(fù)ID)→(EMAIL,主頁(yè),電話,聯(lián)系地址,發(fā)帖標(biāo)題,發(fā)帖內(nèi)容,回復(fù)標(biāo)題,回復(fù)內(nèi)容)

但是,這樣的設(shè)計(jì)不符合第二范式,因?yàn)榇嬖谌缦聸Q定關(guān)系:

(用戶名)→(EMAIL,主頁(yè),電話,聯(lián)系地址)

(發(fā)帖ID)→(發(fā)帖標(biāo)題,發(fā)帖內(nèi)容)

(回復(fù)ID)→(回復(fù)標(biāo)題,回復(fù)內(nèi)容)

即非關(guān)鍵字段部分函數(shù)依賴于候選關(guān)鍵字段,很明顯,這個(gè)設(shè)計(jì)會(huì)導(dǎo)致大量的數(shù)據(jù)冗

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論