数据库完整性实用教案

上传人:pu****.1 文档编号:567688581 上传时间:2024-07-22 格式:PPT 页数:61 大小:1.73MB
返回 下载 相关 举报
数据库完整性实用教案_第1页
第1页 / 共61页
数据库完整性实用教案_第2页
第2页 / 共61页
数据库完整性实用教案_第3页
第3页 / 共61页
数据库完整性实用教案_第4页
第4页 / 共61页
数据库完整性实用教案_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《数据库完整性实用教案》由会员分享,可在线阅读,更多相关《数据库完整性实用教案(61页珍藏版)》请在金锄头文库上搜索。

1、学习(xux)要点数据库完整性概述SQL2005完整性实现触发器概述创建、修改、查看、删除使用(shyng)说明AFTER触发器INSTEADOF触发器第1页/共60页第一页,共61页。数据库完整性概述(ish)数据完整性(DataIntegrity)定义指数据的准确性和一致(yzh)性。目的防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息分类实体完整性:用于保证数据库中数据表的每一个特定实体的记录都是唯一的。域完整性:用于保证指定列的数据具有正确的数据类型、格式和有效的数据范围。参照完整性:确保同一键值在所有相关联表之间都一致(yzh)。用户定义完整性:由

2、用户自定义的不属于其他任何完整性分类的特定业务规则。第2页/共60页第二页,共61页。数据库完整性概述(ish)数据完整性(DataIntegrity)为维护数据库的完整性,DBMS必须(bx):提供定义完整性约束条件的机制提供完整性检查的方法违约处理学习(xux)要点完整性类型完整性类型实实现现技技术术实体完整性实体完整性UNIQUE约束、约束、PRIMARYKEY约束、约束、IDENTITY属性属性域完整性域完整性CHECK约束、约束、FOREIGNKEY约束、约束、DEFAULT定义、定义、NOTNULL定义、定义、默认默认对象、对象、规则规则对象对象参照完整性参照完整性FOREIGNK

3、EY约束、约束、CHECK约束、约束、触发器触发器用户定义完整性用户定义完整性CREATETABLE中的所有列级和表级约束、中的所有列级和表级约束、存储存储过程过程、触发器触发器第3页/共60页第三页,共61页。完整性实现(shxin)SQLServer2005完整性实现(shxin)DEFAULT约束CHECK约束PRIMARYKEY约束UNIQUE约束FOREIGNKEY约束NOTNULL约束标识列默认值规则学习(xux)要点第4页/共60页第四页,共61页。约束(yush)DEFAULT约束定义在用户未输入某些列的数据时,数据库系统为用户提供的默认值。(默认值必须与所约束列的数据类型相一

4、致)是可以(ky)避免不允许为空值的数据错误可以(ky)加快用户的输入速度创建SSMS方式T-SQL方式约束(yush)列表第5页/共60页第五页,共61页。使用(shyng)SSMS工具DEFAULT约束(yush)DEFAULT约束(yush)第6页/共60页第六页,共61页。CREATETABELBookInfo(b_IDVARCHAR(16),b_DetailVARCHAR(100)DEFAULT暂无描述暂无描述(miosh)使用(shyng)T-SQL定义(一)DEFAULT约束(yush)CREATETABEL数据表名数据表名(列名列名数据类型数据类型CONSTRAIN约束名约束名

5、DEFAULT默认默认值值,.)列级约束 示例NEXT第7页/共60页第七页,共61页。CREATETABELBookInfo(b_DetailVARCHAR(100),CONSTRAINTde_DetailDEFAULT暂无描述暂无描述(miosh)FORb_Detail)使用(shyng)T-SQL定义(二)DEFAULT约束(yush)NEXTCREATETABEL数据表名数据表名(列名列名1数据类型,数据类型,CONSTRAIN约束名约束名DEFAULT默认值默认值FOR(列名列名,n),.)表级约束示例第8页/共60页第八页,共61页。使用(shyng)T-SQL定义(三)DEFAU

6、LT约束(yush)ALTERTABEL数据表名数据表名(ADDCONSTRAIN约束约束(yush)名名DEFAULT默认值默认值FOR(列名列名,n),.)修改表:添加约束ALTERTABELBookInfo(ADDCONSTRAINTde_DetailDEFAULT暂无描述FORb_Detail )示例返回第9页/共60页第九页,共61页。约束(yush)CHECK约束定义限制用户输入数据的取值范围、格式等。一个列可以定义多个CHECK约束。当往表中插入记录或修改相应列的值时,系统检查约束条件是否满足(mnz),若不满足(mnz)则拒绝执行数据操作。创建SSMS方式T-SQL方式约束(y

7、ush)列表第10页/共60页第十页,共61页。使用(shyng)SSMS工具CHEECK约束(yush)CHECK约束(yush)第11页/共60页第十一页,共61页。CREATETABEL数据表名数据表名(列名列名数据类型数据类型CONSTRAIN约束约束(yush)名名CHECK(逻辑表达式逻辑表达式),.)CREATETABELBookInfo(b_QuantitySMALLINTCHECK(b_Quantity=1ANDb_Quantity=100),)使用(shyng)T-SQL定义(一)CHECK约束(yush)列级约束 示例NEXT第12页/共60页第十二页,共61页。使用(s

8、hyng)T-SQL定义(二、三)CHECK约束(yush)返回(fnhu)CREATETABEL数据表名数据表名(列名列名1数据类型,数据类型,CONSTRAIN约束名约束名CHECK(逻辑表达式逻辑表达式),.)表级约束 ALTERTABEL数据表名数据表名(ADDCONSTRAIN约束名约束名CHECK(逻辑表达式逻辑表达式),.)修改表:添加约束第13页/共60页第十三页,共61页。约束(yush)PRIMARYKEY约束定义若是单列作为主键,可以在列级定义或表级定义若是列集合作为主键,必须在表级定义一个表只能有一个PRIMARYKEY约束,受约束的列或列集合的值不能为空和重复,必须能

9、唯一标识表中的行。定义了PRIMARYKEY约束的列的列宽不能更改。创建(chungjin)SSMS方式T-SQL方式约束(yush)列表第14页/共60页第十四页,共61页。使用(shyng)SSMS工具返回(fnhu)PRIMARY约束(yush)第15页/共60页第十五页,共61页。使用(shyng)T-SQL定义(一)NEXTPRIMARY约束(yush)CREATETABEL数据表名数据表名(列名列名数据类型数据类型CONSTRAIN约束约束(yush)名名PRIMARYKEY,.)CREATETABELBookInfo(b_IDVARCHAR(16)PRIMARYKEY,)列级约束

10、 示例默认的约束名为:PK_PK_BookInfo BookInfo 第16页/共60页第十六页,共61页。使用(shyng)T-SQL定义(二)PRIMARY约束(yush)CREATETABEL数据表名数据表名(列名列名1数据类型,数据类型,CONSTRAIN约束约束(yush)名名PRIMARYKEY(列名列名1,n),.)CREATETABELBorrowReturn(s_IDCHAR(8)NOTNULL,r_IDCHAR(8)NOTNULL,PRIMARYKEY(s_ID,r_ID)表级约束 示例组合键必须在表级定义默认的约束名为:PK_ PK_ BorrowReturn Borro

11、wReturn NEXT第17页/共60页第十七页,共61页。使用(shyng)T-SQL定义(三)返回(fnhu)PRIMARY约束(yush)ALTERTABEL数据表名数据表名(ADDCONSTRAIN约束名约束名PRIMARYKEY(列名列名,),.)ALTERTABLEBorrowReturnADDCONSTRAINTPK_BorrowReturnPRIMARYKEY(s_ID,r_ID)示例修改表:添加约束第18页/共60页第十八页,共61页。约束(yush)UNIQUE约束定义也称唯一值约束,确保在非主键列中不输入重复值。一个表可以定义多个(du)UNIQUE约束。在允许空值的列

12、上保证唯一性时,应使用UNIQUE约束。当往表中插入记录或修改相应列的值时,系统检查是否有重复值,若有则拒绝执行数据操作。创建SSMS方式T-SQL方式约束(yush)列表第19页/共60页第十九页,共61页。使用(shyng)SSMS工具返回(fnhu)UNIQUE约束(yush)第20页/共60页第二十页,共61页。使用(shyng)T-SQL定义(一)NEXTUNIQUE约束(yush)CREATETABEL数据表名数据表名(列名列名数据类型数据类型CONSTRAIN约束约束(yush)名名UNIQUE,.)CREATETABELReaderType(rt_NameVARCHAR(10)

13、UNIQUE,)列级约束 示例第21页/共60页第二十一页,共61页。使用(shyng)T-SQL定义(二、三)UNIQUE约束(yush)返回(fnhu)CREATETABEL数据表名数据表名(列名列名1数据类型,数据类型,CONSTRAIN约束名约束名UNIQUE(列名列名1,n),.)表级约束 ALTERTABEL数据表名数据表名(ADDCONSTRAIN约束名约束名UNIQUE(列名列名1,n),.)修改表:添加约束第22页/共60页第二十二页,共61页。约束(yush)FOREIGNKEY约束定义也称为外键约束,用于强制实现参照完整性,建立两个表之间的关系。可以(ky)规定表中的某列

14、参照同一个表或另外一个表中已有的PRIMARYKEY约束或UNIQUE约束的列。一个表可以(ky)有多个FOREIGNKEY约束。创建SSMS方式T-SQL方式约束(yush)列表第23页/共60页第二十三页,共61页。使用(shyng)SSMS工具Step1NEXTFOREIGNKEY约束(yush)第24页/共60页第二十四页,共61页。使用(shyng)SSMS工具Step2NEXTFOREIGNKEY约束(yush)第25页/共60页第二十五页,共61页。使用(shyng)SSMS工具Step3NEXTFOREIGNKEY约束(yush)第26页/共60页第二十六页,共61页。使用(s

15、hyng)SSMS工具Step4返回(fnhu)FOREIGNKEY约束(yush)第27页/共60页第二十七页,共61页。使用(shyng)T-SQL定义(一)示例(shl)CREATETABEL数据表名数据表名(列名列名数据类型数据类型CONSTRAIN约束约束(yush)名名FOREIGNKEYREFERENCES参照主键表参照主键表(参照列参照列)ONDELETECASCADE|ONUPDATECASCADE,.)列级约束 FOREIGNKEY约束 NO ACITON NO ACITON:默认选项。将引发错误,撤销对父表的删除(更新)操作 CASCADECASCADE:当在主表删除(更

16、新)一行,则自动将子表中的对应行删除(更新) SET NULLSET NULL:删除(更新)父表的一行,子表相应行的外键值被置为NULLNULL SET DEFAULTSET DEFAULT:删除(更新)父表的一行,子表相应行的外键值被置为 外键的默认值第28页/共60页第二十八页,共61页。使用(shyng)T-SQL定义(一)FOREIGNKEY约束(yush)CREATETABELBookInfo(b_IDVARCHAR(16)PRIMARYKEY,b_NameVARCHAR(50)NOTNULL,bt_IDCHAR(10)REFERENCESBookType(bt_ID),)示例NEX

17、T第29页/共60页第二十九页,共61页。使用(shyng)T-SQL定义(二)示例(shl)CREATETABEL数据表名数据表名(列名列名1数据类型,数据类型,CONSTRAIN约束约束(yush)名名FOREIGNKEY(列名列名)REFERENCES参照主键表参照主键表(参照列参照列)ONDELETECASCADE|ONUPDATECASCADE,.)表级约束 FOREIGNKEY约束第30页/共60页第三十页,共61页。使用(shyng)T-SQL定义(二)NEXTFOREIGNKEY约束(yush)CREATETABLEBorrowReturn(br_IDCHAR(6)PRIMAR

18、YKEY,s_IDCHAR(8)REFERENCESNOTNULL,r_IDCHAR(8)REFERENCESNOTNULL,FOREIGNKEY(s_ID)REFERENCESBookStore(s_ID),FOREIGNKEY(r_ID)REFERENCESReaderInfo(r_ID)示例第31页/共60页第三十一页,共61页。使用(shyng)T-SQL定义(三)UNIQUE约束(yush)返回(fnhu)ALTERTABEL数据表名数据表名(ADDCONSTRAIN约束名约束名FOREIGNKEY(列名列名)REFERENCES参照主键表参照主键表(参照列参照列)ONDELETEC

19、ASCADE|ONUPDATECASCADE,.)修改表:添加约束ALTERTABELBookInfo(ADDFOREIGNKEY(bt_ID)REFERENCESBookType(bt_ID)ONDELETECASCADEONUPDATECASCADE,)示例第32页/共60页第三十二页,共61页。约束(yush)NOTNULL约束实质表中列可以定义为允许或不允许空值。默认情况下,创建表列允许空值。一个列中出现NULL值,意味着用户还没有(miyu)为该列输入值。若设置为NOTNULL,用户没有(miyu)输入该列值,则引发错误。示例SSMS方式T-SQL方式约束(yush)列表第33页/共

20、60页第三十三页,共61页。使用(shyng)SSMS工具返回(fnhu)NOTNULL约束(yush)第34页/共60页第三十四页,共61页。使用(shyng)T-SQL定义NOTNULL约束(yush)CREATETABEL数据表名数据表名(列名列名数据类型数据类型CONSTRAIN约束约束(yush)名名NULL|NOTNULL,)表级约束 CREATETABELBookInfo(b_IDvarchar(16)PRIMARYKEY,b_Namevarchar(50)UNIQUENOTNULL,bt_IDchar(10)REFERENCESBookType(bt_ID),b_Authorv

21、archar(20)NOTNULL,b_Translatorvarchar(20)NULL,)示例返回第35页/共60页第三十五页,共61页。约束(yush)标识列(IDENTITY)概述当用户向表中插入新的数据行时,系统自动为该行的IDENTITY列赋值,并保证其值在表中的唯一性。常与PRIMARYKEY约束一起使用。每个表中只能有一个IDENTITY列,其列值不能由用户更新,也不允许绑定默认值或建立DEFAULT约束标识列的有效数据类型可以是任何整数数据类型分类(fnli)的数据类型(bit数据类型除外),也可以是decimal数据类型,但不允许出现小数。创建SSMS方式T-SQL方式约束

22、(yush)列表第36页/共60页第三十六页,共61页。使用(shyng)SSMS工具返回(fnhu)标识(biozh)列(IDENTITY)第37页/共60页第三十七页,共61页。使用(shyng)T-SQL定义返回(fnhu)CREATETABEL数据表名数据表名(列名列名数据类型数据类型IDENTITY(种子种子(zhngzi),增量增量),.)CREATETABELBorrowReturn(br_IDINTIDENTITY(1,1)PRIMARYKEY,)语法 示例标识列(IDENTITY)第38页/共60页第三十八页,共61页。DEFAULT(默认值)概述“默认值”是一种数据库对象,

23、可以被绑定到列。如果(rgu)绑定的列或者数据类型没有明确提供值,则将默认指定的数据插入。“默认值”的执行与DEFAULT 约束功能相同,但是DEFAULT 约束定义和表存储在一起,当除去表时,将自动除去它。当在多个列中,特别是不同表中的列中多次使用同一默认值时,适合采用“默认”技术。管理(gunl)第39页/共60页第三十九页,共61页。管理(gunl)“默认值”创建绑定解绑示例(shl)CREATEDEFAULT默认默认(mrn)名称名称AS常数表达式常数表达式sp_bindefault默认名称默认名称,数据表名数据表名.列名列名sp_unbindefault数据表名数据表名.列名列名DE

24、FAULT(默认值)第40页/共60页第四十页,共61页。示例(shl):创建绑定解绑返回(fnhu)sp_bindefaultd_Ssex,Student.Ssexsp_unbindefaultStudent.SsexUSEStudyGOCREATEDEFAULTd_SsexAS女女DEFAULT(默认值)第41页/共60页第四十一页,共61页。RULE(规则(guz))概述“规则”是一种数据库对象,可以绑定到列,定义之后可以反复使用。执行“规则”功能与CHECK约束(yush)相同。每个列只能有一个绑定的规则。但列可以同时具有规则和多个CHECK约束(yush)。约束(yush)列表第42

25、页/共60页第四十二页,共61页。RULE(规则(guz))管理(gunl)“规则”创建绑定解绑示例(shl)CREATERULE规则规则名称名称AS条件条件表达式表达式sp_bindrule规则名规则名,数据表名数据表名.列名列名sp_unbindrule数据表名数据表名.列名列名第43页/共60页第四十三页,共61页。RULE(规则(guz))示例(shl):创建绑定解绑返回(fnhu)sp_bindruler_Ssex,Student.Ssexsp_unbindruleStudent.SsexUSEStudyGOCREATERULEr_SsexASsex=女女ORsex=男男第44页/共

26、60页第四十四页,共61页。触发器概述触发器触发器是特殊类型的存储过程,主要由操作事件(INSERT、UPDATE、DELETE)触发而被自动执行。与表相关联:必须定义在表上。不能直接调用,也不能传递或接受参数触发器可以实现比约束更复杂的数据完整性,经常用于加强( jiqing)数据的完整性约束和业务规则。触发器本身是一个特殊的事务单位。第45页/共60页第四十五页,共61页。触发器概述触发器的类型按触发时刻分AFTER触发器执行触发操作和处理完约束后激发,只能定义于表上,同一个表上可定义多个。INSTEAD触发器由触发器的程序代替(dit)触发语句的执行,在处理约束之前激发,可在表或视图上创

27、建,同一个表或视图只可定义一个。按触发语句分INSERT触发器UPDATE触发器、DELETE触发器第46页/共60页第四十六页,共61页。触发器Inserted表和deleted表触发器触发时,系统自动在内存创建deleted表或inserted表。它们是只读的,不允许修改;触发器执行完成后,自动删除。inserted表临时保存了插入或更新后的记录行可以从inserted表中检查插入的数据是否(shfu)满足业务需求,如果不满足,则向用户报告错误消息,并回滚插入操作。deleted表临时保存了删除或更新前的记录行可以从deleted表中检查被删除的数据是否(shfu)满足业务需求,如果不满足

28、,则向用户报告错误消息,并回滚插入操作。第47页/共60页第四十七页,共61页。触发器触发器使用的限制CREATETRIGGER必须是批处理中的第一条语句(yj)。在同一个表中约束的执行优先于触发器,若在操作中触发器与约束发生冲突,触发器将不执行。不能在临时表上建立触发器,但是在触发器定义中可以引用临时表。触发器中不允许以下T-SQL语句(yj):ALTER DATABASEALTER DATABASECREATE DATABASECREATE DATABASEDISK INITDISK INITDISK RESIZEDISK RESIZEDROP DATABASEDROP DATABASEL

29、OAD DATABASELOAD DATABASELOAD LOGLOAD LOGRECONFIGURERECONFIGURERESTORE DATABASERESTORE DATABASERESTORE LOGRESTORE LOG第48页/共60页第四十八页,共61页。触发器Inserted表和deleted表inserted表和deleted表存放(cnfng)的信息修改操作inserted表deleted表增加增加(INSERT)(INSERT)记录记录存放新增的记录存放新增的记录-删除删除(DELETE)(DELETE)记录记录-存放被删除的记录存放被删除的记录修改修改(UPDATE

30、)(UPDATE)记录记录存放更新后的记录存放更新后的记录存放更新前的记录存放更新前的记录第49页/共60页第四十九页,共61页。触发器创建(chungjin)(SSMS)第50页/共60页第五十页,共61页。触发器创建(chungjin)(SSMS)创建触建触发器的模板器的模板(mbn),只需修改,只需修改相相应的参数就可的参数就可创建触建触发器器第51页/共60页第五十一页,共61页。触发器创建(TSQL)基本( jbn)语句格式CREATE TRIGGER CREATE TRIGGER 触发器名ON ON 表名或视图(sht)(sht)名 FOR | AFTER | INSTEAD OF

31、 FOR | AFTER | INSTEAD OF INSERT , UPDATE , DELETE INSERT , UPDATE , DELETEAS AS IF UPDATE(IF UPDATE(列名1) AND|OR UPDATE(1) AND|OR UPDATE(列名2)2) .n .n SQL SQL语句第52页/共60页第五十二页,共61页。触发器创建(TSQL)基本( jbn)语句格式CREATE TRIGGER CREATE TRIGGER 触发器名ON ON 表名或视图(sht)(sht)名 FOR | AFTER | INSTEAD OF FOR | AFTER | IN

32、STEAD OF INSERT , UPDATE , DELETE INSERT , UPDATE , DELETEAS AS IF UPDATE(IF UPDATE(列名1) AND|OR UPDATE(1) AND|OR UPDATE(列名2)2) .n .n SQL SQL语句第53页/共60页第五十三页,共61页。触发器创建(TSQL)参数(cnsh)说明u AFTER: AFTER:执行指定操作语句和处理完约束执行指定操作语句和处理完约束(yush)(yush)后激发触发器。后激发触发器。u FOR: FOR:如果仅指定如果仅指定 FOR FOR 关键字,则关键字,则 AFTER A

33、FTER 是默认设置。是默认设置。u INSTEAD OF: INSTEAD OF:指定语句激发触发器并被代替执行。指定语句激发触发器并被代替执行。u DELETE DELETE、INSERTINSERT、UPDATEUPDATE:指定激活触发器的数据修改语句,必:指定激活触发器的数据修改语句,必须至少指定一个选项,若指定的选项多于一个,需用逗号分隔这些须至少指定一个选项,若指定的选项多于一个,需用逗号分隔这些选项。选项。u AS AS:指定触发器要执行的操作。:指定触发器要执行的操作。u IF UPDATE( IF UPDATE(列名列名1) AND|OR UPDATE(1) AND|OR

34、UPDATE(列名列名2):2):指定何列数据修指定何列数据修改时激发触发器。不能用于改时激发触发器。不能用于DELETEDELETE语句。语句。第54页/共60页第五十四页,共61页。触发器创建(chungjin)(TSQL)示例1CREATE TRIGGER tr_addbookCREATE TRIGGER tr_addbookON BookInfoON BookInfoFOR INSERT,UPDATEFOR INSERT,UPDATEASASBEGINBEGIN DECLARE p_no CHAR(4) DECLARE p_no CHAR(4),DECLARE bt_no CHAR(1

35、0),DECLARE bt_no CHAR(10) SELECT p_no=Publisher.p_ID FROM Publisher,inserted SELECT p_no=Publisher.p_ID FROM Publisher,inserted WHERE Publisher.p_ID=inserted.p_ID WHERE Publisher.p_ID=inserted.p_ID SELECT bt_no=BookType.bt_ID FROM BookType,inserted SELECT bt_no=BookType.bt_ID FROM BookType,inserted

36、WHERE BookType.bt_ID=inserted.bt_ID WHERE BookType.bt_ID=inserted.bt_ID IF p_no is NULL OR bt_no is NULL IF p_no is NULL OR bt_no is NULL BEGIN BEGIN ROLLBACK TRANSACTION ROLLBACK TRANSACTION RAISERROR( RAISERROR(不存在这样的出版社或图书(tsh)(tsh)类别!,16,10),16,10) END ENDENDEND第55页/共60页第五十五页,共61页。触发器创建(chungjin

37、)(TSQL)示例2CREATE TRIGGERCREATE TRIGGER tr_change tr_changeONON BorrowReturn BorrowReturnFORFOR INSERT INSERTASASBEGINBEGIN UPDATE BookStore UPDATE BookStore SET s_Status=SET s_Status=借出 WHERE s_ID=(SELECT s_ID FROM WHERE s_ID=(SELECT s_ID FROM insertedinserted) )ENDEND第56页/共60页第五十六页,共61页。触发器禁用( jnyn

38、)或启用(SSMS)第57页/共60页第五十七页,共61页。触发器启用或启用触发器(T-SQL)基本语句(yj)格式示例学习(xux)要点ALTER TABLE ALTER TABLE 表名 ENABLEENABLE | | DISABLEDISABLE TRIGGER TRIGGER ALL | ALL | 触发器名,n ,n ALTER TABLE ALTER TABLE BookInfoBookInfo DISABLEDISABLE TRIGGER TRIGGER tr_addbooktr_addbook第58页/共60页第五十八页,共61页。触发器修改(xigi)触发器(T-SQL)修

39、改(xigi)删除学习(xux)要点DROP TRIGGER 触发器名ALTER TRIGGER ALTER TRIGGER 触发器名ON ON 表名或视图(sht)(sht)名 FOR | AFTER | INSTEAD OF FOR | AFTER | INSTEAD OF INSERT , UPDATE , DELETE INSERT , UPDATE , DELETEAS AS IF UPDATE(IF UPDATE(列名1) AND|OR UPDATE(1) AND|OR UPDATE(列名2)2) .n .n SQL SQL语句第59页/共60页第五十九页,共61页。感谢您的欣赏(xnshng)第60页/共60页第六十页,共61页。内容(nirng)总结学习要点。用户定义完整性 :由用户自定义的不属于其他任何完。CREATE TABLE中的所有列级和表级约束、存储过程、触发器。也称唯一值约束,确保在非主键列中不输入重复值。表中列可以定义为允许或不允许空值。一个列中出现NULL 值,意味着用户还没有为该列输入值。触发器是特殊类型的存储过程,主要由操作事件(INSERT、UPDATE、DELETE) 触发而被自动执行。不能直接调用(dioyng),也不能传递或接受参数。感谢您的欣赏第六十一页,共61页。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号