13数据库实验6TSQL语句的程序设计和关系完整性操作.doc

上传人:仙人指路1688 文档编号:2394752 上传时间:2023-02-17 格式:DOC 页数:6 大小:49.50KB
返回 下载 相关 举报
13数据库实验6TSQL语句的程序设计和关系完整性操作.doc_第1页
第1页 / 共6页
13数据库实验6TSQL语句的程序设计和关系完整性操作.doc_第2页
第2页 / 共6页
13数据库实验6TSQL语句的程序设计和关系完整性操作.doc_第3页
第3页 / 共6页
13数据库实验6TSQL语句的程序设计和关系完整性操作.doc_第4页
第4页 / 共6页
13数据库实验6TSQL语句的程序设计和关系完整性操作.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《13数据库实验6TSQL语句的程序设计和关系完整性操作.doc》由会员分享,可在线阅读,更多相关《13数据库实验6TSQL语句的程序设计和关系完整性操作.doc(6页珍藏版)》请在三一办公上搜索。

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

2、再利用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=99.995m=n 的值为

4、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 intset i=1se

5、t 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.9999988888888899set n2=10.99

7、99988888888899set 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=abcdefset n4=

8、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), m intdeclare

9、 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 CHAR(20) , c

10、name 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)exe

11、c sp_addtype cy1,varchar(24)declare a cy1 set a=abcdselect a,datalength(a) (3)select sno 学号,grade 成绩,等级=casewhen grade =60 then Ewhen grade70 then Dwhen grade80 then Cwhen grade90 then Bwhen grade=100 then Aelse 成绩输入有误!endfrom sc(4)-本题的功能是求100以内的自然数之和declare i int,s intset i=1set s=0while i=0 and grade=100)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号