sql数据库完整性约束.ppt

sql数据库完整性约束.ppt

ID:55831577

大小:347.00 KB

页数:40页

时间:2020-06-09

sql数据库完整性约束.ppt_第1页
sql数据库完整性约束.ppt_第2页
sql数据库完整性约束.ppt_第3页
sql数据库完整性约束.ppt_第4页
sql数据库完整性约束.ppt_第5页
资源描述:

《sql数据库完整性约束.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章数据库完整性场景:学校在进行每学期的奖学金评选的时候,要求学生通过校内网站提交奖学金申请表,这个表中数据将会加入到学生数据库中,作为评选依据。学校的学籍管理办公室数据库管理员抱怨,每次都有学生输入了错误的数据,如:错误的专业名称、和学籍档案不一致的姓名、错误的导师名称等等,有时也会因网络超时,相同的信息重复的输入多次,这样会增加了更多的管理工作。若你是学校的数据库管理人员认为可由什么方法解决这个问题,提高效率呢?通过实现约束来解决这个问题。约束是SQLServer提供的自动保持数据库完整性的一种方法,它通过限制字段中数据、记录中数据和表之间的数据来保

2、证数据的完整性。在SQLSERVER中,对于基本表的约束分为列约束和表约束。什么是数据库完整性数据库的完整性是指数据的正确性和相容性数据库完整性是防止不合语义或不正确的数据进入数据库完整性体现了是否真实地反映现实世界例:学生的年龄必须是整数,取值范围为14-29;学生的性别只能是男或女;学生的学号一定是唯一的;学生所在的系必须是学校开设的系;DBMS维护数据库完整性的机制:1.提供定义完整性约束条件的机制DBMS应提供定义数据库完整性约束条件,并把它们存入数据库中。2.提供完整性检查的方法检查数据是否满足完整性约束条件的机制称为完整性检查。一般在INSER

3、T、UPDATE、DELETE语句执行后开始检查。3.违约处理DBMS若发现用户的操作违背了完整性约束条件,就采取一定的动作以保证数据的完整性,如拒绝执行该操作,或级联执行其他操作。约束是SQLServer提供的自动保持数据库完整性的一种方法,它通过限制字段中数据、记录中数据和表之间的数据来保证数据的完整性。在SQLSERVER中,对于基本表的约束分为列约束和表约束。列约束是对某一个特定列的约束,包含在列定义中,直接跟在该列的其他定义之后,用空格分隔,不必指定列名;表约束与列定义相互独立,不包括在列定义中,通常用于对多个列一起进行约束,与列定义用“,”分隔

4、,定义表约束时必须指出要约束的那些列的名称。完整性约束与对象类型约束关键字名称描述实体PRIMARYKEY主键约束唯一标识每一行UNIQUE惟一约束防止非主键重复引用FOREIGNKEY外键约束定义值与同一个表或另一个表的主键值匹配的一列或多列组合域CHECK检查约束指定列的允许值DEFAULT默认值约束指定列的默认值NULL空值约束指定是否允许为NULL对象DEFAULTRULE默认值对象规则对象完整性约束与对象在SQLServer2008中有6种约束和2种对象:完整性约束的基本语法格式为:[CONSTRAINTconstraint_name(约束名)]

5、<约束类型>约束不指定名称时,系统会给定一个名称。完整性约束PRIMARYKEY与UNIQUE约束类似,通过建立唯一索引来保证基本表在主键列取值的唯一性,但它们之间存在着很大的区别:①一个表只能有一个PRIMARYKEY约束,但可定义多个UNIQUE约束;②对于指定为PRIMARYKEY的一个列或多个列的组合,其中任何一个列都不能出现空值,而对于UNIQUE所约束的唯一键,则允许为空。注意:不能为同一个列或一组列既定义UNIQUE约束,又定义PRIMARYKEY约束;PRIMARYKEY既可用于列约束,也可用于表约束。5.1PRIMARYKEY约束PRIM

6、ARYKEY约束用于定义基本表的主键,它是惟一确定表中每一条记录的标识符,其值不能为NULL,也不能重复,以此来保证实体的完整性。主键的创建操作方法有两种:SQLServer管理平台操作法和Transact-SQL语句操作法。(1)SQLServer管理平台操作法(如图示)(2)使用Transact-SQL语句操作法设置主键约束,其语法形式如下:PRIMARYKEYCONSTRAINTconstraint_namePRIMARYKEY(column_name)5.1PRIMARYKEY约束(2)举例:建立一个SCORE表,包括:SNO、CNO和GRADE,

7、定义SNO,CNO共同组成SCORE的主键。5.1PRIMARYKEY约束(2)举例:建立一个SCORE表,包括:SNO、CNO和GRADE,定义SNO,CNO共同组成SCORE的主键。CREATETABLESCORE(SNOCHAR(10)NOTNULL,CNOCHAR(10)NOTNULL,GRADENUMERIC(9),CONSTRAINTSC_PRIMPRIMARYKEY(SNO,CNO));5.1PRIMARYKEY约束5.2UNIQUE约束惟一性约束用于指定一个或者多个列的组合值具有惟一性,以防止在列中输入重复的值。定义了UNIQUE约束的那些

8、列称为唯一键,系统自动为唯一键建立唯一索引,从而保证了唯一键的唯一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。