数据库约束、默认、规则实验报告.doc

上传人:jian****018 文档编号:8077481 上传时间:2020-03-27 格式:DOC 页数:5 大小:516KB
返回 下载 相关 举报
数据库约束、默认、规则实验报告.doc_第1页
第1页 / 共5页
数据库约束、默认、规则实验报告.doc_第2页
第2页 / 共5页
数据库约束、默认、规则实验报告.doc_第3页
第3页 / 共5页
点击查看更多>>
资源描述
实验五 约束默认和规则1、约束在数据库中的应用(1)用系统存储过程sp_helpconstraint查看student表的约束。(2)在新建查询中输入插入一个学生信息的命令:insert into student(SNO,Sname,Sex,ClsNO,StuAddr,Birthday,Height)values(19920101,王军,男,CS01,下关#,1976.12.21,1.76),观察其结果。修改SNO的值,将其值修改为19000001,其他的值保持不变,再插入一次,观察其结果。(3)修改studeng表,使用Check约束,使性别列只能接受“男”或“女”,以强制执行域数据完整性。重做(1),观察其结果。(4)禁止student表中的sex列上的约束:alter table student nocheck constraint ck_student(5)删除约束:alter table student drop constraint ck_xsqk。重做(1)。(6)利用关系图,建立student表与course表与grade表的主外键约束。2、默认的应用(1)创建默认对象:default_birthday,默认值为1982-1-1。 CREATE DEFAULT default_birthday AS 1982-01-01(2)利用系统存储过程sp_bindefault将default_birthday绑定到student表的Birthday列上。(3)利用系统存储过程sp_unbindefault解除student表的Birthday列上的默认值绑定。(4)删除默认值:DROP DEFAULT default_birthday(5)定义一个默认值为4的Default_Value,并将它绑定到course表的Credit列上,绑定后给course插入数据行,观察默认值的设置情况,使用完毕后,解除并删除绑定。实现过程要求使用SQL语句完成。3、规则的应用(1)利用企业管理器创建规则:规则名为:rule_credit_range,文本为:range=1 and range=8;(2)绑定规则:将rule_credit_range 绑定到Class表的course列上; (3)解除(2)中设置的规则绑定,删除规则rule_ credit _range;(4)定义一个规则rule_Specialty,这个规则限制Class表中的Specialty列只能取以下的值:计算机应用、信息管理、数学、物理。将该规则绑定到Class表后,向Class表插入数据行,观察规则的设置情况,使用完毕后,解除并删除该规则。1、约束在数据库中的应用1.1 SQL语句:exec sp_helpconstraint student1.2insert into student(SNO,Sname,Sex,ClsNO,StuAddr,Birthday,Height) values(19920101,王军,男,CS01,下关#,1976.12.21,1.76)消息2627,级别14,状态1,第1 行违反了PRIMARY KEY 约束PK_Student。不能在对象dbo.student 中插入重复键。语句已终止。insert into student(SNO,Sname,Sex,ClsNO,StuAddr,Birthday,Height) values(19920106,王华,男,CS01,下关#,1976.12.21,1.76)1.3 SQL语句: alter table Studentwith nocheckadd constraint check_sex check (Sex between 男 and 女)1.4 SQL语句:alter table Student nocheck constraint check_sex1.5 SQL语句:alter table Student drop constraint check_sex1.6 SQL语句:/*创建主键*/alter table Studentadd constraint pk_sno primary key(SNO);alter table Classadd constraint pk_clsno primary key(ClsNO);alter table Courseadd constraint pk_cno primary key(CNO);2、默认的应用2.1 SQL语句:create default default_birthday AS 1982-01-012.2 SQL语句:exec sp_bindefault default_birthday , Student.birthday2.3 SQL语句:exec sp_unbindefault Student.birthday2.4 SQL语句:drop default default_birthday3、规则的应用3.1 SQL语句:create rule rule_credit_rangeas range between 1 and 8exec sp_bindrule rule_credit_range , Course.Credit3.4 SQL语句:create rule rule_Specialtyas Specialty in (计算机应用,信息管理,数学,物理)exec sp_bindrule rule_Specialty,Class.Specialtyinsert into Classvalues(PH09,物理八班,葛格,化学)消息513,级别16,状态0,第1 行列的插入或更新与先前的CREATE RULE 语句所指定的规则发生冲突。该语句已终止。冲突发生于数据库学生成绩管理,表dbo.Class,列Specialty。语句已终止。SQL Server数据库的实验学习使我对数据库的有了新的进步,以后再看到也就不至于什么也不懂,其实那么多数据库我觉得学好一门就行,只是他们的语言可能不大一样,学好一门后就可去认识其它的,这样应该有事半功倍的效果。就像我学习C语言,当时不能说是学习的棒,但不算差。所以我对以后的语言感觉都不是很困难,了解了VB、C+还有网页中用的Html语言、asp语言都能看懂,起码可以对别人的东西进行了一下修改。因此,我感谢数据库老师给了我有用的知识,以便我在以后学习或认识更多的内容能有新的方法和思维,也能更加有效和快速的去消化吸收新的东西。希望在今后中,SQL Server能给我更多帮助。感谢学校开设这样一门优秀使用的课程,让我对数据库有了更深的了解。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!