《sql server》课程数据完整性约束的教学整体设计

《sql server》课程数据完整性约束的教学整体设计

ID:5322522

大小:160.17 KB

页数:3页

时间:2017-12-08

《sql server》课程数据完整性约束的教学整体设计_第1页
《sql server》课程数据完整性约束的教学整体设计_第2页
《sql server》课程数据完整性约束的教学整体设计_第3页
资源描述:

《《sql server》课程数据完整性约束的教学整体设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第27卷第4期开封大学学报Vo1.27No.42013年12月J0URNALOFKAIFENGUNIVERSITYDec.2013《SQLServer}课程数据完整性约束的教学整体设计杨桦(开封大学信息7-程学院,河南开封475004)摘要:以高校教务管理系统中的成绩管理子模块为例,对数据完整性约束问题进行了探讨和分析,同时,根据教务管理工作的特点,对教务管理系统的数据完整性进行了设计,并使之通过SQLServer2008得到实现.关键词:高校教务管理系统;数据完整性;SQLServer;约束;触发器中图分类号:TP31

2、1.13文献标识码:A文章编号:1008—343X(2013)04—89—030引言数据完整性是衡量数据库性能的重要指标之一,其实施的好坏直接关系到数据质量的优劣,也关系到数据库系统能否正确、有效地运行.在{SQLServer}课程中,完整性约束的内容分布在不同的章节,知识缺乏系统性和连贯性,不利于学生理解和掌握.笔者在教学实践中,以高校教务管理系统中的成绩管理子模块为例,对数据完整性约束问题进行了探讨和分析,同时,根据教务管理工作的特点,对教务管理系统的数据完整性进行了设计,并使之通过SQLServer2008得到实现

3、.本文拟对这一教学实践做个总结.1数据完整性的概念数据完整性是指数据库中数据的正确性和一致性,包括实体完整性、参照完整性、域完整性和用户自定义完整性.实体完整性要求表中主键的值不能为空值且唯一;参照完整性要求保证相关联的表间数据的一致性,避免一个表的数据的修改导致另一个表中相关数据失效;域完整性是指表中每列数据必须具有正确的数据类型、格式和有效的取值范围;用户自定义完整性是指用户针对具体的数据要求而设置的完整性规则.2数据完整性的设计下面选择高校教务管理系统中的成绩管理子模块进行分析.成绩管理系统是教学中经常使用的数据库

4、管理系统,它和学生的日常学习生活联系密切,易于理解,是典型的教学案例.其概念模型设计如下图所示:图1成绩管理子模块E—R图收稿日期:2013一l1一l2基金项目:本文系2010年度河南省高等学校省级精品课程建设的阶段性成果作者简介:杨桦(1972一),女,河南开封人,副教授,硕士.研究方向:计算机应用89将E—R图进行转换,得到以下数据表:表1学生表表2课程表表3成绩表3数据完整性的实现3.1实体完整性实体完整性通过主键约束、惟一约束或identity属性实现,要求每个表必须指定一个主键,其值必须唯一且非空.这里以学生表

5、为例.学生表中,学号是主键,其值不能重复;如果要求学生不允许同名,则可以为姓名字段设置惟一约束.设计如下:Createtable学生表(学号Char(6)notnullprimarykey,姓名Char(8)unique,性别Char(2),出生日期datetime,民族Varchar(20))3.2参照完整性参照完整性通过外键约束实现.例如,成绩表(子表)的“学号”字段与学生表(父表)的“学号”字段对应,其值引用学生表中“学号”字段的值,那么通过公共字段“学号”,可以在成绩表和学生表之间建立关联;同理,也可以在成绩表和

6、课程表之间建立关联.可以使用SQL语句,在创建数据表的同时定义外键约束.如定义成绩表:Createtable成绩表(学号Char(6)notnullforeignkey(学号)references学生表(学号),课程号Char(4)notnullforeignkey(课程号)references课程表(课程号)primarykey(学号,课程号),成绩decimal(6,1))当然,也可以使用SQL语句,通过修改表结构来定义外键约束.altertable成绩表addconstraint课程号约束foreignkey(课程

7、号)references课程表(课程号)3.3域完整性域完整性通过检查约束、默认值约束、规则对象和默认值对象等方法实现.3.3.1检查约束check若表已经建好,则可以使用altertable语句,在修改表结构时添加check来约束“性别约束”.altertable学生表addconstraint学生约束check(性别=‘男’or性别=‘女’)3.3.2规则对象规则对象也用于字段的检查,它和check约束的区别在于:check约束只对一个字段有效,而规则对象属于整个数据库.规则对象创建后,必须绑定到字段上才有效.一个规

8、则对象可以绑定到多个表的多个字段,实现一次创建多次绑定[4].下例就是建立一个对象“编号”来进行多处绑定、解除绑定的语句,它实现了“学生的学号只能是6位数字”的限制:createrule编号as@学号like‘[0—9][0—9儿0—9][0—9][0—9][0—9]’execsp—bindrule编号,‘学生表.学

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

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

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