版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- CCAA - 2017年09月環(huán)境管理體系基礎(chǔ)答案及解析 - 詳解版(80題)
- 吸入技術(shù)教學(xué)課件
- 安徽省合肥琥珀集團(tuán)2025-2026屆九年級(jí)上學(xué)期期末質(zhì)量調(diào)研語文試題(含答案)
- 企業(yè)員工培訓(xùn)與技能發(fā)展計(jì)劃目標(biāo)制度
- CCAA - 認(rèn)證基礎(chǔ) 認(rèn)通基摸底考試一答案及解析 - 詳解版(62題)
- 老年終末期患者跌倒預(yù)防的健康教育策略
- 老年終末期尿失禁的護(hù)理干預(yù)方案實(shí)施策略
- 2025年西安蓮湖輔警招聘真題及答案
- 數(shù)控銑工崗前競(jìng)爭(zhēng)分析考核試卷含答案
- 我國(guó)上市公司治理結(jié)構(gòu)與自愿性信息披露:基于實(shí)證視角的深度剖析
- DB51-T 192-2024 公園城市綠色景觀圍墻營(yíng)建指南
- 《食品標(biāo)準(zhǔn)與法規(guī)》課件全套 第1-6章 緒論-食品生產(chǎn)經(jīng)營(yíng)許可和認(rèn)證管理
- JBT 7562-2016 YEZX系列起重用錐形轉(zhuǎn)子制動(dòng)三相異步電動(dòng)機(jī) 技術(shù)條件
- 建筑工地安全形勢(shì)分析
- 【拼多多公司盈利能力探析11000字(論文)】
- 區(qū)域地質(zhì)調(diào)查及填圖方法
- (完整版)四年級(jí)上冊(cè)數(shù)學(xué)豎式計(jì)算題100題直接打印版
- 新生兒疫苗接種的注意事項(xiàng)與應(yīng)對(duì)措施
- 膿毒癥休克患者的麻醉管理
- 青島生建z28-75滾絲機(jī)說明書
- 呂國(guó)泰《電子技術(shù)》
評(píng)論
0/150
提交評(píng)論