首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
9.不用游標的DML語句
不需要游標的DML語句有:查詢結果為單記錄的SELECT語句UPDATE(除了CURRENT形式的UPDATE)語句DELETE(除了CURRENT形式的DELETE)語句INSERT語句
(1)查詢結果為單記錄的SELECT語句這類語句的一般格式是:(主語言為PL/1)EXEC SQL SELECT目標列INTO主變量[空值標志]FROM基本表(或視圖)[WHERE條件表達式];SELECT語句從數據庫中找到符合條件的記錄,把結果放到主變量中。
(2)UPDATE語句
(3)DELETE語句
(4)INSERT語句
10.使用游標的DML語句
一般情況下SELECT語句的查詢結果是記錄的集合而不是單個記錄,為此需要用游標機制作為橋梁,把集合操作轉換為單記錄處理。與游標有關的語句有四個:
(1)定義游標。游標是與某一查詢結果相聯系的符號名。用DECLARE語句定義。這是一個說明語句。與游標相對應的SELECT語句這時并不執行。
(2)打開(OPEN)游標。打開游標語句使游標處于活動狀態。與游標相應的查詢語句被執行。游標指向查詢結果集中的第一個記錄之前。
(3)推進(FETCH)游標。把游標向前推進一個記錄,并把游標指向的當前記錄中的字段值取出,放到INTO子句后相應的主變量中。FETCH語句常常用于循環,以借助主語言功能逐一處理結果集中的數據。(4)關閉(CLOSE)游標。關閉游標,使它不再和原來的查詢結果相聯系。關閉了的游標可以再次被打開,與新的查詢結果集相聯系。使用CURRENT形式的UPDATE和刪除語句應注意:
(1)若游標定義中的SELECT語句帶有UNION或ORDER BY子句,或者這個SELECT語句相當于定義了一個不可更新的視圖,則不能用這兩個更新語句。
(2)若使用CURRENT形式的UPDATE語句,則游標定義中要包括FOR UPDATE子句,指出更新的字段(SET子句中使用的字段)。因此,游標定義語句的一般格式為:EXEC SQL DECLARE游標名CURSOR FOR子查詢UNION子查詢…[FOR UPDATE OF字段名[,字段名]…|ORDER-BY-子句];
11.SQL的事務處理功能
(1)事務處理的概述所謂事務(Transaction)是指一系列動作的組合,這些動作被當作一個整體來處理。這些動作或者相繼都被執行,或者什么也不做。在數據庫中,一個動作是指一個SQL語句。事務是一組SQL語句組成的一個邏輯單位。要么這些SQL語句全部被按順序正確執行,要么在某SQL語句執行失敗時,按照用戶要求,取消已執行的SQL語句對數據庫中數據的修改。或者要么事務中SQL語句都被正確執行,完成該事務對數據庫中數據的所有操作;或者要么相當于一條SQL語句也未執行,數據庫數據未做任何改動。
(2)SQL語言的事務處理語句SQL語言有3條語句用于事務處理,它們是:
(1)Commit語句,對于正確執行了的事務進行提交,進行提交即對數據庫中數據的修改永久化。同時還釋放事務和封鎖,標志該事務結束。
(2)Save point語句,定義事務中的一個回滾保留點,它是事務恢復時的一個標記點。
(3)rollback語句,無論事務執行的當前位置在哪里,該語句的執行要么取消事務執行以來對數據庫的全部修改,要么取消至某個指定回滾點后對數據庫的全部修改。釋放自保留點之后的全部表或行的封鎖(沒有保留點,相當于回滾到事務開始處,終止該事務)。事務的恢復(回滾)是根據事務執行前保存下的當時數據庫狀態來實現的。一遇到rollback語句,就將數據庫中數據恢復到原來的狀態,相當于撤消事務中已執行了的SQL語句。
四、數據庫的存儲結構
數據庫的存儲結構不同于一般文件系統的存儲結構。數據庫數據的特點是各種記錄型之間彼此有聯系,數據是結構化的。數據的存儲結構不僅涉及每種記錄型的記錄如何存儲,而且要使數據的存儲反映各種記錄型之間的聯系。在DB多級模式中引入內模式(存儲模式)的主要目的是使模式的數據結構的描述同它的存儲表示的描述分開,以致DBA為了協調數據庫性能而對數據庫數據的存儲方法進行修改時,可不必修改模式,以提高數據庫的物理獨立性。在各個數據庫管理系統中,對內模式的定義功能各不相同。在關系數據庫管理系統中有些DDL語句可影響數據庫的存儲結構。在DBMS中各級模式的存儲結構是恒定的或唯一的,而數據庫內容(或其記錄)的存儲方式是不唯一的。數據庫存儲結構設計的好壞直接影響系統的性能。在存儲結構中主要是涉及存儲記錄的設計。存儲記錄與概念記錄之間具有對應關系,如果存儲記錄與概念記錄之間具有一一對應關系,在這種情況下存儲記錄的設計就比較簡單,不需要進一步討論。概念記錄是指在邏輯結構中的記錄。但當一個概念記錄對應多個不同類型的存儲記錄時,存在如何設計存儲記錄的問題。對于這樣的概念記錄,其存儲記錄可以有以下幾種設計:
1.順序組織
將存儲記錄設計成與概念記錄一一對應,按SNO大小(或按記錄到來)的順序將記錄組成一個順序組織的文件。這樣組織的優點是結構簡單,缺點是會浪費存儲空間。
2.順序帶鏈的組織
順序帶鏈組織允許記錄中帶有指針(Pointer),這樣可以大大節省存儲空間。
3.帶次關鍵字索引的順序組織
為了適應對多項內容的檢索,可以建立索引文件,上述組織可改為帶次關鍵字索引的順序組織。
4.多表組織
在次關鍵字索引中,由于一個次關鍵字值對應于多個記錄值,它們的個數是不固定的,所以對應的指針數目是可變的。這種可變性給管理帶來困難,為了解決這個困難,引入了多表組織。多表組織的實現思想比較簡單,在索引中多個指針分散存放在每個記錄值中,索引項中的指針指向第一個記錄,在第一個記錄中的指針指向第二個記錄等等。
5.完全倒排組織在一個記錄型中,對主關鍵字以外的數據項都建立索引,這樣的組織稱之為完全倒排組織。
6.Hash定址組織對于每一個存儲記錄值存放在數據庫的什么地方,可通過對該記錄的主關鍵字值的雜湊函數計算得出。這種組織為Hash定址組織。雜湊函數種類很多,如質數除余法、基數轉換法、平方取中法、折疊法、位移法及各位數字分析法等等。關鍵是如何選擇一個雜湊函數,盡可能避免發生碰撞。對于不同的主關鍵字值通過計算而得到同一個地址的映象,稱之為碰撞。
7.聯系的存儲
在關系數據庫中,通過外來關鍵字(Foreign Key)來表示概念記錄之間的聯系。例如,為了表達學生和學校的聯系,可以在學生記錄中增加外來關鍵字“學校號”來表示聯系。
希望與更多計算機等級考試的網友交流,請進入計算機等級考試論壇
更多信息請訪問:考試吧計算機等級考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |