Sybase數(shù)據(jù)庫操作培訓(xùn)課程_第1頁
Sybase數(shù)據(jù)庫操作培訓(xùn)課程_第2頁
Sybase數(shù)據(jù)庫操作培訓(xùn)課程_第3頁
Sybase數(shù)據(jù)庫操作培訓(xùn)課程_第4頁
Sybase數(shù)據(jù)庫操作培訓(xùn)課程_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Sybase數(shù)據(jù)庫操作介紹教師:張寧 138806723882010.97/15/202211. 關(guān)系數(shù)據(jù)庫概念介紹和Transact-SQL2. 客戶/服務(wù)器架構(gòu)介紹3. 在表中查詢數(shù)據(jù)4. 用聚合函數(shù)分析數(shù)據(jù)5. 查詢多張表(聯(lián)合查詢和子查詢)6. 建立表7. 建立臨時表和查詢系統(tǒng)表8. 修改表中數(shù)據(jù)9. 用視圖和索引改進查詢性能10. 用約束來強化數(shù)據(jù)完整性11. 使用可重用的數(shù)據(jù)庫對象(缺省和規(guī)則)12. 使用Transact-SQL函數(shù)操縱數(shù)據(jù)13. 用變量編程14. 用流控制語句編程15. 用事務(wù)維護數(shù)據(jù)庫一致性16. 事務(wù)管理:用鎖隔離數(shù)據(jù)17. 用游標(biāo)處理數(shù)據(jù)18. 寫基本的存

2、儲過程19. 優(yōu)化SQL和存儲過程20. 用觸發(fā)器加強參照完整性課程內(nèi)容概述 7/15/20222關(guān)系數(shù)據(jù)庫,是建立在關(guān)系數(shù)據(jù)庫模型基礎(chǔ)上的數(shù)據(jù)庫,借助于集合代數(shù)等概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù)。目前主流的關(guān)系數(shù)據(jù)庫有oracle、db2、mysql(開源)、sqlserver,sybase等。 1. 關(guān)系數(shù)據(jù)庫概念介紹和Transact-SQL 關(guān)系模型的邏輯結(jié)構(gòu)就是一張二維表,由行和列組成。7/15/202231. 關(guān)系數(shù)據(jù)庫概念介紹和Transact-SQL 學(xué)號姓名性別出生年月家庭住址入學(xué)成績03001張文男1983年3月新聞路45003002李陽男1985年2月五一路46803003

3、王平女1984年8月正義路47603120王英女1985年9月青年路4397/15/202241. 關(guān)系數(shù)據(jù)庫概念介紹和Transact-SQL 概念:(1) 關(guān)系。一個關(guān)系就是一張二維表(2) 元組。關(guān)系中的每一行稱為一個元組,一個元組就是一條記錄(3) 屬性。關(guān)系中的每一列稱為屬性,每個屬性對應(yīng)一個屬性名和一組屬性值(4) 域。一個屬性的取值范圍,稱為該屬性的域(5) 主鍵。主鍵是指一個關(guān)系中的屬性組合,它能唯一地標(biāo)識一個元組。(6) 關(guān)系模式。關(guān)系模式是一組被命名的相關(guān)屬性的集合,是對關(guān)系的描述。關(guān)系名(屬性1,屬性2,屬性n), 例如:學(xué)生檔案(學(xué)號,姓名入學(xué)成績)(7) 關(guān)系模型。關(guān)

4、系模型是指為一個應(yīng)用系統(tǒng)所建立的一組關(guān)系模式,每個模式之間的聯(lián)系是通過公共屬性(即具有相同定義域的屬性)實現(xiàn)的。7/15/202251. 關(guān)系數(shù)據(jù)庫概念介紹和Transact-SQL 關(guān)系有如下性質(zhì):(1) 一個域中的各項目是同類的,即每一列中的分量是同一類型的數(shù)據(jù)(2) 不同的列可以出自同一個域,每一列稱為屬性,需給予不同的名稱(3) 列的順序無所謂,即列的次序可以任意交換(4) 關(guān)系中的各個元組是不同的,即不允許有重復(fù)的元組(5) 行的順序無所謂,即行的次序可以任意交換(6) 每一分量必須是不可分的數(shù)據(jù)項 7/15/202261. 關(guān)系數(shù)據(jù)庫概念介紹和Transact-SQL Transa

5、ct-SQL SQL 是用于訪問和處理數(shù)據(jù)庫的標(biāo)準(zhǔn)的計算機語言。因此全部主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL。但很多公司都擁有對標(biāo)準(zhǔn)SQL的擴充。比如oracle的sql plus,sql server的T sql,Sybase的Transact-SQL。7/15/202271. 關(guān)系數(shù)據(jù)庫概念介紹和Transact-SQL SQL語言包含4個部分: 數(shù)據(jù)定義語言(DDL),例如:CREATE、DROP、ALTER等語句。 數(shù)據(jù)操作語言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(刪除)語句。 數(shù)據(jù)查詢語言(DQL),例如:SELECT語句。 數(shù)據(jù)控制語言(DCL

6、),例如:GRANT、REVOKE、COMMIT、ROLLBACK等語句。7/15/202281. 關(guān)系數(shù)據(jù)庫概念介紹和Transact-SQL Transact-SQL是Sybase公司對標(biāo)準(zhǔn)SQL的一種擴展,增加了變量、運算符、函數(shù)、流程控制和注釋等語言元素,它提供重要的額外功能和函數(shù),如匯總計算、存儲過程(預(yù)定義的 SQL 語句)和錯誤處理,使得其功能更加強大,允許SQL的數(shù)據(jù)操縱語言和查詢語句包含在塊結(jié)構(gòu)和代碼過程語言中。7/15/202292. 客戶/服務(wù)器架構(gòu)介紹客戶服務(wù)器(client/server,C/S)方式所描述的是進程之間服務(wù)和被服務(wù)的關(guān)系,客戶是服務(wù)請求方,服務(wù)器是服務(wù)

7、提供方。客戶向服務(wù)器發(fā)送請求,服務(wù)器向客戶提供服務(wù)??蛻襞c服務(wù)器的通信關(guān)系建立后,通信可以是雙向的,客戶和服務(wù)器都可發(fā)送和接收數(shù)據(jù)。7/15/2022102. 客戶/服務(wù)器架構(gòu)介紹優(yōu)點在于:1. 應(yīng)用服務(wù)器運行數(shù)據(jù)負荷較輕。 2. 數(shù)據(jù)的儲存管理功能較為透明。 數(shù)據(jù)庫應(yīng)用由兩部分組成,即客戶應(yīng)用程序和數(shù)據(jù)庫服務(wù)器程序。二者可分別稱為前臺程序與后臺程序。 B/S架構(gòu)(Browser/Server架構(gòu))7/15/2022112. 客戶/服務(wù)器架構(gòu)介紹 ODBC:開放數(shù)據(jù)庫互連(Open Database Connectivity,ODBC)是微軟公司開放服務(wù)結(jié)構(gòu)(WOSA,Windows Open

8、 Services Architecture)中有關(guān)數(shù)據(jù)庫的一個組成部分,它建立了一組規(guī)范,并提供了一組對數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)API(應(yīng)用程序編程接口)。這些API利用SQL來完成其大部分任務(wù)。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC。一個基于ODBC的應(yīng)用程序?qū)?shù)據(jù)庫的操作不依賴任何DBMS,不直接與DBMS打交道,所有的數(shù)據(jù)庫操作由對應(yīng)的DBMS的ODBC驅(qū)動程序完成。也就是說,不論是FoxPro、Access還是Oracle數(shù)據(jù)庫,均可用ODBCAPI進行訪問。 由此可見,ODBC的最大優(yōu)點是能以統(tǒng)一的方式處理所有的數(shù)據(jù)庫。7/15/2022127/15/

9、2022133. 在表中查詢數(shù)據(jù)以下四部分內(nèi)容:1. 使用 select 子句選擇列2. 利用 distinct 消除重復(fù)查詢結(jié)果3. 利用 from 子句指定表4. 使用 where 子句選擇行select 命令使用一個稱作查詢的過程檢索數(shù)據(jù)庫表的行和列中存儲的數(shù)據(jù)。查詢有三個主要部分:select 子句、from 子句和 where 子句。7/15/2022143. 在表中查詢數(shù)據(jù) 使用 select 子句選擇列使用 select * 選擇所有列select * from publishers7/15/2022153. 在表中查詢數(shù)據(jù) 使用 select 子句選擇列選擇特定列select

10、au_lname, au_fname from authors7/15/2022163. 在表中查詢數(shù)據(jù) 使用 select 子句選擇列使用表達式select title_id, total_sales * price from titles7/15/2022173. 在表中查詢數(shù)據(jù) 利用 distinct 消除重復(fù)查詢結(jié)果select au_id from titleauthorselect distinct au_id from titleauthor可選的 distinct 關(guān)鍵字將從 select 語句的缺省結(jié)果中消除重復(fù)行。比較兩條語句7/15/2022183. 在表中查詢數(shù)據(jù) 利用

11、 from 子句指定表在 from 子句中始終允許表和視圖的完整命名語法:database.owner.table_namedatabase.owner.view_name如果 from子句包括多個表或視圖,可用逗號分隔它們??梢再x給表名相關(guān)名,以節(jié)省鍵入時間。通過在表名之后提供相關(guān)名,從而在 from 子句中分配相關(guān)名,如下所示:select p.pub_id, p.pub_name from publishers p7/15/2022193. 在表中查詢數(shù)據(jù) 使用 where 子句選擇行select 語句中的 where 子句指定搜索條件,用來確定檢索哪些行。一般格式為:select se

12、lect_list from table_list where search_conditionswhere 子句中的搜索條件或限定包括: 比較運算符(=、 等等)where advance * 2 total_sales * price 范圍(between 和 not between)where total_sales between 4095 and 12000 列表(in、not in)where state in (CA, IN, MD) 字符匹配(like 和 not like)where phone not like 415% 未知值(is null 和 is not null)

13、where advance is null 搜索條件的組合(and、or)where advance 5500比較運算符7/15/2022213. 在表中查詢數(shù)據(jù) 使用 where 子句選擇行select title_id, total_sales from titleswhere total_sales not between 4095 and 12000使用 between 可以關(guān)鍵字指定包括的范圍。7/15/2022223. 在表中查詢數(shù)據(jù) 使用 where 子句選擇行列表(in 和 not in)select au_lname, state from authorswhere stat

14、e = CA or state = IN or state = MDselect au_lname, state from authorswhere state in (CA, IN, MD)比較兩條語句7/15/2022233. 在表中查詢數(shù)據(jù) 使用 where 子句選擇行列表(in 和 not in)in 關(guān)鍵字的最重要用途或許是用在嵌套查詢(又稱為子查詢)中select au_lname, au_fname from authorswhere au_id in (select au_id from titleauthor where royaltyper 15000 and avg(pr

15、ice) 08007/15/2022334. 用集合函數(shù)分析數(shù)據(jù)選擇數(shù)據(jù)組:having 子句select title_idfrom titleshaving avg(price) $2.0select title_idfrom titleswhere avg(price) $2.07/15/2022344. 用集合函數(shù)分析數(shù)據(jù)對查詢結(jié)果進行排序:order by 子句 使用 order by 子句可以按一個或多個(最多 31 個)列對查詢結(jié)果進行排序。每個排序不是升序 (asc) 就是降序 (desc)。如果未指定任何排序方式,則缺省為 asc。select pub_id, type, title_idfrom titlesorder by pub_id7/15/2022354. 用集合函數(shù)分析數(shù)據(jù)對查詢結(jié)果進行排序:order by 子句 可以使用 order by 子句以特定方式對 group by 的結(jié)果進行排序。將 order by 子句置于 group by 子句之后。例如,要得出每種類型書籍的平均價格,并按平均價格對結(jié)果進行排序。select type, avg(price)from titlesgroup by typ

溫馨提示

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

評論

0/150

提交評論