数据库原理实验指导9Word文件下载.docx

上传人:b****6 文档编号:8404467 上传时间:2023-05-11 格式:DOCX 页数:15 大小:21.92KB
下载 相关 举报
数据库原理实验指导9Word文件下载.docx_第1页
第1页 / 共15页
数据库原理实验指导9Word文件下载.docx_第2页
第2页 / 共15页
数据库原理实验指导9Word文件下载.docx_第3页
第3页 / 共15页
数据库原理实验指导9Word文件下载.docx_第4页
第4页 / 共15页
数据库原理实验指导9Word文件下载.docx_第5页
第5页 / 共15页
数据库原理实验指导9Word文件下载.docx_第6页
第6页 / 共15页
数据库原理实验指导9Word文件下载.docx_第7页
第7页 / 共15页
数据库原理实验指导9Word文件下载.docx_第8页
第8页 / 共15页
数据库原理实验指导9Word文件下载.docx_第9页
第9页 / 共15页
数据库原理实验指导9Word文件下载.docx_第10页
第10页 / 共15页
数据库原理实验指导9Word文件下载.docx_第11页
第11页 / 共15页
数据库原理实验指导9Word文件下载.docx_第12页
第12页 / 共15页
数据库原理实验指导9Word文件下载.docx_第13页
第13页 / 共15页
数据库原理实验指导9Word文件下载.docx_第14页
第14页 / 共15页
数据库原理实验指导9Word文件下载.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库原理实验指导9Word文件下载.docx

《数据库原理实验指导9Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库原理实验指导9Word文件下载.docx(15页珍藏版)》请在冰点文库上搜索。

数据库原理实验指导9Word文件下载.docx

指定该文件的初始容量。

在SQLServer2005中数据文件的默认值为3MB,日志文件的默认值为1MB。

●自动增长:

用于设置在文件容量不够用时,文件根据何种增长方式自动增长。

●路径:

指定存放在文件的目录。

默认情况下,SQLServer2005将存放路径设置为其安装目录下的data子目录,单击该列中的按钮可以在打开的“定位文件夹”对话框中更改数据库的存储路径。

完成上述操作后,单击“确定”按钮关闭“新建数据库”窗口,即完成了数据库的创建,可以在“对象资源管理器”窗格中看到新建的数据库。

(二)语言方式创建

SQLServer2005使用的Transact-SQL语言是标准SQL的增强版本,使用它提供的CreateDatabase语句同样可以完成对数据库的建立(参考内容见附录)。

1、单击“新建查询”按钮,创建一个查询输入窗口将附录中的语句复制到该窗口。

选择创建数据库的命令,单击工具栏中的“分析”按钮,可以检查语法错误;

单击“执行”按钮即可执行语句,在查询窗口内的“查询”窗格中可以看到“命令已成功完成”的提示消息。

在“对象资源管理器”窗格中刷新,即可看到新建的数据库。

2、继续执行CreateDatabase之后的语句,在“sample_st”数据库中用CreateTable命令依次建立Student、Course和SC这三个数据表,利用Insert命令为各数据表添加数据。

(参考内容见附录)

(三)知识巩固

仿照附录内容,用SQL-DDL语言创建“产品订购”数据库,包含四个数据表S、P、J和SPJ,表结构及内容见教材P74。

 

附录:

USEmaster

CREATEDATABASEsheji_st

ONPRIMARY

NAME=sheji_st_data,

FILENAME='

C:

\ProgramFiles\MicrosoftSQLServer\MSSQL\data\sample_st.mdf'

SIZE=10MB,

MAXSIZE=UNLIMITED,

FILEGROWTH=1MB

LOGON

NAME=sheji_st_log,

\ProgramFiles\MicrosoftSQLServer\MSSQL\data\sample_st.ldf'

SIZE=2MB,

GO

USEsheji_st

CREATETABLE图书

图书号char(5)notnullprimarykey,

图书名char(10),

作者char(10),

出版社char(10),

CREATETABLE读者

读者号char(6)notnullprimarykey,

姓名char(12),

性别char(4),

职业char(4),

专业char(4),

CREATETABLE借还书

读者号char(5),

图书号char(5),

借书日期char(5),

还书日期char(5),

PrimaryKey(读者号,读者姓名),

ForeignKey(读者号)References读者(读者号),

ForeignKey(图书号)References图书(图书号)

USEsample_st

insertstudentvalues('

01001'

'

李平'

男'

22,'

经济'

01002'

周灵'

女'

01003'

李芳'

21,'

数学'

01004'

刘小冬'

23,'

计算机'

01005'

刘岳'

01006'

吴京'

01007'

王芳'

01008'

黄明明'

01009'

赵飞'

01010'

刘冰'

02001'

孙雨'

20,'

02002'

韩雨晴'

02003'

张天一'

02004'

李伟'

02005'

孙小丽'

管理'

02006'

张海涛'

02007'

宋涛'

02008'

王依然'

02009'

周冠军'

02010'

王海波'

02011'

李静'

insertcoursevalues('

101'

高等数学'

'

6)

102'

大学英语'

5)

103'

计算机基础'

3)

104'

政治经济学'

201'

离散数学'

4)

202'

专业英语'

203'

程序设计'

204'

计算机网络'

205'

管理学概论'

206'

西方经济学'

301'

数学分析'

302'

数据库原理'

303'

多媒体技术'

304'

系统分析'

insertscvalues('

82)

66)

75)

88)

72)

45)

62)

52)

60)

71)

70)

90)

86)

64)

76)

80)

77)

85)

89)

78)

94)

null)

实验2数据库的简单查询

掌握单表查询中各个子句(Select、From、Where、Group、Having、Order)的用法,特别要掌握比较运算符和逻辑运算符的使用。

在已建立的数据库和数据表的基础上,用Select语句完成下列查询操作。

1、查询全体学生的学号和姓名。

2、查询全体学生的所有基本信息(仅针对Student表)。

3、对SC表查询全体学生的选课记录,在显示结果中为“Grade”列增加5分。

4、查询全体学生的学号和姓名,将原来的英文列名设置中文别名。

5、显示所有选课学生的学号,去掉重复结果。

6、查询成绩在80分以上的学生选课记录。

7、查询经济系所有学生的学号和姓名。

8、查询成绩在80~90分的学生选课记录。

9、查询年龄不在22~25的学生记录。

10、查询所有姓“刘”的学生记录。

11、查询无考试成绩(成绩为空值)的学号、课程号。

12、查询考试成绩非空值的学号、课程号。

13、查询数学系年龄小于20岁的学生记录。

14、查询选修了“101”或“102”课程的选课记录。

15、查询学生总人数。

16、查询选修了课程的学生人数。

17、查询选修了“101”课程的学生的平均成绩。

18、查询学号为“01003”的学生的考试总成绩。

19、查询“101”课程的最高分和最低分。

20、查询每门课程的选课人数。

21、查询每个学生的学号、选课数、平均成绩和总成绩。

22、查询选课数超过2的学生学号及其选课数。

23、查询所有学生信息,查询结果按年龄降序排列。

(针对Student表操作)

24、查询所有学生信息,查询结果按系名升序,同系学生按年龄降序排列。

25、查询选课数超过2的学生学号及其选课数,查询结果按选课数降序排列。

五、实验要求

本次实验要求学生独立完成并提交SQL—Select命令的具体内容,请各位同学于实验后的下一周提交实验报告,记平时成绩4分。

实验3数据库的多表连接查询

继续熟练SQL-SELECT语句的使用;

理解多表查询的概念;

掌握多表连接查询中各个子句的用法,特别要比较内连接和外连接的结果。

在已建立的数据库和数据表的基础上,用Select语句的连接查询完成下列操作。

1、查询每个学生的基本信息及其选课情况。

2、查询选修“101”课程的学生学号、姓名和成绩。

3、查询与“李平”在同一个系学习的学生记录。

4、查询与“李平”年龄相同的学生记录。

5、查询选修课程名为“数据库原理”的选课记录。

6、查询选修课程名为“数据库原理”的学生记录。

7、查询选修“101”课程且成绩≥90的学号、姓名和成绩。

8、查询“李平”的所有选课记录。

9、查询数学系学生选修的课程号,要求结果中去掉重复记录。

10、查询计算机系选修课程数≥2的学号、姓名及平均成绩,查询结果按平均成绩降序。

11、查询每个学生的学号、选修课程号、课程名及成绩。

12、查询所有学生的选修情况(包括选课和未选课的学生),要求显示学号、姓名、课程号和成绩。

本次实验要求学生自主复习并完成SQL—Select命令。

实验4数据库的子查询、组合查询

掌握非相关子查询、相关子查询的用法,理解它们的执行过程;

学会在SQLServer中用Exists实现交运算,用NotExists实现差运算。

在已建立的数据库和数据表的基础上,用Select语句的嵌套查询完成下列操作。

1、查询选修“101”课程且成绩≥90的学号、姓名。

2、查询“李平”的所有选课记录。

5、查询选修课程名为“数据库原理”的选课记录,输出结果包括学号和成绩。

6、查询选修课程名为“数据库原理”的学生记录,输出结果包括学号、姓名和所在系。

7、查询学号为“01003”学生的选修课程号和课程名。

8、查询没有选修“101”课程的学生学号和姓名。

9、查询选修“101”课程或“102”课程的学生姓名。

10、查询选修“101”课程和“102”课程的学生学号。

11、查询选修“101”课程但没选修“102”课程的学生学号。

12、查询没有选修任何课程的学生记录,输出结果包括学号、姓名和所在系。

13、查询数学系学生选修的课程号,要求结果中去掉重复记录。

14、查询选修课程至少包含“01003”选修课程的学生学号。

实验5数据库更新

掌握Insert、Update、Delete语句的使用;

对于Insert语句,要求理解默认值约束、空值约束在插入记录时所起的作用。

在已建立的数据库和数据表的基础上,向数据库中添加一个临时表ST,其结构与Student表结构相同。

用Insert语句向临时表输入数据,输入有误时用Update语句进行修改。

再用三个更新语句完成下列操作。

1、向Student表添加若干新记录,内容自定。

(观察已定义的表的约束情况)

2、向SC表添加新记录,内容自定,不低于10条(注意不能违反参照完整性)。

3、为临时表ST添加记录。

4、把Student表的所有行一次性地加到临时表ST中。

5、在ST表中把所有学生的成绩加2分。

6、在ST表中把所有学生的年龄增加1。

7、在ST表中把“李平”的所在系改为“计算机”。

8、在ST表中将选修课程“数据库原理”的学生成绩加2分。

9、在SC表中删除所有成绩为空值的选修记录。

10、删除计算机系选修成绩不及格的选课记录。

本次实验要求学生自主复习并完成SQL的更新命令。

实验6数据库的视图定义及使用

理解视图的概念,掌握CreateView、DropView语句的使用;

掌握基于视图的查询语句的使用。

在已建立的数据库和数据表的基础上,完成下列操作。

1、建立数学系学生的视图MAST。

2、建立计算机系选修课程名为“数据库原理”的学生视图,视图名:

CSTVIEW,该视图中应包括属性列:

学号、姓名、成绩。

3、创建一个名为STSUMVIEW的视图,包括所有学生的学号和总成绩。

4、建立学生选课视图SCVIEW,包括所有学生的学号、姓名、课程号、课程名和成绩。

5、通过MAST视图查询学生基本信息。

6、通过SCVIEW查询成绩大于90分的学生的学号和成绩。

7、查询计算机系选修课程名为“数据库原理”并且成绩大于85分的学生的学号和成绩。

8、通过MAST视图将学号为“01008”学生的年龄修改为21岁。

9、通过MAST视图将学号为“01009”学生所在系改为“经济”,是否能成功执行?

若不能成功请说明理由;

若修改成功,请再次通过MAST视图查询学生基本信息,是否能查询到该生?

若不能查询请说明理由。

10、通过SCVIEW视图将学号为“01004”学生的总成绩修改为380分,是否能成功执行?

若不能成功请说明理由。

本实验要求学生独立完成并提交SQL—视图操作的具体内容,请各位同学于实验后的下一周提交实验报告,记平时成绩4分。

实验7数据库的安全与保护

理解SQLServer的用户与权限管理机制,掌握用对象资源管理器创建服务器登录帐号,并同时建立用户。

掌握如何为给定的用户分配权限。

用户与权限管理

(1)打开“SQLServerManagementStudio”窗口,使用对象资源管理器创建两个服务器登录帐号Test1和Test2,并在“sample_st”数据库中创建两个对应的同名用户。

设置Test1用户和Test2用户的默认架构为guest。

(2)使用Test1身份登录,并为Test2分配创建数据表的权限;

用Test2身份登录来验证权限分配成功。

(3)使用Test1身份登录,收回刚刚分配给Test2的创建数据表的权限;

用Test2身份登录来验证权限回收成功。

五、实验步骤

1、使用对象资源管理器创建两个服务器登录帐号。

以系统管理员身份登录SQLServer。

打开“SQLServerManagementStudio”窗口,在对象资源管理器列表中,打开展开“安全性”文件夹,选择“登录名”图标,单击鼠标右键,在弹出的菜单中选择“新建登录名”。

在打开的对话框中依次建立Test1和Test2,选择“SQLServer身份验证”,同时还要输入密码,默认数据库为“sample_st”。

(2)在“用户映射”中列出了当前登录帐号可以选择访问的数据库如“sample_st”,在其左侧的复选框中打勾,表示当前登录帐号可以访问对应的数据库,默认用户名与登录帐号相同。

(3)单击“确定”按钮完成创建。

2、创建新的数据库用户。

在对象资源管理器中选中要访问操作的数据库,展开“安全性”文件夹,在“用户”文件夹中查找是否已建立与登录名Test1和Test2同名的数据库用户,若已建立,则在属性中修改其默认架构为guest;

否则右击鼠标在菜单中选择“新建用户”选项,出现“数据库用户-新建”对话框,建立相应的用户。

3、用Grant、Revoke命令实现对用户的授权和收权。

4、用Create命令创建数据表验证授权和收权是否成功。

5、以系统管理员身份登录SQLServer。

使用:

“GRANTSELECTONSCTOTest1WITHGRANTOPTION”命令,再分别以Test1和Test2身份登录,进行授权及查询数据表,验证“WITHGRANTOPTION”能否成功执行。

6、以系统管理员身份使用“R

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2