欢迎来到天天文库
浏览记录
ID:59210988
大小:298.50 KB
页数:52页
时间:2020-09-26
《第8章 数据保护(数据库完整性)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章数据库完整性约束8.1默认值8.2规则8.31数据库的完整性数据库的完整性是指数据的正确性、有效性和相容性,是为了防止数据库中存在不合语义的数据,防止错误信息的输入与输出造成无效操作或错误结果。完整性措施的防范对象是不合语义的数据。例:性别只能是“男”或“女”,学号必须唯一。系统提供多种强制数据完整性的机制,保证数据库中数据的质量。2数据完整性类型根据数据完整性措施所作用的数据库对象和范围不同,可以将数据完整性进行分类。完整性约束作用的对象:关系(表):若干元组间,关系之间的联系的约束;元组:元组中各个字段间的联系的约束
2、;列:列的类型、取值范围、精度、唯一性、为空性、默认定义、CHECK约束、主键约束、外键约束。数据完整性约束分类:实体(表)完整性域(列)完整性参照完整性(引用完整性)用户自定义完整性31、实体完整性又称为行完整性。它把表中的每行都看作一个实体,要求所有行都具有唯一标识。实体完整性作用对象是列,强制表的标识符列或主键的完整性(在SQLServer中,可以通过建立PRIMARYKEY约束、UNIQUE约束、IDENTITY等措施来实施实体完整性)。例如,对“客户信息表”,客户编号就可以作为主键,每个客户的编号能够惟一地确定该客户
3、对应的记录信息,那么在输入数据时,则不能有相同客户编号的记录存在,通过对客户编号这一字段建立主键约束,可实现“客户信息表”的实体完整性。42、域完整性域完整性又称为列完整性。它要求表中指定列的数据具有正确的数据类型(通过定义数据类型)、数据格式(通过CHECK约束和规则实现)和有效的数据范围(通过FOREIGNKEY约束、CHECK约束、NOTNULL、DEFAULT定义和规则实现)。例如对于课程表“COURSE1”,学生的某门课程的学分应在10分以内,为了对学分这一数据项输入的数据进行限制,可以定义该表的学分字段的约束条件。
4、5[例1]定义“COURSE1”以及学分字段的约束条件CREATETABLECOURSE1(课程号CHAR(6)NOTNULL,课程名CHAR(18)NOTNULLUNIQUE,学分TINYINTCHECK(学分>=0and学分<=10),PRIMARYKEY(课程号))对列的约束对表的约束63、参照完整性又称为引用完整性,它的作用对象是关系。它保证主表(被参照表)中的数据与从表(参照表)中数据的一致性。在SQLServer中,它通过主键约束PRIMARYKEY和外键FOREIGNKEY约束、触发器等来实现。在数据库管理系统中
5、,保证数据库的完整性是非常重要的。参照完整性确保键值在所有表中一致。在被参照的表中,当其主键值被其他表参照时,一般情况下该行记录既不能被删除,也不允许被改变。74.用户自定义完整性可以定义不属于其它完整性分类的特定业务规则,作用的对象可以是列、也可以是元组或关系。所有的完整性类型都支持用户自定义完整性,如通过CREATETABLE中所有列级和表级约束、存储过程和触发器等实现88.1约束主键(PRIMARYKEY)约束惟一性(UNIQUE)约束检查(CHECK)约束外部键(FOREIGNKEY)约束为空性(NOTNULL)定义9
6、8.1.1主键约束主键是表中的一列或一组列,它们的值可以唯一地标识表中的每一行。在创建和修改表时,可以定义主键约束。主键列的值不允许为空。两种创建主键约束的方法使用企业管理器创建主键约束使用T-SQL语句创建主键约束10使用企业管理器创建主键约束在表设计器中单击鼠标右键,在弹出的快捷菜单中选择“索引/键”,打开“属性”对话框,在该对话框中可以查看、创建、修改和删除主键,如下图。11使用T-SQL语句创建主键约束语法(在CREATETABLE中加入)CONSTRAINT主键约束名PRIMARYKEY(列名1[,列名2,...列名
7、n])12[例2]使用CREATETABLE语句创建“测试”表,同时定义“记录编号”列为主键。CREATETABLE测试(记录编号int,记录名称varchar(50),CONSTRAINTPK_测试PRIMARYKEY(记录编号))138.1.2唯一性约束如果一个字段值不允许重复,则应当对该字段添加UNIQUE约束。与主键不同的是,在UNIQUE字段中允许出现NULL值,但为保持唯一性,最多只能出现一次NULL值。惟一性约束可以保证除主键外的其他一个或多个列的数据唯一性,以防止在列中输入重复的值。两种创建唯一性约束的方法使用
8、企业管理器创建唯一性约束使用T-SQL语句创建唯一性约束14使用企业管理器创建唯一性约束在表设计器中单击鼠标右键,在弹出的快捷菜单中选择“索引/键”,打开“属性”对话框,在这里可以查看、创建、修改和删除键。单击“新建”按钮,选中“创建UNIQUE”复选框,可以创建唯一性约束,
此文档下载收益归作者所有