必胜高考网_全国高考备考和志愿填报信息平台

必勝高考網 > 計算機類 > 計算機等級 > 資訊 >

數據庫工程師復習重點:數據庫對象

時間: 家輝2 資訊

  1、 在關系數據庫中,SQL語言是應用程序和數據庫管理之間的主要編程接口;

  2、 使用SQL語言編寫代碼時,可用兩種方法存儲和執行代碼:

  (1) 在客戶端存儲代碼,并創建向數據庫管理系統發送SQL命令,并處理返回結果的應用程序;

  (2) 將這些發送的SQL語句存儲在數據庫管理系統中,這些存儲在數據庫管理系統中的SQL語句就是存儲過程,然后再創建執行存儲過程并處理返回結果的應用程序。

  3、 使用存儲過程的好處:

  (1) 模塊化程序設計:只需創建一次存儲過程并將其存儲在數據庫中,以后就可以在應用程序中多次調用存儲過程;

  (2) 提高性能:系統在創建存儲過程時對其進行分析和優化,并在第一次執行時進行語法檢查和編譯,編譯好的代碼放入內存中,以后再執行此存儲過程時,只需直接執行內存中的代碼,從而提高代碼的執行效率;

  (3) 減少網絡流量:一個需要數百行SQL代碼完成的操作現在只需一條執行存儲過程的代碼即可實現,因此,不再需要在網絡中發送這些多語句;

  (4) 可作為安全機制使用:

  13.1.2 創建和執行存儲過程

  1、 創建存儲過程的SQL語句為:CREATE PROCEDURE,語法格式為:

  CREATE PROCEDURE 存儲過程名

  [{@ 參數名 數據類型}[=default][OUTPUT]

  ][,…n]

  AS

  SQL語句[…n]

  其中:

  (1) default:表示參數的默認值。如果定義了默認值,則在執行存儲過程時,可以不必指定該參數的值,默認值必須是常量或NULL;

  (2) OUTPUT:表明參數是輸出參數,該選項的值可以返回給存儲過程的調用者。

  2、執行存儲過程的SQL語句是EXECUTE,語法格式:

  CREATE EXECUTE 存儲過程名 [實參[,OUTPUT][,…n]]

  1、 執行有多個輸入參數的存儲過程時,參數的傳遞方式有兩種:

  (1) 按參數位置傳遞值:指執行存儲過程的EXEC語句中的實參的排列順序必須與定義存儲過程時定義的參數的順序一致;

  (2) 按參數名傳遞值:指執行存儲過程的EXEC語句中要指明定義存儲過程時指定的參數的名字以及此參數的值,而不關心參數的定義順序。

  2、 注意:

  (1) 在執行有輸出參數的存儲過程時,執行語句中的變量名的后邊要加上OUTPUT修飾符;

  (2) 在調用有輸出參數的存儲過程時,與輸出參數對應的是一個變量,此變量用于保存輸出參數返回的結果;

  13.2 用戶自定義函數

  13.2.1 基本概念

  1、 用戶定義函數可以擴展數據操作的功能,它在概念上類似于一般的程序設計語言中定義的函數。

  13.2.2 創建和調用標量函數

  標量函數—返回單個數據值的函數;

  1、定義標量函數

  CREATE FUNCTION [擁有者名.] 函數名

  ([{@ 參數名[AS]標量數據類型[=default]}[,…n]])

  RETURNS 返回值類型

  [AS]

  BEGIN

  函數體

  RETURN 標量表達式

  END

  (1) 同存儲過程一樣,函數的參數也可以有默認值。

  (2) 標量表達式:指定標量函數返回的標量值。

  2、 調用標量函數:

  當調用標量函數時,必須提供至少由兩部分組成的名稱:函數擁有者名和函數名。可在任何允許出現表達式的SQL語句中調用標量函數,只要類型一致;

  13.2.3 創建和調用內嵌表值函數

  1、 創建內嵌表值函數,其語法為:

  CREATE FUNCTION [擁有者名.] 函數名

  ([{@ 參數名[AS]標量數據類型[=default]}[,…n]])

  RETURNS 返回變量 TABLE <表定義>

  [AS]

  BEGIN

  函數體

  RETURN

  END

  <表定義>::=({列定義|表約束}[,…n])

  2、調用多語句表值函數

  多語句表值函數的返回值是一個表,因此對多語句表值函數的使用也是放在SELECT語句的FROM子句中。

  13.3 觸發器

  13.3.1 觸發器基本概念

  1、 觸發器是一種特殊的存儲過程,其特殊性在于它不需要由用戶來調用,而是當用戶對表中的數據進行UPDATE、INSERT或DELETE操作時自動觸發執行;

  2、 觸發器常用于下列場合:

  (1) 完成比CHECK的約束更復雜的數據約束;

  (2) 為保證數據庫性能而維護的非規范化數據;

  (3) 實現復雜的業務規則,可使業務的處理任務自動進行。

  13.3.2 創建觸發器

  1、 創建觸發器的語句:CREATE TRIGGER,語法為:

  CREATE TRIGGER 觸發器名稱

  ON {表名| 視圖名}

  [WITH ENCRYPTION]

  {FOR |AFTER|INSTEAD OF}{[INSERT][,][DELETE][,][UPDATE]}

  AS

  [{IF UPDATE(column)…}]

  SQL語句

  (1) 觸發器名稱在數據庫中必須是惟一的;

  (2) ON子句用于指定在其上執行觸發器的表;

  (3) AFTER:指定觸發器只有在引發的SQL語句中指定的操作都已成功執行,并且所有的約束檢查也成功完成后,才執行此觸發器,這種觸發器稱為后觸發型觸發器;

  (4) FOR:作用同AFTER;

  (5) INSTEAD OF:指定執行觸發器而不是執行引發觸發器執行的SQL語句,從而替代觸發語句的操作,這種觸發器稱為前觸發型觸發器;

  (6) INSTERT、DELETE或UPDATE是引發觸發器執行的操作,若同時指定多個操作,則各操作之間用逗號分隔;

  2、 創建觸發器時,需要注意:

  (1) 在一個表上可以建立多個名稱不同、類型各異的觸發器,每個觸發器可由三個操作引發;

  (2) 大部分Transact-SQL語句都可用在觸發器中,但也有一些限制;

  (3) 在觸發器定義中,可以使用IF UPDATE子句測試在INSERT和UPDATE語句中是否對指定字段有影響;

  (4) 通常不要在觸發器中返回任何結果。

  3、 創建后觸發型觸發器

  使用FOR或AFTER選項定義的觸發器為后觸發的觸發器,即只有在引發觸發器執行語句中指定的操作都已完成執行,并且所有的約束檢查也成功完成后,才執行的觸發器;

  4、 創建前觸發型觸發器

  使用INSTEAD OF 選項定義的觸發器為前觸發型觸發器,在該觸發器中,指定執行觸發器而不是執行引發觸發器執行的SQL語句,從而替代引發語句的操作。

  13.4 查看、修改及刪除對象

  13.4.1 查看對象

  對于創建好的存儲過程、函數可通過企業管理器和查詢分析器查看這些對象的代碼;

  13.4.2 修改對象

  1、 修改存儲過程:ALTER PROCEDURE

  ALTER PROC 存儲過程名

  [{@參數名 數據類型}[=default][OUTPUT]][,…n]

  AS

  SQL語句[…n]

  修改與定義的語句基本一致,只將CREARE PROC 改成ALTER PROC;

  2、修改用戶自定義函數:

  修改與定義的語句基本一致,只將CREARE FUNCTION 改成ALTER FUNCTION;

  3、修改觸發器:

  修改與定義的語句基本一致,只將CREARE TRIGGER 改成ALTER TRIGGER;

  13.4.3 刪除對象

  1、 刪除存儲過程:

  DROP PROCEDURE {存儲過程名}[,…n];

  2、刪除用戶自定義函數

  DROP FUNCTION {[擁有者名.]函數名}[,…n]

  3、刪除觸發器

  DROP TRIGGER {觸發器名}[,…n]

56848 主站蜘蛛池模板: 超声波焊接机_超音波熔接机_超声波塑焊机十大品牌_塑料超声波焊接设备厂家 | 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 国际金融网_每日财经新资讯网 | 地埋式垃圾站厂家【佳星环保】小区压缩垃圾中转站转运站 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 塑钢课桌椅、学生课桌椅、课桌椅厂家-学仕教育设备首页 | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | 济南侦探调查-济南调查取证-山东私家侦探-山东白豹调查咨询公司 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 机械立体车库租赁_立体停车设备出租_智能停车场厂家_春华起重 | 全自动包衣机-无菌分装隔离器-浙江迦南科技股份有限公司 | 玉米深加工设备|玉米加工机械|玉米加工设备|玉米深加工机械-河南成立粮油机械有限公司 | led太阳能路灯厂家价格_风光互补庭院灯_农村市政工程路灯-中山华可路灯品牌 | 物流之家新闻网-最新物流新闻|物流资讯|物流政策|物流网-匡匡奈斯物流科技 | 上海公司注册-代理记账-招投标审计-上海昆仑扇财税咨询有限公司 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 台式核磁共振仪,玻璃软化点测定仪,旋转高温粘度计,测温锥和测温块-上海麟文仪器 | 手术室净化厂家-成都做医院净化工程的公司-四川华锐-15年特殊科室建设经验 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 无负压供水设备,消防稳压供水设备-淄博创辉供水设备有限公司 | sfp光模块,高速万兆光模块工厂-性价比更高的光纤模块制造商-武汉恒泰通 | 玻璃钢罐_玻璃钢储罐_盐酸罐厂家-河北华盛节能设备有限公司 | 上海物流公司,上海货运公司,上海物流专线-优骐物流公司 | 深圳宣传片制作_产品视频制作_深圳3D动画制作公司_深圳短视频拍摄-深圳市西典映画传媒有限公司 | 锡膏喷印机-全自动涂覆机厂家-全自动点胶机-视觉点胶机-深圳市博明智控科技有限公司 | 有福网(yofus.com)洗照片冲印,毕业聚会纪念册相册制作个性DIY平台 | 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 合肥汽车充电桩_安徽充电桩_电动交流充电桩厂家_安徽科帝新能源科技有限公司 | 北京燃气公司 用户服务中心| 正压送风机-多叶送风口-板式排烟口-德州志诺通风设备 | 江苏农村商业银行招聘网_2024江苏农商行考试指南_江苏农商行校园招聘 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 长沙广告公司|长沙广告制作设计|长沙led灯箱招牌制作找望城湖南锦蓝广告装饰工程有限公司 | 济南侦探调查-济南调查取证-山东私家侦探-山东白豹调查咨询公司 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 合肥升降机-合肥升降货梯-安徽升降平台「厂家直销」-安徽鼎升自动化科技有限公司 | 中国品牌排名投票_十大品牌榜单_中国著名品牌【中国品牌榜】 | 上海皓越真空设备有限公司官网-真空炉-真空热压烧结炉-sps放电等离子烧结炉 | 天津电机维修|水泵维修-天津晟佳机电设备有限公司 | 体检车_移动CT车_CT检查车_CT车_深圳市艾克瑞电气有限公司移动CT体检车厂家-深圳市艾克瑞电气有限公司 | LED显示屏_LED屏方案设计精准报价专业安装丨四川诺显科技 | 碳纤维复合材料制品生产定制工厂订制厂家-凯夫拉凯芙拉碳纤维手机壳套-碳纤维雪茄盒外壳套-深圳市润大世纪新材料科技有限公司 | 常州翔天实验仪器厂-恒温振荡器-台式恒温振荡器-微量血液离心机 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 |