




免费预览已结束,剩余52页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQL server 2000课程实验一、本实验课在培养实验能力中的地位及作用数据库技术是一个理论和实际紧密联系的技术,而SQL server 2000则是数据库具体应用的一个数据库开发系统。在学习过程中,除了解SQL server系统的设计环境及各种工具的使用方法、数据库系统结构、数据库应用方法等知识外,通过实验对相关技术加深认识,切实加强学生的实践能力,是教学中一个重要且必要的环节。并为其它信息系统专业课程奠定基础。数据库技术是一门理论与实践相结合的课程,只有通过上机实践才能真正领会主教材中介绍的知识。二、应达到的实验能力标准本实验的教学目标是使学生掌握如何使用SQL server 2000 设计数据库系统,了解数据库设计及相关操作的基本概念与方法,进而学会建立与组织、操作数据库。上机实验的主要目标如下:(1)通过上机操作,加深对数据库系统理论知识的理解。(2)通过使用具体的DBMS,了解一种实际的数据库管理系统并掌握其操作技术。(3)通过上机实验,提高动手能力,提高分析问题和解决问题的能力。三、实验主要内容实验一 SQL server2000的安装及SQL server 2000常用工具的使用(学时 2)要求:掌握SQL server 2000的安装方法 掌握SQL server 2000常用工具的使用方法实验二 数据库及表的创建和管理(学时 2)要求:掌握SQL server 2000数据库的创建及使用方法 掌握SQL server 2000数据库表的创建及使用方法实验三 约束的创建及使用 (学时 2)要求: 能用TSQL语言及企业管理器创建约束 实验四 表中数据的查询及维护(学时 2) 要求:掌握表中数据的查询方法及操作方法实验五TransactSQL程序设计 (学时 2)要求:掌握TransactSQL程序设计的方法要求:掌握用户自定义函数的创建方法 实验六 SQL Server视图及索引的创建及使用(学时 2)要求:掌握视图的创建及调用 掌握索引的创建及调用实验七 SQL Server 的存储过程 (学时 2)要求:掌握存储过程的创建及调用实验八 SQL Server 的触发器 (学时 2)要求:学会触发器的创建及使用实验九 SQL Server的安全性管理及代理服务 (学时 2)要求:通过实验理解SQL Server的安全性管理及代理服务实验十 数据库的备份及恢复 (学时 2) 要求:学会如何备份及恢复数据库 实验十一 SQL Server数据转换 (学时 2) 要求:掌握数据的导入导出及DTS设计器的使用四、实验成绩考核方法实验学时共16,分8次完成。实验成绩占课程平时总成绩中占32%,每次实验以4分计,独立完成实验内容达到实验目的为4分,完成实验内容但对实验内容理解不清为3分,其他情况酌情定分。五、实验教材、参考资料1 数据库技术实验指导书自编指导书 2 SQL SERVER数据库设计与应用案例训练教程 魏茂林等 电子工业出版社3 SQL Server数据库应用系统开发技术实验指导及习题解答 朱如龙等编著 机械工业出版社六、实验项目汇总表序号内容实验学时实验一SQL server 2000的安装及SQL server 2000常用工具的使用2实验二数据库及表的创建和管理2实验三约束的创建及使用2实验四表中数据的查询及维护2实验五TransactSQL程序设计2实验六SQL Server视图及索引的创建及使用2实验七SQL Server 的存储过程2实验八SQL Server 的触发器2实验九SQL Server的安全性管理及代理服务2 实验十数据库的备份及恢复2实验十一SQL Server数据转换2实验附录:上机实验一1练习安装SQL SERVER 2000及卸载SQL SERVER 2000。2. 管理器创建一个新的SQL Server服务器组,作为Microsoft SQL Servers的子对象,名称为 “NewGroup”3. 在计算机上再安装一个SQL Server命名实例,实例名为 “people”。 使用企业管理器在NewGroup服务器组下创建一个新的SQL Server注册,使她连接people实例。上机实验二1 使用企业管理器创建名为student的数据库,并设置数据库主文件名为syudent_data,大小为10MB;日志文件为student_log,大小为2MB.其他参数取默认值。步骤:a. b. c. d. 2. 使用TransactSQL语言创建一个student1数据库,主文件逻辑名为student1_data,物理文件名为student1.mdf,为10MB,增长速度为10%;数据库的日志文件逻辑名为syudent1_log, 物理文件名为student1.ldf,初始化大小为1MB,最大尺寸为5MB, 增长速度为1 MB;文件存放路径为c:data文件夹下。Create database student1On primry(name=student1_data, filename=c:datastudent1.mdf, size=10,maxsize=unlimited, filegrowth=10%)log on(name=student1_log, filename=c:datastudent1.ldf, size=1,maxsize=5, filegrowth=1)3. 在student数据库中创建一个名为pupil的表,要求:(sno char(6) not null,sname char(10) not null,ssex char(2) not null,birthday datetime not null, polity char(20)步骤:a. b.c.保存并命名为pupil即可。上机实验三1.将pupil表的sno设置为主键。 2 为sname字段设置惟一性约束。步骤:3 为ssex和birthday设置检查性约束,要求ssex只能为男或女,birthday应该大于1987-1-1。步骤:4 为polity字段设置默认约束,值为群众。5 再创建一个学生选课表sc(sno char(6) not null,cno char(10) not null,grade real).为sc表创建外键约束,把sc表的sno和pupil表的sno关联起来,在这两个表之间创建一种制约关系。步骤: 最后保存该关系图即可。上机实验四1. 已知一个名为pupil的表:(sno char(6) not null,sname char(10) not null,ssex char(2) not null,birthday datetime not null, polity char(20),sdept char(20) not null)a.利用insert语句向其中插入一条新的记录:(0007,张三,男,1982-3-21,团员,计算机系)insert into pupilvalues(0007,张三,男,1982-3-21,团员,计算机系)b.利用update语句将编号为0004的学生polity改为党员:update pupilset polity=党员where sno=0004a. 利用delete语句将186-1-1以后出生的女同学记录删除。Delete from pupilWhere polity1986-1-1 and ssex=女2. 针对pupil、sc、course三张表完成以下查询:a. 查询所有学生的基本信息,并按出生日期升序排列select * from pupil order by polityb. 查询女同学的信息和女同学的人数select * from pupil where ssex=女compute count(sno)c. 查询所有男同学的年龄select year(getdate()-year(birthday) as 年龄 from pupild. 所有选课学生的姓名、选修课程名及成绩select sname,cname,gradefrom pupil,sc,coursewhere pupil.sno=sc.sno and o=oe. 不及格学生的姓名select distinct snamefrom pupil,sc,coursewhere pupil.sno=sc.sno and o=o and grade60f. 查询刘姓学生的信息select * from pupil where sname like 刘%g. 查询polity为团员或党员的学生信息select * from pupil where polity in(团员, 党员)h. 查询各门课程的选课人数select cno ,count(sno) from sc group by cnoi. 查询缺少成绩的学生的学号及课程号select sno,cno from sc where grade is null j. 查询与刘成同一个系的学生情况select * from pupil where sdept in(select sdept from pupil where sname= 刘成)k. 查询选修了课程名为MIS的学生的学号和姓名select sno,sname from pupil where sno in(select sno from sc where cno in(select cno from course wnere cname=MIS) 上机实验五1 编写一个用户自定义函数fun_avggrade,要求根据输入的班级号和课程号,求此班级此课程的平均分。Create function fun_avggrade(classnumber as char(10),coursenumber as char(10)returns realbegindeclare avgresult as decimalselect avgresult=avg(grade)from scwhere substring(sno,1,len(sno)-2)= classnumber and cno=coursenumberreturn avgresultend2. 编写一个用户自定义函数,完成以下功能:根据两个输入参数(成绩上限和成绩下限),求sc数据表中满足输入条件的学生人数。Create function fun_sumren(maxline real,minline real)returns intbegindeclare personcount as intselect personcount=(select count(distinct sno) from sc)from scwhere grade=minlinereturn personcountend 上机实验六1.如何通过企业管理器和Transact_SQL语句对视图进行创建、修改和删除?通过企业管理器:创建步骤:最后保存该视图即可。修改步骤:进入该界面重新修改该视图即可。删除步骤:通过Transact_SQL语句:创建:create view 视图名 with encryption as select_statement with check option修改:利用 alter view 视图名删除:利用 drop view 视图名2 通过Transact_SQL语句创建一个视图,计算各个班级的各门课程的平均分。Create view v_avggradeAsSelect substring(pupil.sno,1,len(pupil.sno)-2) as 班级, Cname as 课程名称, Avg(grade) as 平均分From pupil,sc,gradeWhere pupil.sno=sc.sno and o=oGroup by substring(pupil.sno,1,len(pupil.sno)-2), Cname3. 通过Transact_SQL语句创建一个视图,显示高等数学未过的学生的信息。Create view v_gradenotpassAsSelect pupil.sno,sname,cname,gradeFrom pupil,sc,courseWhere pupil.sno=sc.sno and o=o and grade1 begin print 已经有相同的学号,请重新确认! rollback transaction end else print 数据录入成功! end3.创建一个insert触发器,当在sc表中插入一条新记录时,sno和cno必须是已经存在的学号和课程号,且grade应该在0-100之间。 程序代码如下: create trigger scinsert on sc for insert as declare gradevalue real set gradevalue=(select grade from inserted) print 触发器开始工作 if not exists(select sno from inserted where sno in(select sno from pupil) begin print 无此学生的编号,请重新确认! rollback transaction endelse begin if not exists(select cno from inserted where cno in(select cno from course) begin print 无此课程的编号,请重新确认! rollback transaction end else begin if gradevalue100 begin print 分数有误,请重新确认! rollback transaction end else print 数据插入成功! endend4.创建一个after触发器,在pupil表中删除某学生的记录时,删除其相应的选课记录。 程序代码如下: create trigger studelete on pupil for delete as declare stunum char(10) select stunum=sno from deleted if not exists(select
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工企业安全教育培训课件
- 农业农村基本知识课件
- 冒雪还书课件
- 冉云帆培训课件
- 劳务合同样本格式9篇
- 会员服务短信营销方案(3篇)
- 化学实验安全管理培训课件
- 先秦时期的政治课件
- 化学品安全生产培训课件
- 4田家四季歌 第1课时公开课一等奖创新教案
- (一检)泉州市2026届高三高中毕业班质量监测(一)数学试卷(含标准答案)
- 2025年福建省榕圣建设发展有限公司项目招聘12人笔试参考题库附带答案详解
- 矿山设备检修安全培训课件
- NBT 10322-2019 海上风电场升压站运行规程
- 【教师必备】部编版二年级语文上册 第二单元【集体备课】
- 2023年华中科技大学辅导员招聘考试笔试题库及答案解析
- 涨停战法研究精华总结(经常复读-多有收获)
- 现代汉语全套课件
- 智慧农业信息化解决方案
- 生物基础电子教案分享
- 小学六年级体育教案(全册48课时)
评论
0/150
提交评论