SQL Server 数据库设计实验指导书.docx
- 文档编号:30489564
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:11
- 大小:40.34KB
SQL Server 数据库设计实验指导书.docx
《SQL Server 数据库设计实验指导书.docx》由会员分享,可在线阅读,更多相关《SQL Server 数据库设计实验指导书.docx(11页珍藏版)》请在冰豆网上搜索。
SQLServer数据库设计实验指导书
SQLServer数据库设计实验指导书
软2012(12)
《SQLserver数据库设计》课程实验
一、本实验课在培养实验能力中的地位及作用
数据库技术是一个理论和实际紧密联系的技术,而SQLserver数据库设计则是数据库具体应用的一个数据库开发系统。
在学习过程中,除了解SQLserver系统的设计环境及各种工具的使用方法、数据库系统结构、数据库应用方法等知识外,通过实验对相关技术加深认识,切实加强学生的实践能力,是教学中一个重要且必要的环节。
《SQLserver数据库设计》是一门实践性很强的课程,只有通过上机实践才能真正领会主教材中介绍的知识。
二、应达到的实验能力标准
本实验的教学目标是使学生掌握如何使用SQLserver数据库开发系统,了解数据库设计及相关操作的基本概念与方法,进而学会建立与组织、操作数据库。
上机实验的主要目标如下:
(1)通过上机操作,加深对数据库系统理论知识的理解。
(2)通过使用具体的DBMS,了解一种实际的数据库管理系统并掌握其操作技术。
(3)通过上机实验,提高动手能力,提高分析问题和解决问题的能力。
三、实验要求
学生在实验课前认真做好预习,事先写好实验报告。
实验结束及时提交实验报告。
三、实验成绩考核方法
实验成绩在课程总成绩中占25%,包括平时每次实验考核与最后一次实验考试。
实验内容目录
实验1SQLserver常用工具的使用及数据库的创建
实验2表的创建与操作
实验3数据的简单查询
实验4数据的高级查询
实验5SQLServer视图的创建及使用
实验6SQLServer的程序设计、存储过程与触发器
实验7SQLServer的数据库安全、恢复与备份
实验8综合练习
实验1常用工具的使用及数据库的创建和管理
实验目的:
1.掌握SQLserver的安装方法及其常用工具的使用方法
2.掌握SQLserver数据库的创建和管理
实验内容:
1.熟悉SQLserver常用工具。
2.在图形界面下创建数据表名为student的数据库,并设置数据库主文件名为syudent_data,大小为10MB;日志文件为student_log,大小为2MB.其他参数取默认值。
3.使用Transact—SQL语言创建一个student1数据库,主文件逻辑名为student1_data,物理文件名为student1.mdf,为10MB,增长速度为10%;数据库的日志文件逻辑名为syudent1_log,物理文件名为student1.ldf,初始化大小为1MB,最大尺寸为5MB,增长速度为1MB;文件存放路径为c:
\data文件夹下。
Createdatabasestudent1
Onprimry
(name=student1_data,
filename=c:
\data\student1.mdf,size=10,maxsize=unlimited,filegrowth=10%)
logon
(name=student1_log,filename=c:
\data\student1.ldf,size=1,maxsize=5,filegrowth=1)
4.在图形界面下创建student,sc,course三个表,并添加数据。
5.用查询分析器中,查看pubs数据库中authors表的数据信息。
Usepubs
Go
Select*fromauthors
6.把student数据库备份与恢复
7.把C:
\ProgramFiles\MicrosoftSQLServer\MSSQL\data\student_data,student_log文件复制到自己U盘,然后再把该数据库文件恢复。
实验2表的创建与操作
实验目的:
1.掌握用SQL语句创建表与表的修改修改
2.掌握用菜单添加、修改表格数据
3.掌握索引的建立与主键、外键建立
实验内容:
1.在student数据库中创建一个名为pupil的表,要求:
(snochar(6)notnull,snamechar(10)notnull,ssexchar
(2)notnull,sageint,sdeptchar(20)),其中表中字段满足:
sno设置为主键,sname字段设置惟一性约束;
2.将pupil表的ssex和birthday设置检查性约束,要求ssex只能为‘男’或‘女’,sdept字段设置默认约束,值为‘软件学院’
3.在student数据库中创建一个名为course的表(cno,cname,teacher)。
4.分别在student,sc,course创建三个表的主键
5.在学生表中,创建按年龄降序索引
6.创建一个学生选课表sc(snochar(6)notnull,cnochar(10)notnull,gradereal).将sc表创建外键约束,把sc表的sno和student表的sno关联起来,在这两个表之间创建一种制约关系。
7.分别往student,sc,course三个表添加5条记录
8.查询年纪小于20的学生信息
9.查询成绩及格的选课信息的学生的学号
10.查询成绩及格的选课信息的学生的学号,姓名
实验3数据的简单查询
实验目的:
1.掌握SELECT语句的基本语法
2.掌握子查询及orderby子句用法
3.掌握SELECT语句的统计函数的作用和使用方法
实验内容:
1.针对student表查询所有学生的基本信息,并按出生日期升序排列。
2.针对student表查询女同学的信息和女同学的人数。
3.在student表中查询所有男同学的年龄。
4.在student表中,
(1)查询‘刘’姓学生的信息;
(2)查询polity为’团员’或’党员’的学生信息。
5.在sc表中,
(1)查询各门课程的选课人数;
(2)查询缺少成绩的学生的学号及课程号;(3)查询每个学生选课选课数;
6.查询与‘刘成’同一个系的学生情况。
7.查询选修了课程名为‘MIS’的学生的学号和姓名
8.查询pubs数据库的Publishers表中居住在Boson或不住在Paris的出版商信息。
9.查询pubs数据库的salers表中saleID为s01,s05,s07的销售人员的信息。
10.查询pubs数据库的authors表中作者居住的城市和州。
11.在Northwind数据库的Products表中查询出价格在5-10元之间的产品信息。
12.在Northwind数据库的orders表中的数据,先按CustomerID的升序排列,当CustomerID相同时再按照SaleID的降序排列。
注意:
如果没有Northwind,pubs示例数据库,自己会添加
实验4数据的高级查询
实验目的:
1.掌握表中数据的查询方法及操作方法
2.掌握连接查询与嵌套查询的方法
3.掌握SELECT语句的GROUPBY和COMPUTEBY子句使用方法
实验内容:
1.在student数据库中,分别用等值连接与自然连接查询计算机系选课的学生的所有信息。
2.针对student、sc、course三张表所有选课学生的姓名、选修课程名及成绩
3.在student、sc、course三张表中,查出不及格学生的姓名。
4.查出数据库成绩80以上格学生的姓名。
5.统计男女同学人数。
6.查询比张三的所有成绩都高的学生的档案信息(嵌套查询)。
7.在Northwind数据库的OrderDetails表中,使用groupby子句对所有订单按订单号汇总每类产品的数量信息。
注:
引用表[orderdetails]
8.用UNION子句将Customers表中顾客ID、姓名及Salers表中销售人员的ID、姓名组合在一个结果集中。
9.在Northwind数据库的Products表中显示所有价格高于平均价格的产品。
10.将Products表中的数据按CategoryID进行分组,然后分别统计每一组产品的平均价格及总库存。
11.在Northwind数据库的Products表中,对所有价格大于5元且组平均价格大于15元的价格表目,列出所有的产品的类型、平均价格及总库存。
补充:
在查询的基础上创建新表,例如:
将查询结果保存到新表temp_orders。
SELECT*INTOtemp_orders
FROMordersORDERBYCustomerID,SaleIDDESC
实验5数据更新与视图的创建及使用
实验目的:
1.插入数据、修改数据、删除数据
2.通过企业管理器和Transact_SQL语句对视图的创建及调用
3.掌握视图的修改与删除
4.掌握用Insert,Update通过视图更新数据
实验内容:
1.向学生表,用insert语句向其中插入一条新的记录:
(‘0007’,‘张三’,‘男’,20,’计算机系’)
2.利用update语句将编号为‘0004’的学生年龄改为23
3.在sc表中,利用update语句把英语成绩提高5%
4.删除年龄小于20的学生记录。
5.删除王军的的选课记录。
6.通过Transact_SQL语句创建一个视图,计算各门课程的平均分。
7.创建一个视图,显示‘高等数学’未过的学生的信息。
8.创建一个视图,查询的学号为99521学生的成绩。
9.在STUDENT库中以student表为基础,建立计算机学院学生的视图(视图名为:
V_计算机系学生)。
在使用该视图时,将显示学生信息。
10.使用视图“V_计算机系学生”查询所有男同学的信息。
11.在Northwind库中创建了一个基于表employees的视图v_employees,然后通过该视图修改表employees中的记录。
12.利用上题(题7)视图v_employees删除表employees中姓名为张然的记录。
补充:
视图常用_SQL语句
创建:
createview视图名[withencryption]asselect_statement
[withcheckoption]
修改:
利用alterview视图名
删除:
利用dropview视图名
实验6SQLServer程序设计、存储过程与触发器
实验目的:
1.掌握SQL语言流程控制语句与游标的使用
2.掌握SQLServer的存储过程
3.掌握SQLServer的触发器
实验内容:
1.在pubs中根据作者所在州的名字,打印出作者的姓名和洲的全名。
2.在pub库中,若titles表中不存在书价低于$30的情况下,反复执行Begin-end语句块中内容:
首先将所有书的价格提高50%,并在最高书价超过$50的情况下跳出循环。
3.使用Transact_SQL语句定义一个名为student_cur的游标,用于访问表中性别为男学生的Student_id,Name,Age和Sex四个字段的信息。
4.使用Transact_SQL语句通过student_cur的游标,读取表中Student_id,Name,Age和Sex四个字段的值。
5.创建一个存储过程stugradeinfo,查询班级、学号、姓名、性别、课程名称、分数。
6.利用企业管理器创建一个存储过程stu_info,根据传入的编号,查询某学生的基本信息。
7.创建一个insert触发器,当在pupil表中插入一条新记录时,给出‘你已经插入了一条新记录!
!
!
’的提示信息。
8.创建一个insert触发器,当在pupil表中插入一条新记录时,不允许在学号中出现重复的编号或出现空值。
9.创建一个insert触发器,当在sc表中插入一条新记录时,sno和cno必须是已经存在的学号和课程号,且grade应该在0----100之间。
10.创建一个after触发器,在pupil表中删除某学生的记录时,删除其相应的选课记录。
11.创建一个insteadof触发器,当在course表中上出记录时,不允许删除course表中的数据。
实验7SQLServer的数据库安全、恢复与备份
实验目的:
1.掌握SQLServer数据库的完整性约束
2.掌握SQLServer的恢复与备份,数据的导入与导出
3.掌握SQLServer的安全与权限
实验内容:
1.在sc表中,成绩值应该在0-100之间,对成绩字段创建CHECK约束,使取值在正常范围内。
2.在pupile表中,对polity字段建立一个默认约束,内容为团员。
3.在student数据库中建立一个规则,其名称为“专业规则”.将‘专业规则’绑定到‘学生’表的‘专业’字段上,可以限制录入或修改记录时提供的专业名称必须是‘电子商务’,’计算机网络’,’信息管理’。
4.使用企业管理器对一数据库做一次完全数据备份与恢复。
5.把下列文本文件导入到SQLServer数据库当中。
6.将pupil表导出到一个文本文件与access数据库当中。
7.利用DTS设计器将表从一个数据库复制到另一个数据库当中。
8.创建了一个名叫“ssq”,密码是“518405”,默认数据库为student的登陆帐户。
9.使用系统存储过程sp_password修改登录帐户的密码,把ssq帐户的密码改为208107。
实验8综合练习
实验目的:
1.复习表的基本操作
2.复习基本查询与高级查询
3.掌握SQLServer用户自定义函数的创建方法
实验内容:
1.从pupil表中检索出所有姓张的学生资料。
2.从pupil表中检索出名字的第二个字是“伟”或“炜”的所有学生资料。
3.在pub库中,若titles表中经济类书籍的平均价格低于20美元,就检索所有经济类图书;否则,则打印“平均书价超过$20”。
4.将Products表中的数据按CategoryID进行分组,然后分别统计每一组产品的平均价格及总库存。
useNorthwind
go
SELECTCategoryID,AVG(UnitPrice)AS'平均价格',
SUM(UnitsInStock)AS'总库存'
FROMProductsGROUPBYCategoryID
5.将上题中只显示平均价格低于10元的分组汇总信息。
useNorthwind
go
SELECTCategoryID,AVG(UnitPrice)AS'平均价格',SUM(UnitsInStock)AS'总库存'
FROMProductsGROUPBYCategoryIDHAVINGAVG(UnitPrice)<10
7.编写一个用户自定义函数,完成以下功能:
根据两个输入参数(成绩上限和成绩下限),求sc数据表中满足输入条件的学生人数。
Createfunctionfun_sumren
(@maxlinereal,@minlinereal)
returnsint
begin
declare@personcountasint
select@personcount=(selectcount(distinctsno)fromsc)
fromsc
wheregrade<=@maxlinerealandgrade>=@minline
return@personcount
end
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL Server 数据库设计实验指导书 数据库 设计 实验 指导书