欢迎来到天天文库
浏览记录
ID:41113125
大小:212.51 KB
页数:42页
时间:2019-08-16
《《SQL创建约束》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据库程序设计——SQLServer2000数据库程序设计第1章SQLServer概述第2章创建和管理数据库第3章创建数据类型和表第4章实现数据完整性第5章Transact-SQL介绍第6章使用Transact-SQL查询工具第7章检索数据第8章数据分组与汇总第9章多表联接第10章子查询第11章修改数据第12章全文索引查询第13章规划索引第14章创建和维护索引第15章实现视图第16章实现存储过程第17章实现用户定义函数第18章实现触发器第19章多服务器编程第20章优化查询性能第21章分析查询第22章管理事务和锁第4章实现数据完整性数据完整性的类型强制数据完整性定义约束约束的类型禁用
2、约束使用默认值和规则决定使用何种强制方法推荐操作数据完整性的类型4.1数据完整性的类型数据完整性指的是数据库中存储的数据的一致性和准确性数据完整性的类型:域完整性、实体完整性、引用完整性域完整性域(或列)完整性是指对列指定一组有效的值并决定是否可为空值实体完整性实体(或表)完整性要求表中的所有行都有一个惟一的标识符,称为主键值引用完整性引用完整性确保主键(在被引用表中)和外键(在引用表中)之间的关系得到保持第4章实现数据完整性数据完整性的类型强制数据完整性定义约束约束的类型禁用约束使用默认值和规则决定使用何种强制方法推荐操作强制数据完整性声明式数据完整性作为对象定义的一部分来定义数
3、据必须达到的标准SQLServer自动强制完整性通过使用约束、默认和规则来实现过程式数据完整性在脚本中定义数据必须达到的标准在脚本中强制完整性通过使用触发器和存储过程来实现可在客户端或服务器用其他编程语言和工具来实现4.2强制数据完整性第4章实现数据完整性数据完整性的类型强制数据完整性定义约束约束的类型禁用约束使用默认值和规则决定使用何种强制方法推荐操作定义约束决定使用何种约束创建约束使用约束的注意事项4.3定义约束决定使用何种约束4.3.1决定使用何种约束完整性类型约束类型描述域DEFAULT如果在INSERT语句中未显式提供值,则指定为列提供的值CHECK指定列中可接受的数据
4、值REFERENTIAL基于其他表中的列的值,指定可接受的用于更新的数据值实体PRIMARYKEY惟一标识每一列,确保用户没有输入重复的值。同时创建一个索引以增强性能。不允许空值UNIQUE确保在非主键列中不输入重复值,并创建一个索引以增强性能。允许空值引用FOREIGNKEY定义一列或多列的值与同表或其他表中主键的值匹配CHECK基于同表中其他列的值,指定列中可接受的数据值创建约束使用CREATETABLE或者ALTERTABLECREATETABLE是在创建表时创建约束ALTERTABLE是在一个已有的表上创建约束可以添加约束到已有数据的表上可添加单列或多列约束若约束应用于单列
5、,称为列级约束若约束引用了多列,称为表级约束,即使它并没有引用表中的所有列4.3.2创建约束使用约束的注意事项可直接在表上创建、更改和删除约束,而不必删除并重建表应该在应用程序和事务内建立错误检查逻辑,以测试是否违反了某个约束SQLServer里的约束只是“最后防线”当给一个表添加约束的时候,SQLServer将检查现有数据是否违反约束建议创建约束的时候指定名称,否则系统将为约束自动产生一个复杂的名称名称必须惟一,且符合SQLServer标识符的规则查看约束的信息系统存储过程:sp_helpconstraint、sp_help信息模式视图:check_constraints、ref
6、erential_constraints、table_constraints系统表:syscomments、sysreferences、sysconstraints4.3.3使用约束的注意事项第4章实现数据完整性数据完整性的类型强制数据完整性定义约束约束的类型禁用约束使用默认值和规则决定使用何种强制方法推荐操作约束的类型DEFAULT约束CHECK约束PRIMARYKEY约束UNIQUE约束FOREIGNKEY约束级联引用完整性4.4约束的类型DEFAULT约束如果一个列的值在INSERT语句中没有指定,DEFAULT约束将自动输入一个值,可以是预先指定的常量、NULL或者一个系统
7、函数运行时的值语法:[CONSTRAINT约束名]DEFAULT约束表达式创建DEFAULT约束的两种方法创建一个默认(CREATEDEFAULT),然后使用存储过程sp_bindefault将默认绑定到一个列CREATETABLE或ALTERTABLE时使用DEFAUTL约束应用DEFAULT约束的注意事项DEFAULT约束创建时将检查表中的现存数据DEFAULT约束只对INSERT语句有效每列只能定义一个DEFAULT约束不能和“标识”属性及rowversion数
此文档下载收益归作者所有