![數(shù)據(jù)庫應(yīng)用技術(shù)的基本概念_第1頁](http://file4.renrendoc.com/view/98fc7cea5098fc8e86fe09d50b776d8b/98fc7cea5098fc8e86fe09d50b776d8b1.gif)
![數(shù)據(jù)庫應(yīng)用技術(shù)的基本概念_第2頁](http://file4.renrendoc.com/view/98fc7cea5098fc8e86fe09d50b776d8b/98fc7cea5098fc8e86fe09d50b776d8b2.gif)
![數(shù)據(jù)庫應(yīng)用技術(shù)的基本概念_第3頁](http://file4.renrendoc.com/view/98fc7cea5098fc8e86fe09d50b776d8b/98fc7cea5098fc8e86fe09d50b776d8b3.gif)
![數(shù)據(jù)庫應(yīng)用技術(shù)的基本概念_第4頁](http://file4.renrendoc.com/view/98fc7cea5098fc8e86fe09d50b776d8b/98fc7cea5098fc8e86fe09d50b776d8b4.gif)
![數(shù)據(jù)庫應(yīng)用技術(shù)的基本概念_第5頁](http://file4.renrendoc.com/view/98fc7cea5098fc8e86fe09d50b776d8b/98fc7cea5098fc8e86fe09d50b776d8b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)據(jù)庫應(yīng)用技術(shù)
第二章基本概念第一頁,共二十五頁。2.1SQL概述第二頁,共二十五頁。2.1.1SQL的發(fā)展1976年:IBM的E.F.Codd發(fā)表了一篇里程碑的論文“ASystemR:RelationalApproachtoDatabaseManagement”R系統(tǒng):數(shù)據(jù)庫關(guān)系理論,介紹了關(guān)系數(shù)據(jù)庫理論和查詢語言SQL。1976年11月:IBMJournalofR&D文章中,IBM使用StructuredEnglishQUeryLanguage(SEQUEL,結(jié)構(gòu)化英語查詢語言)。后來,發(fā)現(xiàn)以被一個英國飛機公司作為商標,改為SQL。第三頁,共二十五頁。2.1.1SQL的發(fā)展SQL-86(ANSI)SQL-89(ANSI,ISO)SQL-92(ANSI,ISO)SQL-99(ANSI,ISO)SQL-2003(ANSI,ISO)事實上,國際標準與各個廠商之間的不兼容,造成了不可移植性。如字符串鏈接||與+;引號;數(shù)據(jù)類型;函數(shù);特殊語義等。第四頁,共二十五頁。2.1.2SQL的特點關(guān)系代數(shù)的實現(xiàn)類自然語言即時性上下文無關(guān)性非過程化、命令集合邏輯獨立性第五頁,共二十五頁。2.1.2SQL的特點Embedded(內(nèi)含)SQL過程控制SQLOracle:PL/SQLDB2:SQL/PLSQLServer:Transact-SQL第六頁,共二十五頁。2.1.3SQL分類DQLDataQueryLanguage數(shù)據(jù)查詢語言,如SELECT。DMLDataManipulateLanguage數(shù)據(jù)操縱語言,如INSERT、DELETE、UPDATE。DDLDataDefinitionLanguage數(shù)據(jù)定義語言,如CREATE、DROP、ALTER等。DCLDataControlLanguage數(shù)據(jù)控制語言,如COMMIT、ROLLBACK等。第七頁,共二十五頁。2.2基本語法與數(shù)據(jù)類型第八頁,共二十五頁。2.2.1基本語法SQL語句不區(qū)分大小寫,可以寫在多行,各個單詞之間使用分隔符(空格,回車,制表符)分隔。語句的結(jié)尾使用分號(Oracle)。SQL語句中的關(guān)鍵字屬于保留字,不能用于其他地方。SQL中數(shù)字常量的寫法和通常程序語言一致,字符串使用單引號包含,字符串中的單引號使用兩個連續(xù)的單引號轉(zhuǎn)義表示,不區(qū)分字符和字符串。在SQL語句中可以加入注釋,多行注釋使用/*…*/,單行用--(oracle)。第九頁,共二十五頁。2.2.1基本語法為便于書寫和閱讀,通常采用如下的書寫規(guī)范:關(guān)鍵字大寫,其他標識符小寫;每個子句單起一行;使用制表符縮進。第十頁,共二十五頁。2.2.2數(shù)據(jù)類型Oracle提供了22種不同的SQL數(shù)據(jù)類型CHAR、NCHAR、VARCHAR2、NVARCHAR2、RAW、NUMBER、BINARY_FLOAT、BINARY_DOUBLE、LONG、LONGRAW、DATE、TIMESTAMP、TIMESTAMPWITHTIMEZONE、TIMESTAMPWITHLOCALTIMEZONE、INTERVALYEARTOMONTH、INTERVALDAYTOSECOND、BFILE、BLOB、CLOB、NCLOB、ROWID、UROWID。第十一頁,共二十五頁。2.2.2數(shù)據(jù)類型——數(shù)值型NUMBER(P,S)。其中,P為Precision,意為數(shù)值的最大位數(shù)(十進制),P<=38;S為Scale,意為小數(shù)點后的最多位數(shù)。如NUMBER(5,2),NUMBER(4),NUMBER(5,-2)。如果給出S,表示一個定點數(shù),當(dāng)S為正數(shù)時,意為小數(shù)點后的最多位數(shù);為負數(shù)時,四舍五入到小數(shù)點前S位。如果不給出p和s,表示一個浮點數(shù)。要注意的是scale的值沒有應(yīng)用,也就是說scale的值不能簡單的理解為0,或者其他的數(shù)。NUMBER有幾種子類型,和ANSI/ISO的寫法兼容定點數(shù):DEC,DECIMAL,NUMERIC浮點數(shù):FLOAT,DOUBLE整數(shù):INTEGER,INT,SMALLINT第十二頁,共二十五頁。2.2.2數(shù)據(jù)類型——字符型在Oracle中,分為定長字符串和可變長字符串兩種字符類型,不區(qū)分字符和字符串。定長字符串:CHAR(S),S是字符串的固定長度,S<=2000;可變長字符串:VARCHAR2(S),S是字符串的最大長度,S<=4000;定長字符串在存儲時使用固定長度,如果數(shù)據(jù)長度小,則在后面填充空格;可變長字符串按照真實長度存儲數(shù)據(jù),不填充空格,節(jié)省空間,但存儲和運算時間略長。第十三頁,共二十五頁。2.2.2數(shù)據(jù)類型——日期型在Oracle中,DATE是7字節(jié)定寬日期/時間數(shù)據(jù)類型,表示日期和時間,表示的內(nèi)容包括:世紀、年、月、時、分、秒。最小單位為秒。時間范圍可以從公元前4712年到公元9999年。在日期型數(shù)據(jù)進行比較時,后面的日期更大。在需要精確定時的情況下,可以使用TIMESTAMP類型,7字節(jié)或11字節(jié)的定寬日期/時間數(shù)據(jù)類型。TIMESTAMPWITHTIMEZONE:13字節(jié)的定寬TIMESTAMP,提供了時區(qū)支持。TIMESTAMPWITHLOCALTIMEZONE:7或11字節(jié)的定寬TIMESTAMP,對時區(qū)敏感,根據(jù)數(shù)據(jù)庫時區(qū)對數(shù)據(jù)進行規(guī)范化。第十四頁,共二十五頁。2.2.2數(shù)據(jù)類型——日期型INTERVAL用來表示一段時間長度(兩個時間的差),如“半個小時”這樣的概念。INTERVALYEARTOMONTH:5字節(jié)定寬INTERVALDAYTOSECOND:11字節(jié)定寬可以再日期運算中是一個DATE或TIMESTAMP類型增加或減少一段時間。第十五頁,共二十五頁。2.2.2數(shù)據(jù)類型NCHAR:包含UNICODE格式數(shù)據(jù)的定長字符串。NVARCHAR2:包含UNICODE格式數(shù)據(jù)的變長字符串。RAW:變長二進制數(shù)據(jù)類型,存儲的數(shù)據(jù)不會發(fā)生字符集轉(zhuǎn)換。BINARY_FLOAT:32位單精度浮點數(shù)。Oracle10gRelease1后新增。BINARY_DOUBLE:64位雙精度浮點數(shù)。Oracle10gRelease1后新增。LONG:能存儲最多2GB的字符數(shù)據(jù)。只為保證向后兼容,建議采用CLOB。第十六頁,共二十五頁。2.2.2數(shù)據(jù)類型LONGRAW:能存儲最多2GB的二進制信息。只為保證向后兼容,建議采用BLOB。BFILE:可以在數(shù)據(jù)庫列中存儲一個Oracle目錄對象(操作系統(tǒng)目錄的一個指針)和一個文件名,并讀取這個文件。只讀方式訪問數(shù)據(jù)庫服務(wù)器上可用的操作系統(tǒng)文件。BLOB:Oracle10g后允許存儲(4GB)*(數(shù)據(jù)庫塊大小)字節(jié)的數(shù)據(jù)。包含不需要進行字符集轉(zhuǎn)換的“二進制”數(shù)據(jù),如電子表格、字處理文檔、圖像文件等。CLOB:包含要進行字符集轉(zhuǎn)換的信息,適合存儲純文本信息。第十七頁,共二十五頁。NCLOB:存儲用數(shù)據(jù)庫國家字符集編碼的信息,而且像CLOB一樣,需要進行字符集轉(zhuǎn)換。ROWID:數(shù)據(jù)庫中一行的10字節(jié)地址,在磁盤上定位這一行,標識ROWID指向的對象。UROWID:通用ROWID,用于表,是行主鍵值的一種表示。根據(jù)指向?qū)ο蟮牟煌笮兴兓?。INT、INTEGER、SMALLINT、FLOAT、REAL等是在前面類型的基礎(chǔ)上實現(xiàn)的,同義詞。第十八頁,共二十五頁。2.2.3常用函數(shù)——日期型DATE類型數(shù)據(jù)的表示方式:在缺省情況下,使用美國式日期格式表示法,即DD-MON-YY,并且沒有時間信息,如04-Apr-05。其他的格式表示法需要通過設(shè)定會話參數(shù)或者使用日期轉(zhuǎn)換函數(shù)完成。如TO_CHAR(SYSDATE,'YYYY/MM/DDHI24:MI:SS)
來顯示所有的年月日、時分秒信息。當(dāng)前時間若為
2007年5月24日下午3點12分45秒,上面的函數(shù)返回字符串'2007/05/2415:12:45'第十九頁,共二十五頁。2.2.3常用函數(shù)——數(shù)值型對于數(shù)值型,通常的+-*/等算術(shù)運算符都可以使用數(shù)值型函數(shù)是對數(shù)值進行操作的函數(shù),包括我們常見的各種數(shù)學(xué)函數(shù),如sin,cos等。下面兩個函數(shù)是比較特別和有用的。符號函數(shù)SIGN(x):-1,x<0;0,x=0;1,x>0。四舍五入函數(shù):xCEILFLOORROUNDTRUNC2.332222.63232-2.3-2-3-2-2-2.6-2-3-3-2第二十頁,共二十五頁。2.2.3常用函數(shù)——字符型字符型的連接運算符是
||,可以將兩個字符串連接在一起。ASCII轉(zhuǎn)換:ASCII,CHR大小寫:UPPER,LOWER,INITCAP查找/替換:INSTR,REPLACE長度:LENGTH填充/移除:LPAD,RPAD,TRIM取子串:SUBSTR第二十一頁,共二十五頁。2.2.3常用函數(shù)——日期型兩個DATE類型的數(shù)據(jù)可以作減法,結(jié)果是一個浮點小數(shù),表示時間相差的天數(shù)。如今天12點減去昨天12點等于1;如今天6點減去今天12點等于-0.25;一個時間也可以加/減一個數(shù),表示在此時間點向后或向前推若干天。SYSDATE:返回系統(tǒng)當(dāng)前時間。此函數(shù)不用寫括號。其他日期型函數(shù)大多用來進行不規(guī)則的日期運算,如:MONTHS_BETWEEN:計算兩個日期之間相差的月份ADD_MONTHS:日期加上月份。第二十二頁,共二十五頁。2.2.3常用函數(shù)——日期型NEXT_DAY:下一個特定的日期,如星期幾。LAST_DAY:返回月份的最后一天。ROUND和TRUNC函數(shù)也能對日期類型進行計算,按照規(guī)定的格式符四舍五入或者截斷到某個日期單位(如年、月、日)。第二十三頁,共二十五頁。2.2.3常用函數(shù)——類型轉(zhuǎn)換隱式類型轉(zhuǎn)換:Oracle是弱類型語言,各個類型之間可以直接相互運算,系統(tǒng)自動轉(zhuǎn)換為合適的類型,如:‘123’+5=128‘123’||5=‘1235’必要的時候,也可以使用顯式的類型轉(zhuǎn)換函數(shù),類型轉(zhuǎn)換函數(shù)有三個,即:TO_DATE,TO_CHAR,TO_NUMBER在轉(zhuǎn)換時,可以使用必要的格式符說明格式細節(jié),否則使用缺省格式。第二十四頁,共二十五頁。內(nèi)容總結(jié)數(shù)據(jù)庫應(yīng)用技術(shù)
第二章基本概念。2.2.2
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 礦產(chǎn)品供貨協(xié)議合同
- 有車輛的離婚協(xié)議書
- 北京商品房認購協(xié)議書
- 農(nóng)業(yè)種植技術(shù)指導(dǎo)書
- 純技術(shù)入股合作的協(xié)議書
- 湖南離婚協(xié)議書年
- 三農(nóng)村土地整治與開發(fā)方案
- 托管班合作協(xié)議書
- 股權(quán)融資合同書
- 標準汽車租賃合同協(xié)議
- 2024年05月浙江金華成泰農(nóng)商銀行員工招考筆試歷年參考題庫附帶答案詳解
- 帶看協(xié)議書范本(2篇)
- 2025-2030年中國科教玩具行業(yè)發(fā)展動態(tài)及前景趨勢分析報告新版
- 馬匹寄養(yǎng)協(xié)議書
- 股權(quán)投資項目建議書
- 2025年北京廣播電視臺招聘(140人)歷年高頻重點提升(共500題)附帶答案詳解
- 2025年全國計算機二級等級考試全真模擬試卷及答案(共九套卷)
- 2024復(fù)工復(fù)產(chǎn)安全培訓(xùn)
- 2025中國南光集團限公司校園招聘高頻重點提升(共500題)附帶答案詳解
- 機加工行業(yè)安全生產(chǎn)風(fēng)險辨識及控制清單
- 江蘇省蘇州市2024-2025學(xué)年第一學(xué)期八年級數(shù)學(xué)期末模擬卷(一)(無答案)
評論
0/150
提交評論