數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)培訓(xùn)-課件_第1頁(yè)
數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)培訓(xùn)-課件_第2頁(yè)
數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)培訓(xùn)-課件_第3頁(yè)
數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)培訓(xùn)-課件_第4頁(yè)
數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)培訓(xùn)-課件_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)一、金融數(shù)據(jù)元素二、常用的數(shù)據(jù)庫(kù):MySql、Oracle、Sqlserver、Sybase、DB2,相同點(diǎn)不同點(diǎn)三、常用Sql的寫(xiě)法,特別是表關(guān)聯(lián)四、Sql優(yōu)化,注意事項(xiàng)五、索引應(yīng)用六、存儲(chǔ)過(guò)程功能、組成,常用寫(xiě)法七、游標(biāo)的應(yīng)用八、觸發(fā)器功能、組成、類(lèi)型,常用寫(xiě)法一、金融數(shù)據(jù)元素一、金融數(shù)據(jù)元素你的儲(chǔ)蓄卡余額還有money?你的信用卡本月應(yīng)還款和本月消費(fèi)各多少金額?你的身份證號(hào)和卡號(hào)在哪里存放著呢?

………….一、金融數(shù)據(jù)元素你的儲(chǔ)蓄卡余額還有money?二、常見(jiàn)數(shù)據(jù)庫(kù)比較MySql:短小精悍,占用資源少,速度快,開(kāi)源的,支持多用戶多任務(wù),跨多平臺(tái),支持命令和圖形化管理,面向中小企業(yè)。Sqlserver:只能在Windows上運(yùn)行,C/S結(jié)構(gòu),只支持Windows客戶,中型數(shù)據(jù)庫(kù)。Oracle:比較成熟,對(duì)硬件要求高,用于數(shù)據(jù)完整性、安全性要求較高的場(chǎng)合,能在所有主流平臺(tái)上運(yùn)行,完全支持所有的工業(yè)標(biāo)準(zhǔn),采用完全開(kāi)放策略。Sybase:與Oracle相似,但在性能和伸縮性上差異比較大。特別Sybase

ASE用于日常業(yè)務(wù);SybaseIQ用于核心數(shù)據(jù)的處理。DB2:與Oracle和Sybase差異較大,特別實(shí)時(shí)性、兼容性、安全性上。銀行主機(jī)多為DB2數(shù)據(jù)庫(kù),基本都IBM主機(jī)。二、常見(jiàn)數(shù)據(jù)庫(kù)比較MySql:短小精悍,占用資源少,速度快,三、常用Sql的寫(xiě)法(詳見(jiàn)實(shí)例)1.innerjoin:內(nèi)關(guān)聯(lián)2.LEFTOUTERJOIN:左外關(guān)聯(lián)3.RIGHTOUTERJOIN:右外關(guān)聯(lián)4.FULLOUTERJOIN:全外關(guān)聯(lián)5.習(xí)慣寫(xiě)法一:取另一個(gè)表的某一列值6.習(xí)慣寫(xiě)法二:notin或in改為notexists或exists三、常用Sql的寫(xiě)法(詳見(jiàn)實(shí)例)1.innerjoin:

四、Sql優(yōu)化,注意事項(xiàng)

四、Sql優(yōu)化,注意事項(xiàng)

五、索引應(yīng)用

五、索引應(yīng)用六、存儲(chǔ)過(guò)程_創(chuàng)建語(yǔ)法(詳見(jiàn)實(shí)例):

createorreplaceprocedure存儲(chǔ)過(guò)程名(param1intype,param2outtype)as變量1類(lèi)型(值范圍);--vs_msgVARCHAR2(4000);變量2類(lèi)型(值范圍);BeginSelectcount(*)into變量1from表Awhere列名=param1;

If(判斷條件)thenSelect列名into變量2from表Awhere列名=param1;

Dbms_output。Put_line(‘打印信息’);Elsif(判斷條件)thenDbms_output。Put_line(‘打印信息’);ElseRaise異常名(NO_DATA_FOUND);Endif;ExceptionWhenothersthenRollback;End;六、存儲(chǔ)過(guò)程_創(chuàng)建語(yǔ)法(詳見(jiàn)實(shí)例):createor六、存儲(chǔ)過(guò)程_基本語(yǔ)法(詳見(jiàn)實(shí)例):1CREATEORREPLACEPROCEDURE存儲(chǔ)過(guò)程名2IS3BEGIN4NULL;5END;行1:CREATEORREPLACEPROCEDURE是一個(gè)SQL語(yǔ)句通知Oracle數(shù)據(jù)庫(kù)去創(chuàng)建一個(gè)叫做skeleton存儲(chǔ)過(guò)程,如果存在就覆蓋它。行2:IS關(guān)鍵詞表明后面將跟隨一個(gè)PL/SQL體,變量定義。行3:BEGIN關(guān)鍵詞表明PL/SQL體的開(kāi)始,即過(guò)程的主題部分。行4:NULLPL/SQL語(yǔ)句表明什么事都不做,這句不能刪去,因?yàn)镻L/SQL體中至少需要有一句。行5:END關(guān)鍵詞表明PL/SQL體的結(jié)束。六、存儲(chǔ)過(guò)程_基本語(yǔ)法(詳見(jiàn)實(shí)例):1CREATEO六、存儲(chǔ)過(guò)程_主體語(yǔ)句:IF語(yǔ)句,如:Ifm=5orn=6thenElsifc=0thenElseEndif;六、存儲(chǔ)過(guò)程_主體語(yǔ)句:IF語(yǔ)句,如:六、存儲(chǔ)過(guò)程_主體語(yǔ)句:For循環(huán),如:ForIin0..9loopEndloop;六、存儲(chǔ)過(guò)程_主體語(yǔ)句:For循環(huán),如:六、存儲(chǔ)過(guò)程_主體語(yǔ)句:While循環(huán),如:Whilea>=0loopi=i+1;ifa=100thenexit;endif;Endloop;六、存儲(chǔ)過(guò)程_主體語(yǔ)句:While循環(huán),如:六、存儲(chǔ)過(guò)程_注意事項(xiàng)1、存儲(chǔ)過(guò)程參數(shù),可帶可不帶,但均不帶取值范圍,in表示傳入,out表示輸出,inout即傳入又輸出。類(lèi)型可以使用任意Oracle中的合法類(lèi)型。2、變量定義數(shù)據(jù)類(lèi)型,也可定義初始值,也可帶取值范圍,后面接分號(hào)。3、在判斷語(yǔ)句前最好先用count(*)函數(shù)判斷是否存在該條操作記錄。4、用select……into……給變量賦值。5、注意過(guò)程中動(dòng)態(tài)變量的應(yīng)用、動(dòng)態(tài)sql和靜態(tài)sql的差異。6、在代碼中注意拋異異常代碼的處理。六、存儲(chǔ)過(guò)程_注意事項(xiàng)1、存儲(chǔ)過(guò)程參數(shù),可帶可不帶,但均不帶六、存儲(chǔ)過(guò)程與函數(shù)異同1、兩者定義類(lèi)似,都可以帶輸入輸出參數(shù)。2、函數(shù)有返回值,存儲(chǔ)過(guò)程沒(méi)有。3、函數(shù)的調(diào)用要在select語(yǔ)句里;而存儲(chǔ)過(guò)程不用,可以獨(dú)立調(diào)用。六、存儲(chǔ)過(guò)程與函數(shù)異同1、兩者定義類(lèi)似,都可以帶輸入輸出參數(shù)七、游標(biāo)---應(yīng)用游標(biāo)(結(jié)果集)用于提取多行數(shù)據(jù),定義后不會(huì)有數(shù)據(jù),使用后才有.一旦被打開(kāi),就無(wú)法再次打開(kāi)。可以先關(guān)閉,再打開(kāi)。一個(gè)完整的生命周期:declare、open、fetch(應(yīng)用--遍歷游標(biāo))、close。七、游標(biāo)---應(yīng)用游標(biāo)(結(jié)果集)用于提取多行數(shù)據(jù),定義后不會(huì)七、游標(biāo)---定義(詳見(jiàn)實(shí)例)--第一種定義:最簡(jiǎn)單declarecursorc_risk_tranactioninfoisselect*fromrisk_tranactioninfo;beginopenc_risk_tranactioninfo;closec_risk_tranactioninfo;end;--第二種定義:帶參數(shù)的游標(biāo)declarecursorc_risk_tranactioninfo(v_mothvarchar2)isselect*fromrisk_tranactioninfo;beginopenc_risk_tranactioninfo('201206');closec_risk_tranactioninfo;end;七、游標(biāo)---定義(詳見(jiàn)實(shí)例)--第一種定義:最簡(jiǎn)單八、觸發(fā)器—定義是一個(gè)特別的存儲(chǔ)過(guò)程,它的執(zhí)行不是由程序調(diào)用,也不是手工啟動(dòng),而是由事件來(lái)觸發(fā),比如當(dāng)對(duì)一個(gè)表進(jìn)行操作(insert,delete,update)時(shí)就會(huì)激活它執(zhí)行。常用于加強(qiáng)數(shù)據(jù)的完整性約束和業(yè)務(wù)規(guī)則等。查看:select*fromuser_triggers。強(qiáng)制引用完整性最好方法:在相關(guān)表中定義主鍵和外鍵約束。八、觸發(fā)器—定義是一個(gè)特別的存儲(chǔ)過(guò)程,它的執(zhí)行不是由程序調(diào)用八、觸發(fā)器—功能1、允許/限制對(duì)表的修改2、自動(dòng)生成派生列,比如自增字段3、強(qiáng)制數(shù)據(jù)一致性4、提供審計(jì)和日志記錄5、防止無(wú)效的事務(wù)處理6、啟用復(fù)雜的業(yè)務(wù)邏輯八、觸發(fā)器—功能1、允許/限制對(duì)表的修改八、觸發(fā)器—組成(詳見(jiàn)實(shí)例)1、觸發(fā)器名稱(chēng)2、觸

溫馨提示

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

評(píng)論

0/150

提交評(píng)論