春数据库实验6_T-SQL语句的程序设计和关系完整性操作_第1页
春数据库实验6_T-SQL语句的程序设计和关系完整性操作_第2页
春数据库实验6_T-SQL语句的程序设计和关系完整性操作_第3页
春数据库实验6_T-SQL语句的程序设计和关系完整性操作_第4页
春数据库实验6_T-SQL语句的程序设计和关系完整性操作_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.PAGE ;PAGE 6实验六 T-SQL的程序设计和关系完整性操作(6学时)【实验目的】1. 了解T-SQL编程的基础知识。2. 理解数据库中的关系数据完整性。【实验要求】1.掌握各类型常量的表示;局部变量的声明和赋值;各类运算符的使用。2.掌握批处理的含义;脚本的含义、注释的使用及流程控制语句的使用。3.了解局部变量的作用域;部分内置函数的使用。4. 掌握使用T-SQL语句来创建各种约束和默认值、规则等数据库对象,从而保证数据的完整性。【实验内容】 一、T-SQL程序设计基础1.设计一段程序,能在屏幕上输出“欢迎使用选课管理信息系统”。2.在查询分析器窗口中利用declare分别定义bi

2、t、int型变量n、m ,再利用set命令分别给n、m 赋值为7、123,利用select命令看结果。3. 在查询分析器窗口中利用declare分别定义变量n1、n2、n3、n4为 Real型、 float型 、decimal型及numeric型,再利用set命令赋值为10.9999988888888899,利用select命令看结果。4. 在查询分析器窗口中利用declare分别定义变量n1、n2、n3、n4为 char型、 varchar型 、 nchar型 、nvarchar型的长度为5的字符串变量 ,再利用set命令赋值为abcef,利用select命令看结果并利用datalength

3、函数查看各变量所占用的内存空间。5.设计一段程序,功能是统计随机产生的1000个0到1之间小数以0.5为分界出现的次数,用以说明随机数的均匀性。6.设计程序完成如下功能,将该程序保存为lab6-6.SQL。(1)打开“student”数据库。(2)创建一个名为“score”的表,该表包含如下字段:sname,cname,grade。(3)利用SELECT语句为“score”插入正确数据。(4)显示“score”的所有记录。7.在查询分析器中分别调试如下程序,先修正错误再将结果以注释语句的形式写在相应程序的下方。(1) declare n decimal(5,2),m varchar(10)n=

4、99.995m=n 的值为print m+ ngo(2) exec sp_addtype , cy1 , varchar(24)declare a cy1a=abcdselect a, datalength(a) (3) select sno 学号, grade 成绩, 等级=casewhen grade =100 then Awhen grade90 then Bwhen grade80 then Cwhen grade70 then Dwhen grade60 then Eelse 成绩输入有误!endfrom sc(4)-本题的功能是求100以内的自然数之和declare i int,s

5、 intset i=1set s=0while i=100begin s=s+i i=i+1 endprint 100以内的自然数之和为: +ltrim( s)二、关系完整性操作1.对本实验第一大项第6题的score表增加以下约束。(1)非空约束:sname,cname。(2)主键约束(sname,cname)。2.对表student增加以下约束:Sdept的默认值定义为“计算机学院”3.对表score增加以下约束:grade值的范围在0-100之间。4.参照上述要求,自行设计约束(不少于10个)。【实验步骤】一、T-SQL程序设计基础1在查询分析器中输入参考代码如下,该段程序的功能是在屏幕上

6、输出“欢迎使用选课管理信息系统”。declare str char(30)set str= 欢迎使用选课管理信息系统print print strgo【运行结果】 2在查询分析器中输入参考代码如下。declare n bit, m intset n=8set m=256select n+m【思考】(1) n+m运算结果是否如你预期?(2)如果使用print n+m 替代 select n+m,观察输出结果的形式有何不同?3在查询分析器中输入参考代码如下。declare n1 real,n2 float,n3 decimal,n4 numericset n1=10.999998888888889

7、9set n2=10.9999988888888899set n3=10.9999988888888899set n4=10.9999988888888899select n1 as n1_real,n2 as n2_float ,n3 n3_decimal,n4 n4_numeric【运行结果】【思考】如果 定义n3 decimal(19,16),观察 n3的输出结果有何不同?4在查询分析器中输入参考代码如下。declare n1 char(5),n2 varchar(5),n3 nchar(5),n4 nvarchar(5)set n1=abcdefset n2=abcdefset n3=

8、abcdefset n4=abcdefselect n1 as n1_char,n2 as n2_varchar ,n3 n3_nchar, n4 n4_nvarcharselect datalength(n1) as n1_char,datalength(n2) as n2_varchar ,datalength(n3) n3_nchar, datalength(n4) n4_nvarchar【运行结果】5在查询分析器中输入参考代码如下。/*本程序的功能是统计随机产生的1000个0到1之间小数以0.5为分界出现的次数,用以说明随机数的均匀性*/declare r numeric(10,2),

9、 m intdeclare n1 int, n2 intset m=1set n1=0set n2=0while m=1000begin set r=rand() if r=0.5 set n1=n1+1 else set n2=n2+1 set m=m+1end print 小于等于0.5的随机数出现了+ str(n1)+次print 大于0.5的随机数出现了+str(n2)+次【运行结果】6.程序编码建立在本课程已经完成的实验基础上,即已经建立了stu_DB数据库和表student、sc和course,参考代码如下。use stu_DBgocreate table score( sname

10、 CHAR(20) , cname CHAR(30) , grade SMALLINT DEFAULT NULL, -primary key(sname,cname) )insert into score (sname,cname,grade)select sname,cname,gradefrom student,sc,coursewhere student.sno=sc.sno and o=oselect * from score7正确代码参考如下。(1)declare n decimal(5,2),m varchar(10)set n=99.995set m=n 的值为print mprint ngo(2)exec sp_addtype cy1,varchar(24)declare a cy1 set a=abcdselect a,datalength(a) (3)select sno 学号,grade 成绩,等级=casewhen grade =60 then Ewhen grade70

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论