首頁(yè) - 網(wǎng)校 - 萬(wàn)題庫(kù) - 直播 - 雄鷹網(wǎng)校 - 團(tuán)購(gòu) - 書(shū)城 - ? - 學(xué)習(xí)通 - 導(dǎo)航 -
首頁(yè)網(wǎng)校萬(wàn)題庫(kù)直播雄鷹網(wǎng)校團(tuán)購(gòu)書(shū)城?論壇實(shí)用文檔作文大全寶寶起名
2015中考
法律碩士
2015高考
MBA考試
2015考研
MPA考試
在職研
中科院
考研培訓(xùn)
專升本
自學(xué)考試 成人高考
四 六 級(jí)
GRE考試
攻碩英語(yǔ)
零起點(diǎn)日語(yǔ)
職稱英語(yǔ)
口譯筆譯
申碩英語(yǔ)
零起點(diǎn)韓語(yǔ)
商務(wù)英語(yǔ)
日語(yǔ)等級(jí)
GMAT考試
公共英語(yǔ)
職稱日語(yǔ)
新概念英語(yǔ)
專四專八
博思考試
零起點(diǎn)英語(yǔ)
托?荚
托業(yè)考試
零起點(diǎn)法語(yǔ)
雅思考試
成人英語(yǔ)三級(jí)
零起點(diǎn)德語(yǔ)
等級(jí)考試
華為認(rèn)證
水平考試
Java認(rèn)證
職稱計(jì)算機(jī) 微軟認(rèn)證 思科認(rèn)證 Oracle認(rèn)證 Linux認(rèn)證
公 務(wù) 員
導(dǎo)游考試
物 流 師
出版資格
單 證 員
報(bào) 關(guān) 員
外 銷 員
價(jià)格鑒證
網(wǎng)絡(luò)編輯
駕 駛 員
報(bào)檢員
法律顧問(wèn)
管理咨詢
企業(yè)培訓(xùn)
社會(huì)工作者
銀行從業(yè)
教師資格
營(yíng)養(yǎng)師
保險(xiǎn)從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書(shū)資格
電子商務(wù)
期貨考試
國(guó)際商務(wù)
心理咨詢
營(yíng) 銷 師
司法考試
國(guó)際貨運(yùn)代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格
基金從業(yè)資格
統(tǒng)計(jì)從業(yè)資格
經(jīng)濟(jì)師
精算師
統(tǒng)計(jì)師
會(huì)計(jì)職稱
法律顧問(wèn)
ACCA考試
初級(jí)會(huì)計(jì)職稱
資產(chǎn)評(píng)估師
高級(jí)經(jīng)濟(jì)師
注冊(cè)會(huì)計(jì)師
高級(jí)會(huì)計(jì)師
美國(guó)注冊(cè)會(huì)計(jì)師
審計(jì)師考試
國(guó)際內(nèi)審師
注冊(cè)稅務(wù)師
理財(cái)規(guī)劃師
一級(jí)建造師
安全工程師
設(shè)備監(jiān)理師
公路監(jiān)理師
公路造價(jià)師
二級(jí)建造師
招標(biāo)師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價(jià)工程師
注冊(cè)測(cè)繪師
質(zhì)量工程師
巖土工程師
注冊(cè)給排水
造價(jià)員考試
注冊(cè)計(jì)量師
環(huán)保工程師
化工工程師
暖通工程師
咨詢工程師
結(jié)構(gòu)工程師
城市規(guī)劃師
材料員考試
消防工程師
監(jiān)理工程師
房地產(chǎn)估價(jià)
土地估價(jià)師
安全評(píng)價(jià)師
房地產(chǎn)經(jīng)紀(jì)人
投資項(xiàng)目管理師
環(huán)境影響評(píng)價(jià)師
土地登記代理人
寶寶起名
繽紛校園
實(shí)用文檔
入黨申請(qǐng)
英語(yǔ)學(xué)習(xí)
思想?yún)R報(bào)
作文大全
工作總結(jié)
求職招聘 論文下載 直播課堂

2016年全國(guó)計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)考試重點(diǎn)(2)

計(jì)算機(jī)等級(jí)考試時(shí)間將近,考試吧小編整理了《2016年全國(guó)計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)考試重點(diǎn)(2)》供各位考生參考、下載。更多計(jì)算機(jī)等級(jí)考試信息,請(qǐng)關(guān)注考試吧計(jì)算機(jī)等級(jí)考試網(wǎng)。

  點(diǎn)擊查看2016年全國(guó)計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)考試重點(diǎn)匯總

  三、關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言———SQL

  1.SQL概述SQL的英語(yǔ)名稱是結(jié)構(gòu)查詢語(yǔ)言(Structured Query Language)

  實(shí)際上它的功能包括查詢(Query)、操縱(Manipulation)、定義(Definition)和控制(Control)

  四個(gè)方面,是一個(gè)綜合的、通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言。SQL支持?jǐn)?shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)。

  2.SQL的數(shù)據(jù)定義功能SQL的數(shù)據(jù)定義功能包括三部分:

  定義基本表,定義視圖和定義索引。它們是:CREATE TABLE CREATE VIEW CREATE INDEX DROP TABLE DROP VIEW DROP INDEX SQL的數(shù)據(jù)定義功能可用于定義和修改模式(如基本表),定義外模式(如視圖)和內(nèi)模式(如索引)。

  3.基本表的定義與刪除

  定義基本表的語(yǔ)句格式為:

  CREATE TABLE表名 (列名1 類型[NOT NULL]

  [,列名2類型[NOT NULL]]…)

  [其他參數(shù)];

  其中,任選項(xiàng)“其它參數(shù)”是與物理存儲(chǔ)有關(guān)的參數(shù)。根據(jù)具體系統(tǒng)的不同而不同。刪除基本表的語(yǔ)句為:DROP TABLE表名;刪除索引的語(yǔ)句為:DROP INDEX索引名;刪除索引的同時(shí)把有關(guān)索引的描述也從數(shù)據(jù)字典中刪去。但表的內(nèi)涵仍存在且其數(shù)據(jù)外延內(nèi)容不變。把一個(gè)基本表的定義連同表上所有的記錄、索引以及由此基本表導(dǎo)出的所有視圖全部都刪除,并釋放相應(yīng)的存儲(chǔ)空間。

  4.索引的建立與刪除

  對(duì)一個(gè)基本表,可以根據(jù)應(yīng)用環(huán)境的需要建立若干索引,以提供多種存取方式。通常,索引的建立和刪除由DBA或表的主人(即建立表的人)負(fù)責(zé)。用戶不必也不能在存取數(shù)據(jù)時(shí)選擇索引。存取路徑的選擇由系統(tǒng)自動(dòng)進(jìn)行。索引的描述存放在數(shù)據(jù)字典中。建立索引的語(yǔ)句格式為:

  CREATE[UNIQUE] INDEX索引名ON基本表名(列名[次序][,列名[次序]]…)[其他參數(shù)];這里的任選項(xiàng)———其他參數(shù)是與物理存儲(chǔ)有關(guān)的參數(shù)。索引可以建在一列或幾列上。圓括號(hào)內(nèi)是索引列的順序說(shuō)明表。其中的任選項(xiàng)———次序,指定了索引值排序的次序?扇SC(升序)或DESC(降序)。缺省值為升序。UNIQUE表示每一索引值只對(duì)應(yīng)唯一的數(shù)據(jù)記錄。

  5.SQL的數(shù)據(jù)操縱功能

  SQL的數(shù)據(jù)操縱功能包括SELECT,INSERT,DELETE和UPDATE四個(gè)語(yǔ)句,即檢索和更新(包括增、刪、改)兩部分工能。檢索就是查詢。

  SQL更新語(yǔ)句SQL的更新語(yǔ)句

  包括修改,刪除和插入三類語(yǔ)句。

 、傩薷(UPDATE)(亦稱為更新)

  修改語(yǔ)句的一般格式為:

  UPDATE表名

  SET字段=表達(dá)式[,字段=表達(dá)式]…

  [WHERE謂詞];

  修改指定表中滿足謂詞(或條件)的元組,把這些元組按SET子句中的表達(dá)式修改相應(yīng)屬性或字段上的值。

 、趧h除(DELETE)

  刪除語(yǔ)句一般格式為:

  DELETE FROM表名

  [WHERE謂詞];

  從指定表中刪除滿足謂詞的那些記錄。沒(méi)有WHERE子句時(shí)表示刪去此表中的全部記錄,但此表的定義仍在數(shù)據(jù)字典中,只是一個(gè)空表。DELETE只對(duì)表外延操作,不對(duì)內(nèi)涵操作。

 、鄄迦(INSERT)插入語(yǔ)句的一般格式為:

  INSERT INTO表名[(字段名[,字段名]…)]

  valueS(常量[,常量]…);

  或

  INSERT

  INTO表名[(字段名[,字段名]…)]

  子查詢;

  第一種格式把一個(gè)新記錄插入指定的表中。第二種格式把子查詢的結(jié)果插入表中。若表中有些字段在插入語(yǔ)句中沒(méi)有出現(xiàn),則這些字段上的值取空值NULL。當(dāng)然在表定義中說(shuō)明了NOT NULL的字段在插入時(shí)不能取NULL。若插入語(yǔ)句中沒(méi)有指出字段名,則新記錄必須在每個(gè)字段上均有值。

  6.視圖

  視圖是從一個(gè)或幾個(gè)基本表(或視圖)導(dǎo)出的表。某一用戶可以定義若干視圖。因此對(duì)某一用戶而言,按ANSI/SPARC報(bào)告的觀點(diǎn),他的外模式是由若干基本表和若干視圖組成的。視圖和基本表不同,視圖是一個(gè)虛表,即視圖所對(duì)應(yīng)的數(shù)據(jù)不實(shí)際存儲(chǔ)在數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)中只存儲(chǔ)視圖的定義(存在數(shù)據(jù)字典中)。視圖一經(jīng)定義就可以和基本表一樣被查詢、被刪除(DROP),也可以用來(lái)定義新的視圖,但更新(增、刪、改)操作將有一定限制。視圖可以理解成一個(gè)數(shù)據(jù)庫(kù),只有內(nèi)涵保存在數(shù)據(jù)庫(kù)字典中,而無(wú)外延存儲(chǔ);其外延是在使用時(shí)動(dòng)態(tài)地生成的或計(jì)算出來(lái)的。

  (1)視圖的定義與刪除

  SQL建立視圖的語(yǔ)句格式為:

  CREATE VIEW視圖名[(字段名[,字段名]…)]

  AS子查詢

  [WITH CHECK OPTION謂詞];

  視圖可以刪除,語(yǔ)句格式為:

  DROP VIEW視圖名;

  視圖的定義就從數(shù)據(jù)字典中刪除。由此視圖導(dǎo)出的其它視圖也將自動(dòng)被刪除。若導(dǎo)出此視圖的基本表刪除了,則此視圖也將自動(dòng)刪除。

  (2)視圖的查詢語(yǔ)句

  視圖定義后,用戶可以如同基本表那樣對(duì)視圖查詢。

  (3)視圖的更新語(yǔ)句對(duì)視圖的更新最終要轉(zhuǎn)換成對(duì)基本表的更新(這里的更新,指INSERT,UPDATE和DELETE三類操作)。在關(guān)系數(shù)據(jù)庫(kù)中,并非所有的視圖都是可更新的,也就是說(shuō),有些視圖的更新不能唯一地有意義地轉(zhuǎn)換成對(duì)基本表的更新。

  (4)視圖的優(yōu)點(diǎn)視圖的概念具有很多優(yōu)點(diǎn),主要有:

  (1)視圖對(duì)于數(shù)據(jù)庫(kù)的重構(gòu)造提供了一定程度的邏輯獨(dú)立性;

  (2)簡(jiǎn)化了用戶觀點(diǎn);

  (3)視圖機(jī)制使不同的用戶能以不同的方式看待同一數(shù)據(jù);

  (4)視圖機(jī)制對(duì)機(jī)密數(shù)據(jù)提供了自動(dòng)的安全保護(hù)功能。

  7.SQL的數(shù)據(jù)控制功能

  SQL數(shù)據(jù)控制功能是指控制用戶對(duì)數(shù)據(jù)的存取權(quán)力。某個(gè)用戶對(duì)某類數(shù)據(jù)具有何種操作權(quán)力是由DBA決定的。這是個(gè)政策問(wèn)題而不是技術(shù)問(wèn)題。數(shù)據(jù)庫(kù)管理系統(tǒng)的功能是保證這些決定的執(zhí)行。為此它必須能:

  (1)把授權(quán)的決定告知系統(tǒng),這是由SQL的GRANT和REVOKE語(yǔ)句來(lái)完成的。

  (2)把授權(quán)的結(jié)果存入數(shù)據(jù)字典。

  (3)當(dāng)用戶提出操作請(qǐng)求時(shí),根據(jù)授權(quán)情況進(jìn)行檢查,以決定是執(zhí)行操作請(qǐng)求還是拒絕之。授權(quán)語(yǔ)句的一般格式為:

  GRANT權(quán)力[,權(quán)力]…[ON對(duì)象類型對(duì)象名] TO用戶[,用戶]…,

  [WITH GRANT OPTION];

  對(duì)不同類型的操作對(duì)象可有不同的操作權(quán)力。

  (1)對(duì)基本表、視圖及其字段的操作權(quán)力有查詢、插入、更新、刪除以及它們的總和ALL PRIVILEGE。

  (2)對(duì)基本表的操作權(quán)力還有修改(ALTER)和建立索引(INDEX)。

  (3)對(duì)數(shù)據(jù)庫(kù)的操作權(quán)力有建立表(CREATETAB)。某用戶有了此權(quán)力就可以使用Create table建立基本表。稱他為表的主人,擁有對(duì)此表的一切操作權(quán)力。

  (4)對(duì)表空間的權(quán)力有使用(USE)數(shù)據(jù)庫(kù)空間存儲(chǔ)基本表的權(quán)力。

  (5)系統(tǒng)權(quán)力有建立新數(shù)據(jù)庫(kù)(CREATEDBA)的權(quán)力。GRANT語(yǔ)句中的任選項(xiàng)WITH GRANT OPTION的作用是使獲得某種權(quán)力的用戶可以把權(quán)力再授予別的用戶。

  8.嵌入式SQL

  把SQL嵌入主語(yǔ)言使用時(shí)必須解決三個(gè)問(wèn)題:

  (1)區(qū)分SQL語(yǔ)句與主語(yǔ)言語(yǔ)句。這是通過(guò)在所有的SQL語(yǔ)句前加前綴EXEC SQL來(lái)解決的。SQL語(yǔ)句結(jié)束標(biāo)志隨主語(yǔ)言不同而不同,如PL/1用分號(hào)(;),COBOL用EMD-EXEC來(lái)表示。SQL語(yǔ)句首先由預(yù)編譯程序加以處理,轉(zhuǎn)換為主語(yǔ)言編譯程序能夠識(shí)別的形式,然后交主語(yǔ)言編譯程序進(jìn)一步處理。

  (2)數(shù)據(jù)庫(kù)工作單元和程序工作單元之間的通信。SQL語(yǔ)句中可以使用主語(yǔ)言的程序變量(簡(jiǎn)稱主變量),這些變量名前加冒號(hào)(:)作標(biāo)志,以區(qū)別地字段名,程序中使用的任何表(基本表或視圖)都要用EXEC SQL DECLARE語(yǔ)句加以說(shuō)明。一則使程序更加清晰,二則使預(yù)編譯程序能作某些語(yǔ)法檢查。SQL語(yǔ)句執(zhí)行后,系統(tǒng)要反饋給應(yīng)用程序若干信息,這些信息送到SQL的通信區(qū)SQL CA。SQL CA用語(yǔ)句EXEC SQL INCLUDE加以定義。在SQL CA中有一個(gè)狀態(tài)指示字段SQL CODE。當(dāng)SQL CODE為零時(shí),表示SQL語(yǔ)句執(zhí)行成功,否則返回一個(gè)錯(cuò)誤代碼(負(fù)值)或警告信息(正值)。程序員應(yīng)該在每個(gè)SQL語(yǔ)句之后測(cè)試SQL CODE的值,以便處理各種情況。

  (3)一個(gè)SQL語(yǔ)句原則上可產(chǎn)生或處理一組記錄,而主語(yǔ)言一次只能處理一個(gè)記錄,為此必須協(xié)調(diào)兩種處理方式。這是用游標(biāo)(Cursor)來(lái)解決的。下面首先討論不需要游標(biāo)的DML語(yǔ)句,然后討論使用游標(biāo)的DML語(yǔ)句。

  9.不用游標(biāo)的DML語(yǔ)句

  不需要游標(biāo)的DML語(yǔ)句有:查詢結(jié)果為單記錄的SELECT語(yǔ)句UPDATE(除了CURRENT形式的UPDATE)語(yǔ)句DELETE(除了CURRENT形式的DELETE)語(yǔ)句INSERT語(yǔ)句

  (1)查詢結(jié)果為單記錄的SELECT語(yǔ)句這類語(yǔ)句的一般格式是:(主語(yǔ)言為PL/1)EXEC SQL SELECT目標(biāo)列INTO主變量[空值標(biāo)志]FROM基本表(或視圖)[WHERE條件表達(dá)式];SELECT語(yǔ)句從數(shù)據(jù)庫(kù)中找到符合條件的記錄,把結(jié)果放到主變量中。

  (2)UPDATE語(yǔ)句

  (3)DELETE語(yǔ)句

  (4)INSERT語(yǔ)句

  10.使用游標(biāo)的DML語(yǔ)句

  一般情況下SELECT語(yǔ)句的查詢結(jié)果是記錄的集合而不是單個(gè)記錄,為此需要用游標(biāo)機(jī)制作為橋梁,把集合操作轉(zhuǎn)換為單記錄處理。與游標(biāo)有關(guān)的語(yǔ)句有四個(gè):

  (1)定義游標(biāo)。游標(biāo)是與某一查詢結(jié)果相聯(lián)系的符號(hào)名。用DECLARE語(yǔ)句定義。這是一個(gè)說(shuō)明語(yǔ)句。與游標(biāo)相對(duì)應(yīng)的SELECT語(yǔ)句這時(shí)并不執(zhí)行。

  (2)打開(kāi)(OPEN)游標(biāo)。打開(kāi)游標(biāo)語(yǔ)句使游標(biāo)處于活動(dòng)狀態(tài)。與游標(biāo)相應(yīng)的查詢語(yǔ)句被執(zhí)行。游標(biāo)指向查詢結(jié)果集中的第一個(gè)記錄之前。

  (3)推進(jìn)(FETCH)游標(biāo)。把游標(biāo)向前推進(jìn)一個(gè)記錄,并把游標(biāo)指向的當(dāng)前記錄中的字段值取出,放到INTO子句后相應(yīng)的主變量中。FETCH語(yǔ)句常常用于循環(huán),以借助主語(yǔ)言功能逐一處理結(jié)果集中的數(shù)據(jù)。

  (4)關(guān)閉(CLOSE)游標(biāo)。關(guān)閉游標(biāo),使它不再和原來(lái)的查詢結(jié)果相聯(lián)系。關(guān)閉了的游標(biāo)可以再次被打開(kāi),與新的查詢結(jié)果集相聯(lián)系。使用CURRENT形式的UPDATE和刪除語(yǔ)句應(yīng)注意:

  (1)若游標(biāo)定義中的SELECT語(yǔ)句帶有UNION或ORDER BY子句,或者這個(gè)SELECT語(yǔ)句相當(dāng)于定義了一個(gè)不可更新的視圖,則不能用這兩個(gè)更新語(yǔ)句。

  (2)若使用CURRENT形式的UPDATE語(yǔ)句,則游標(biāo)定義中要包括FOR UPDATE子句,指出更新的字段(SET子句中使用的字段)。因此,游標(biāo)定義語(yǔ)句的一般格式為:EXEC SQL DECLARE游標(biāo)名CURSOR FOR子查詢UNION子查詢…[FOR UPDATE OF字段名[,字段名]…|ORDER-BY-子句];

  11.SQL的事務(wù)處理功能

  (1)事務(wù)處理的概述所謂事務(wù)(Transaction)是指一系列動(dòng)作的組合,這些動(dòng)作被當(dāng)作一個(gè)整體來(lái)處理。這些動(dòng)作或者相繼都被執(zhí)行,或者什么也不做。在數(shù)據(jù)庫(kù)中,一個(gè)動(dòng)作是指一個(gè)SQL語(yǔ)句。事務(wù)是一組SQL語(yǔ)句組成的一個(gè)邏輯單位。要么這些SQL語(yǔ)句全部被按順序正確執(zhí)行,要么在某SQL語(yǔ)句執(zhí)行失敗時(shí),按照用戶要求,取消已執(zhí)行的SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的修改;蛘咭词聞(wù)中SQL語(yǔ)句都被正確執(zhí)行,完成該事務(wù)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的所有操作;或者要么相當(dāng)于一條SQL語(yǔ)句也未執(zhí)行,數(shù)據(jù)庫(kù)數(shù)據(jù)未做任何改動(dòng)。

  (2)SQL語(yǔ)言的事務(wù)處理語(yǔ)句SQL語(yǔ)言有3條語(yǔ)句用于事務(wù)處理,它們是:

  (1)Commit語(yǔ)句,對(duì)于正確執(zhí)行了的事務(wù)進(jìn)行提交,進(jìn)行提交即對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的修改永久化。同時(shí)還釋放事務(wù)和封鎖,標(biāo)志該事務(wù)結(jié)束。

  (2)Save point語(yǔ)句,定義事務(wù)中的一個(gè)回滾保留點(diǎn),它是事務(wù)恢復(fù)時(shí)的一個(gè)標(biāo)記點(diǎn)。

  (3)rollback語(yǔ)句,無(wú)論事務(wù)執(zhí)行的當(dāng)前位置在哪里,該語(yǔ)句的執(zhí)行要么取消事務(wù)執(zhí)行以來(lái)對(duì)數(shù)據(jù)庫(kù)的全部修改,要么取消至某個(gè)指定回滾點(diǎn)后對(duì)數(shù)據(jù)庫(kù)的全部修改。釋放自保留點(diǎn)之后的全部表或行的封鎖(沒(méi)有保留點(diǎn),相當(dāng)于回滾到事務(wù)開(kāi)始處,終止該事務(wù))。事務(wù)的恢復(fù)(回滾)是根據(jù)事務(wù)執(zhí)行前保存下的當(dāng)時(shí)數(shù)據(jù)庫(kù)狀態(tài)來(lái)實(shí)現(xiàn)的。一遇到rollback語(yǔ)句,就將數(shù)據(jù)庫(kù)中數(shù)據(jù)恢復(fù)到原來(lái)的狀態(tài),相當(dāng)于撤消事務(wù)中已執(zhí)行了的SQL語(yǔ)句。

  四、數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)

  數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)不同于一般文件系統(tǒng)的存儲(chǔ)結(jié)構(gòu)。數(shù)據(jù)庫(kù)數(shù)據(jù)的特點(diǎn)是各種記錄型之間彼此有聯(lián)系,數(shù)據(jù)是結(jié)構(gòu)化的。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不僅涉及每種記錄型的記錄如何存儲(chǔ),而且要使數(shù)據(jù)的存儲(chǔ)反映各種記錄型之間的聯(lián)系。在DB多級(jí)模式中引入內(nèi)模式(存儲(chǔ)模式)的主要目的是使模式的數(shù)據(jù)結(jié)構(gòu)的描述同它的存儲(chǔ)表示的描述分開(kāi),以致DBA為了協(xié)調(diào)數(shù)據(jù)庫(kù)性能而對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的存儲(chǔ)方法進(jìn)行修改時(shí),可不必修改模式,以提高數(shù)據(jù)庫(kù)的物理獨(dú)立性。在各個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)中,對(duì)內(nèi)模式的定義功能各不相同。在關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)中有些DDL語(yǔ)句可影響數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)。在DBMS中各級(jí)模式的存儲(chǔ)結(jié)構(gòu)是恒定的或唯一的,而數(shù)據(jù)庫(kù)內(nèi)容(或其記錄)的存儲(chǔ)方式是不唯一的。數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)的好壞直接影響系統(tǒng)的性能。在存儲(chǔ)結(jié)構(gòu)中主要是涉及存儲(chǔ)記錄的設(shè)計(jì)。存儲(chǔ)記錄與概念記錄之間具有對(duì)應(yīng)關(guān)系,如果存儲(chǔ)記錄與概念記錄之間具有一一對(duì)應(yīng)關(guān)系,在這種情況下存儲(chǔ)記錄的設(shè)計(jì)就比較簡(jiǎn)單,不需要進(jìn)一步討論。概念記錄是指在邏輯結(jié)構(gòu)中的記錄。但當(dāng)一個(gè)概念記錄對(duì)應(yīng)多個(gè)不同類型的存儲(chǔ)記錄時(shí),存在如何設(shè)計(jì)存儲(chǔ)記錄的問(wèn)題。對(duì)于這樣的概念記錄,其存儲(chǔ)記錄可以有以下幾種設(shè)計(jì):

  1.順序組織

  將存儲(chǔ)記錄設(shè)計(jì)成與概念記錄一一對(duì)應(yīng),按SNO大小(或按記錄到來(lái))的順序?qū)⒂涗浗M成一個(gè)順序組織的文件。這樣組織的優(yōu)點(diǎn)是結(jié)構(gòu)簡(jiǎn)單,缺點(diǎn)是會(huì)浪費(fèi)存儲(chǔ)空間。

  2.順序帶鏈的組織

  順序帶鏈組織允許記錄中帶有指針(Pointer),這樣可以大大節(jié)省存儲(chǔ)空間。

  3.帶次關(guān)鍵字索引的順序組織

  為了適應(yīng)對(duì)多項(xiàng)內(nèi)容的檢索,可以建立索引文件,上述組織可改為帶次關(guān)鍵字索引的順序組織。

  4.多表組織

  在次關(guān)鍵字索引中,由于一個(gè)次關(guān)鍵字值對(duì)應(yīng)于多個(gè)記錄值,它們的個(gè)數(shù)是不固定的,所以對(duì)應(yīng)的指針數(shù)目是可變的。這種可變性給管理帶來(lái)困難,為了解決這個(gè)困難,引入了多表組織。多表組織的實(shí)現(xiàn)思想比較簡(jiǎn)單,在索引中多個(gè)指針?lè)稚⒋娣旁诿總(gè)記錄值中,索引項(xiàng)中的指針指向第一個(gè)記錄,在第一個(gè)記錄中的指針指向第二個(gè)記錄等等。

  5.完全倒排組織在一個(gè)記錄型中,對(duì)主關(guān)鍵字以外的數(shù)據(jù)項(xiàng)都建立索引,這樣的組織稱之為完全倒排組織。

  6.Hash定址組織對(duì)于每一個(gè)存儲(chǔ)記錄值存放在數(shù)據(jù)庫(kù)的什么地方,可通過(guò)對(duì)該記錄的主關(guān)鍵字值的雜湊函數(shù)計(jì)算得出。這種組織為Hash定址組織。雜湊函數(shù)種類很多,如質(zhì)數(shù)除余法、基數(shù)轉(zhuǎn)換法、平方取中法、折疊法、位移法及各位數(shù)字分析法等等。關(guān)鍵是如何選擇一個(gè)雜湊函數(shù),盡可能避免發(fā)生碰撞。對(duì)于不同的主關(guān)鍵字值通過(guò)計(jì)算而得到同一個(gè)地址的映象,稱之為碰撞。

  7.聯(lián)系的存儲(chǔ)

  在關(guān)系數(shù)據(jù)庫(kù)中,通過(guò)外來(lái)關(guān)鍵字(Foreign Key)來(lái)表示概念記錄之間的聯(lián)系。例如,為了表達(dá)學(xué)生和學(xué)校的聯(lián)系,可以在學(xué)生記錄中增加外來(lái)關(guān)鍵字“學(xué)校號(hào)”來(lái)表示聯(lián)系。

  相關(guān)推薦:

  2016年全國(guó)計(jì)算機(jī)等級(jí)考試考生須知

  各地2016年全國(guó)計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間匯總

  計(jì)算機(jī)等級(jí)考試通關(guān)必看:一至四級(jí)備考經(jīng)驗(yàn)分享

文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
Copyright © 2004- 考試吧計(jì)算機(jī)等級(jí)考試網(wǎng) All Rights Reserved 
中國(guó)科學(xué)院研究生院權(quán)威支持(北京)
在線模擬試題
考證通關(guān)殺器
考試最新資訊
學(xué)
一次通關(guān)技巧