首頁(yè) 考試吧論壇 Exam8視線(xiàn) 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱(chēng)英語(yǔ) | 商務(wù)英語(yǔ) | 公共英語(yǔ) | 托福 | 雅思 | 專(zhuān)四專(zhuān)八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語(yǔ) | 成人英語(yǔ)三級(jí) | 申碩英語(yǔ) | 攻碩英語(yǔ) | 職稱(chēng)日語(yǔ) | 日語(yǔ)學(xué)習(xí) | 法語(yǔ) | 德語(yǔ) | 韓語(yǔ)
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱(chēng)計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問(wèn) | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷(xiāo)員 | 國(guó)際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢(xún)師考試 | 秘書(shū)資格 | 心理咨詢(xún)師考試 | 出版專(zhuān)業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱(chēng) | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國(guó)際內(nèi)審師
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢(xún)工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測(cè)繪師 | 注冊(cè)計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語(yǔ)學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

全國(guó)計(jì)算機(jī)等級(jí)考試四級(jí)復(fù)習(xí)綱要六

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

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

  (1)查詢(xún)結(jié)果為單記錄的SELECT語(yǔ)句這類(lèi)語(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ǔ)句的查詢(xún)結(jié)果是記錄的集合而不是單個(gè)記錄,為此需要用游標(biāo)機(jī)制作為橋梁,把集合操作轉(zhuǎn)換為單記錄處理。與游標(biāo)有關(guān)的語(yǔ)句有四個(gè):
  
  (1)定義游標(biāo)。游標(biāo)是與某一查詢(xún)結(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)的查詢(xún)語(yǔ)句被執(zhí)行。游標(biāo)指向查詢(xún)結(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)的查詢(xún)結(jié)果相聯(lián)系。關(guān)閉了的游標(biāo)可以再次被打開(kāi),與新的查詢(xún)結(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子查詢(xún)UNION子查詢(xún)…[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í),按照用戶(hù)要求,取消已執(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è)不同類(lèi)型的存儲(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)都建立索引,這樣的組織稱(chēng)之為完全倒排組織。

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

希望與更多計(jì)算機(jī)等級(jí)考試的網(wǎng)友交流,請(qǐng)進(jìn)入計(jì)算機(jī)等級(jí)考試論壇

更多信息請(qǐng)?jiān)L問(wèn):考試吧計(jì)算機(jī)等級(jí)考試欄目

上一頁(yè)  1 2 3 4 5 6 7 8 9 10  ... 下一頁(yè)  >> 
文章搜索
版權(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)注明出處。