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

必勝高考網(wǎng) > 計(jì)算機(jī)類 > 計(jì)算機(jī)等級(jí) > 資訊 >

數(shù)據(jù)庫(kù)工程師復(fù)習(xí)重點(diǎn):數(shù)據(jù)庫(kù)對(duì)象

時(shí)間: 家輝2 資訊

  1、 在關(guān)系數(shù)據(jù)庫(kù)中,SQL語(yǔ)言是應(yīng)用程序和數(shù)據(jù)庫(kù)管理之間的主要編程接口;

  2、 使用SQL語(yǔ)言編寫代碼時(shí),可用兩種方法存儲(chǔ)和執(zhí)行代碼:

  (1) 在客戶端存儲(chǔ)代碼,并創(chuàng)建向數(shù)據(jù)庫(kù)管理系統(tǒng)發(fā)送SQL命令,并處理返回結(jié)果的應(yīng)用程序;

  (2) 將這些發(fā)送的SQL語(yǔ)句存儲(chǔ)在數(shù)據(jù)庫(kù)管理系統(tǒng)中,這些存儲(chǔ)在數(shù)據(jù)庫(kù)管理系統(tǒng)中的SQL語(yǔ)句就是存儲(chǔ)過程,然后再創(chuàng)建執(zhí)行存儲(chǔ)過程并處理返回結(jié)果的應(yīng)用程序。

  3、 使用存儲(chǔ)過程的好處:

  (1) 模塊化程序設(shè)計(jì):只需創(chuàng)建一次存儲(chǔ)過程并將其存儲(chǔ)在數(shù)據(jù)庫(kù)中,以后就可以在應(yīng)用程序中多次調(diào)用存儲(chǔ)過程;

  (2) 提高性能:系統(tǒng)在創(chuàng)建存儲(chǔ)過程時(shí)對(duì)其進(jìn)行分析和優(yōu)化,并在第一次執(zhí)行時(shí)進(jìn)行語(yǔ)法檢查和編譯,編譯好的代碼放入內(nèi)存中,以后再執(zhí)行此存儲(chǔ)過程時(shí),只需直接執(zhí)行內(nèi)存中的代碼,從而提高代碼的執(zhí)行效率;

  (3) 減少網(wǎng)絡(luò)流量:一個(gè)需要數(shù)百行SQL代碼完成的操作現(xiàn)在只需一條執(zhí)行存儲(chǔ)過程的代碼即可實(shí)現(xiàn),因此,不再需要在網(wǎng)絡(luò)中發(fā)送這些多語(yǔ)句;

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

  13.1.2 創(chuàng)建和執(zhí)行存儲(chǔ)過程

  1、 創(chuàng)建存儲(chǔ)過程的SQL語(yǔ)句為:CREATE PROCEDURE,語(yǔ)法格式為:

  CREATE PROCEDURE 存儲(chǔ)過程名

  [{@ 參數(shù)名 數(shù)據(jù)類型}[=default][OUTPUT]

  ][,…n]

  AS

  SQL語(yǔ)句[…n]

  其中:

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

  (2) OUTPUT:表明參數(shù)是輸出參數(shù),該選項(xiàng)的值可以返回給存儲(chǔ)過程的調(diào)用者。

  2、執(zhí)行存儲(chǔ)過程的SQL語(yǔ)句是EXECUTE,語(yǔ)法格式:

  CREATE EXECUTE 存儲(chǔ)過程名 [實(shí)參[,OUTPUT][,…n]]

  1、 執(zhí)行有多個(gè)輸入?yún)?shù)的存儲(chǔ)過程時(shí),參數(shù)的傳遞方式有兩種:

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

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

  2、 注意:

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

  (2) 在調(diào)用有輸出參數(shù)的存儲(chǔ)過程時(shí),與輸出參數(shù)對(duì)應(yīng)的是一個(gè)變量,此變量用于保存輸出參數(shù)返回的結(jié)果;

  13.2 用戶自定義函數(shù)

  13.2.1 基本概念

  1、 用戶定義函數(shù)可以擴(kuò)展數(shù)據(jù)操作的功能,它在概念上類似于一般的程序設(shè)計(jì)語(yǔ)言中定義的函數(shù)。

  13.2.2 創(chuàng)建和調(diào)用標(biāo)量函數(shù)

  標(biāo)量函數(shù)—返回單個(gè)數(shù)據(jù)值的函數(shù);

  1、定義標(biāo)量函數(shù)

  CREATE FUNCTION [擁有者名.] 函數(shù)名

  ([{@ 參數(shù)名[AS]標(biāo)量數(shù)據(jù)類型[=default]}[,…n]])

  RETURNS 返回值類型

  [AS]

  BEGIN

  函數(shù)體

  RETURN 標(biāo)量表達(dá)式

  END

  (1) 同存儲(chǔ)過程一樣,函數(shù)的參數(shù)也可以有默認(rèn)值。

  (2) 標(biāo)量表達(dá)式:指定標(biāo)量函數(shù)返回的標(biāo)量值。

  2、 調(diào)用標(biāo)量函數(shù):

  當(dāng)調(diào)用標(biāo)量函數(shù)時(shí),必須提供至少由兩部分組成的名稱:函數(shù)擁有者名和函數(shù)名。可在任何允許出現(xiàn)表達(dá)式的SQL語(yǔ)句中調(diào)用標(biāo)量函數(shù),只要類型一致;

  13.2.3 創(chuàng)建和調(diào)用內(nèi)嵌表值函數(shù)

  1、 創(chuàng)建內(nèi)嵌表值函數(shù),其語(yǔ)法為:

  CREATE FUNCTION [擁有者名.] 函數(shù)名

  ([{@ 參數(shù)名[AS]標(biāo)量數(shù)據(jù)類型[=default]}[,…n]])

  RETURNS 返回變量 TABLE <表定義>

  [AS]

  BEGIN

  函數(shù)體

  RETURN

  END

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

  2、調(diào)用多語(yǔ)句表值函數(shù)

  多語(yǔ)句表值函數(shù)的返回值是一個(gè)表,因此對(duì)多語(yǔ)句表值函數(shù)的使用也是放在SELECT語(yǔ)句的FROM子句中。

  13.3 觸發(fā)器

  13.3.1 觸發(fā)器基本概念

  1、 觸發(fā)器是一種特殊的存儲(chǔ)過程,其特殊性在于它不需要由用戶來調(diào)用,而是當(dāng)用戶對(duì)表中的數(shù)據(jù)進(jìn)行UPDATE、INSERT或DELETE操作時(shí)自動(dòng)觸發(fā)執(zhí)行;

  2、 觸發(fā)器常用于下列場(chǎng)合:

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

  (2) 為保證數(shù)據(jù)庫(kù)性能而維護(hù)的非規(guī)范化數(shù)據(jù);

  (3) 實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)規(guī)則,可使業(yè)務(wù)的處理任務(wù)自動(dòng)進(jìn)行。

  13.3.2 創(chuàng)建觸發(fā)器

  1、 創(chuàng)建觸發(fā)器的語(yǔ)句:CREATE TRIGGER,語(yǔ)法為:

  CREATE TRIGGER 觸發(fā)器名稱

  ON {表名| 視圖名}

  [WITH ENCRYPTION]

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

  AS

  [{IF UPDATE(column)…}]

  SQL語(yǔ)句

  (1) 觸發(fā)器名稱在數(shù)據(jù)庫(kù)中必須是惟一的;

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

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

  (4) FOR:作用同AFTER;

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

  (6) INSTERT、DELETE或UPDATE是引發(fā)觸發(fā)器執(zhí)行的操作,若同時(shí)指定多個(gè)操作,則各操作之間用逗號(hào)分隔;

  2、 創(chuàng)建觸發(fā)器時(shí),需要注意:

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

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

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

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

  3、 創(chuàng)建后觸發(fā)型觸發(fā)器

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

  4、 創(chuàng)建前觸發(fā)型觸發(fā)器

  使用INSTEAD OF 選項(xiàng)定義的觸發(fā)器為前觸發(fā)型觸發(fā)器,在該觸發(fā)器中,指定執(zhí)行觸發(fā)器而不是執(zhí)行引發(fā)觸發(fā)器執(zhí)行的SQL語(yǔ)句,從而替代引發(fā)語(yǔ)句的操作。

  13.4 查看、修改及刪除對(duì)象

  13.4.1 查看對(duì)象

  對(duì)于創(chuàng)建好的存儲(chǔ)過程、函數(shù)可通過企業(yè)管理器和查詢分析器查看這些對(duì)象的代碼;

  13.4.2 修改對(duì)象

  1、 修改存儲(chǔ)過程:ALTER PROCEDURE

  ALTER PROC 存儲(chǔ)過程名

  [{@參數(shù)名 數(shù)據(jù)類型}[=default][OUTPUT]][,…n]

  AS

  SQL語(yǔ)句[…n]

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

  2、修改用戶自定義函數(shù):

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

  3、修改觸發(fā)器:

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

  13.4.3 刪除對(duì)象

  1、 刪除存儲(chǔ)過程:

  DROP PROCEDURE {存儲(chǔ)過程名}[,…n];

  2、刪除用戶自定義函數(shù)

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

  3、刪除觸發(fā)器

  DROP TRIGGER {觸發(fā)器名}[,…n]

56848 主站蜘蛛池模板: 苏州防水公司_厂房屋面外墙防水_地下室卫生间防水堵漏-苏州伊诺尔防水工程有限公司 | 深圳善跑体育产业集团有限公司_塑胶跑道_人造草坪_运动木地板 | 山东集装箱活动房|济南集装箱活动房-济南利森集装箱有限公司 | 双能x射线骨密度检测仪_dxa骨密度仪_双能x线骨密度仪_品牌厂家【品源医疗】 | 仓储笼_金属箱租赁_循环包装_铁网箱_蝴蝶笼租赁_酷龙仓储笼租赁 测试治具|过炉治具|过锡炉治具|工装夹具|测试夹具|允睿自动化设备 | 聚氨酯催化剂K15,延迟催化剂SA-1,叔胺延迟催化剂,DBU,二甲基哌嗪,催化剂TMR-2,-聚氨酯催化剂生产厂家 | 美的商用净水器_美的直饮机_一级代理经销商_Midea租赁价格-厂家反渗透滤芯-直饮水批发品牌售后 | BAUER减速机|ROSSI-MERSEN熔断器-APTECH调压阀-上海爱泽工业设备有限公司 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 | 拉曼光谱仪_便携式|激光|显微共焦拉曼光谱仪-北京卓立汉光仪器有限公司 | 磁粉制动器|张力控制器|气胀轴|伺服纠偏控制器整套厂家--台灵机电官网 | 镀锌角钢_槽钢_扁钢_圆钢_方矩管厂家_镀锌花纹板-海邦钢铁(天津)有限公司 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 生物除臭剂-除味剂-植物-污水除臭剂厂家-携葵环保有限公司 | 空气能暖气片,暖气片厂家,山东暖气片,临沂暖气片-临沂永超暖通设备有限公司 | 心肺复苏模拟人|医学模型|急救护理模型|医学教学模型上海康人医学仪器设备有限公司 | 医学动画公司-制作3d医学动画视频-医疗医学演示动画制作-医学三维动画制作公司 | 电伴热系统施工_仪表电伴热保温箱厂家_沃安电伴热管缆工业技术(济南)有限公司 | 南京试剂|化学试剂|分析试剂|实验试剂|cas号查询-专业60年试剂销售企业 | 谷梁科技| 商用绞肉机-熟肉切片机-冻肉切丁机-猪肉开条机 - 广州市正盈机械设备有限公司 | 仿古建筑设计-仿古建筑施工-仿古建筑公司-汉匠古建筑设计院 | 一体化隔油提升设备-餐饮油水分离器-餐厨垃圾处理设备-隔油池-盐城金球环保产业发展有限公司 | 涡轮流量计_LWGY智能气体液体电池供电计量表-金湖凯铭仪表有限公司 | 网络推广公司_网络营销方案策划_企业网络推广外包平台-上海澜推网络 | 地图标注|微信高德百度地图标注|地图标记-做地图[ZuoMap.com] | 威实软件_软件定制开发_OA_OA办公系统_OA系统_办公自动化软件 | PAS糖原染色-CBA流式多因子-明胶酶谱MMP-上海研谨生物科技有限公司 | 膜结构车棚|上海膜结构车棚|上海车棚厂家|上海膜结构公司 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 长沙一级消防工程公司_智能化弱电_机电安装_亮化工程专业施工承包_湖南公共安全工程有限公司 | PCB接线端子_栅板式端子_线路板连接器_端子排生产厂家-置恒电气 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 药品仓库用除湿机-变电站用防爆空调-油漆房用防爆空调-杭州特奥环保科技有限公司 | 釜溪印象网络 - Powered by Discuz! | 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 湖州织里童装_女童男童中大童装_款式多尺码全_织里儿童网【官网】-嘉兴嘉乐网络科技有限公司 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 档案密集柜_手动密集柜_智能密集柜_内蒙古档案密集柜-盛隆柜业内蒙古密集柜直销中心 | 无锡不干胶标签,卷筒标签,无锡瑞彩包装材料有限公司 | 挤塑板-XPS挤塑板-挤塑板设备厂家[襄阳欧格] | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 |