数据库实验报告 22.docx

上传人:b****8 文档编号:28095120 上传时间:2023-07-08 格式:DOCX 页数:39 大小:3.45MB
下载 相关 举报
数据库实验报告 22.docx_第1页
第1页 / 共39页
数据库实验报告 22.docx_第2页
第2页 / 共39页
数据库实验报告 22.docx_第3页
第3页 / 共39页
数据库实验报告 22.docx_第4页
第4页 / 共39页
数据库实验报告 22.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

数据库实验报告 22.docx

《数据库实验报告 22.docx》由会员分享,可在线阅读,更多相关《数据库实验报告 22.docx(39页珍藏版)》请在冰豆网上搜索。

数据库实验报告 22.docx

数据库实验报告22

 

计算机与信息学院

数据库系统实验报告

 

专业班级

计算机科学与技术13-3班

学生姓名及学号

王泊谦2013211683

课程教学班号

0002

任课教师

沈明玉

实验指导教师

沈明玉

实验地点

第二机房

2014~2015学年第二学期

 

实验1数据库的创建和删除

一、实验目的

1.了解SQLServer2005数据库的逻辑结构和物理结构。

2.掌握使用SQL语句创建和删除数据库。

 

二、实验要求

1.熟练利用查询分析器进行交互式SQL语句的使用方法。

2.理解SQLServer中的共享架构dbo。

3.注意操作结果的截图与保存,供撰写实验报告使用。

 

三、实验内容

1.使用SQL语句创建数据库userdb1。

数据库的参数要求:

数据库名称:

EDUC

数据库存储路径:

将数据库文件存储在D:

\jxgl\目录中。

其他参数要求:

数据文件的初始大小:

10M最大:

60M按5%的比例自动增长。

日志文件的初始大小:

4M最大:

10M增量为1M。

2.将新创建的数据库设置为当前数据库。

 

四、实验步骤

1.创建数据库EDUC

2、根据步骤1的sql语句,写出创建数据库EDUC的sql语句,点击‘执行’按钮建立数据库EDUC。

3、按照上述相同的要求创建数据库userdb。

4.用SQL语句删除步骤1建立的数据库userdb。

 

五、实验总结

通过本次实验,了解了SQLServer2005数据库的逻辑结构和物理结构并且掌握了使用SQL语句创建和删除数据库。

实验2使用SQL语句创建和删除基本表

一.实验目的

1.了解SQLServer的基本数据类型。

2.学会使用Createtable语句创建基本表。

二.实验要求

1.在查询分析器中使用SQL语句完成基本表的创建、修改、删除。

2.实现基本表定义中有关完整性约束的要求。

3.注意操作结果的截图与保存,供撰写实验报告使用。

三.实验内容

在数据库EDUC中,创建如下四个表:

Class、student、course、sc

表的具体要求如下:

1.class表的结构要求

班级号:

clsNO,字符型(定长),长度为6,主码

班级名称:

clsName,字符型(变长),长度16,非空

辅导员:

Director,字符型(变长),长度10

专业:

Specialty,字符型(变长),长度30

2.student表的结构要求

学号:

sno,字符型(定长),长度为8,主码

姓名:

sname,字符型(变长),长度为10,非空

性别:

ssex,字符型(定长),长度为2,性别只能为’男或女’

班级号:

clsNO,字符型(定长),长度为6,外键

住址:

saddr,字符型(变长),长度为20

年龄:

sage,数值型(整数),长度为3,年龄要求10~30之间

身高:

height,数值型(长度为4,含两位小数)

3.course表的结构要求

课程号:

cno,字符型(定长),长度为4,主键

课程名:

cname,字符型(变长),长度为16,非空

先修课程号:

cno,字符型(定长),长度为4,外键

学分:

Ccredit,数值型(长度为2,含1位小数)

4.sc表的结构要求

学号:

sno,字符型(定长),长度为8

课程号:

cno,字符型(定长),长度为4

成绩:

grade,数值型(长度为3,含一位小数)

注意:

本表主码与外码的定义。

四.实验步骤

1.创建基本表

 

2.修改表结构

按照student的要求创建表student1,修改基本表student1:

1)增加“入学时间”列s_entrance,其数据类型为日期型。

2)将年龄属性值的限制由10~30改为10~40之间。

3)将住址(saddr)的长度改为40。

3.删除基本表student1。

 

五、实验总结

通过本次实验,了解了MySQL的基本数据类型并且使用SQL语句完成了基本表的创建、修改、删除等操作。

实验3数据更新操作

一.实验目的

1.掌握INSERT/UPDATE/DELETE语句的使用。

2.体会数据更新操作对完整性约束的影响。

二.实验要求

1.实验内容中要求的数据必须插入到相关基本表中,在此基础上每个表需另插入不少于3个元组。

2.注意操作结果的截图与保存,供撰写实验报告使用。

三.实验内容

1.数据插入操作

(1)向表(Class)中插入数据

ClsNO

ClsName

Director

Specialty

CS01

计算机一班

张宁

计算机应用

CS02

计算机二班

王宁

计算机应用

MT04

数学四班

陈晨

数学

PH08

物理八班

葛格

物理

GL01

地理一班

张四

应用地理

插入数据之后使用命令:

Select*fromClass;检查插入数据的正确性

(2)向表(Student)中插入数据

Sno

Sname

Ssex

ClsNO

Saddr

Sage

Height

20090101

王军

CS01

下关40#

20

1.76

20090102

李杰

CS01

江边路96#

22

1.72

20090306

王彤

MT04

中央路94#

19

1.65

20090107

吴杪

PH08

莲化小区74#

18

1.60

插入数据之后使用命令:

Select*fromStudent;检查插入数据的正确性

 

(3)向表(Course)中插入数据

Cno

Cname

Cpno

Credit

0001

高等数学

Null

6

0003

计算机基础

0001

3

0007

物理

0001

4

插入数据之后使用命令:

Select*fromCourse;检查插入数据的正确性

(4)向表(SC)中插入数据

SNO

CNO

Grade

20090101

0001

90

20090101

0007

86

20090102

0001

87

20090102

0003

76

20090306

0001

87

20090306

0003

93

20090106

0007

85

20090306

0007

90

2.数据修改与删除操作

首先在student表中插入一条新记录:

学号:

20091101、姓名:

张三、性别:

男、年龄:

19、班级编号:

‘CS01’。

1)对于student表,将所有班级号为‘CS01’的,并且年龄小于20岁的学生的班级号改为‘CS02’。

2)对于student表,删掉所有年龄小于20岁,并且专业号为‘CS02’的学生的记录。

四、实验步骤:

1.数据插入操作

(1)向表(Class)中插入数据

(2)向表(Student)中插入数据

(3)向表(Course)中插入数据

(4)向表(SC)中插入数据

 

2.数据修改与删除操作

首先在student表中插入一条新记录:

学号:

20091101、姓名:

张三、性别:

男、年龄:

19、班级编号:

‘CS01’。

1)对于student表,将所有班级号为‘CS01’的,并且年龄小于20岁的学生的班级号改为‘CS02’。

2)对于student表,删掉所有年龄小于20岁,并且专业号为‘CS02’的学生的记录。

 

五、实验总结

通过本次试验,对表的结构有了一定的了解,掌握了INSERT、UPDATE、DELETE语句的使用,体会到了数据更新操作对完整性约束的影响。

实验4数据库的分离和附加

一.实验目的

掌握数据库的分离和附加的具体操作方法。

二.实验要求

3.将创建的数据库EDUC进行分离并拷贝到U盘。

4.注意操作结果的截图与保存,供撰写实验报告使用。

三.实验内容

1)数据库的分离

在对象资源管理器中,选择数据库节点EDUC,右击-任务-分离,进入如下图所示的界面,选择“更新统计消息”下的复选框,单击确定,完成数据库的分离,此时可以在存储数据库的文件夹中将分离后的数据库的数据文件和日志文件拷贝到U盘里。

2)数据库的附加

在对象资源管理器中,选择数据库节点,右击-附加-添加,选择数据文件,单击确定,完成数据库的附加。

四、实验步骤

1、数据库的分离

2、数据库的附加

五、实验总结

通过本次实验,掌握了数据库的分离和附加的具体操作方法。

实验5创建和删除索引

一.实验目的

1.了解索引的类型和作用。

2.学会用SQL语句对表创建和删除索引

二.实验要求

1.了解索引类型并比较各类索引的不同之处。

2.完成索引的创建和删除。

3.注意操作结果的截图与保存,供撰写实验报告使用。

三.实验内容

1.用SQL语句分别建立以下索引

(1)在student表的Sname列上建立普通降序索引Stusname。

(2)在course表的Cname列上建立唯一索引Coucname。

(3)在sc表的Sno(升序),Cno(升序)和grade(降序)三列上建立一个普通索引SCno。

2.检查创建索引的完成情况。

3.用SQL语句删除索引

删除Student表的Stusname索引。

四、实验步骤

1.用SQL语句分别建立以下索引

(1)在student表的Sname列上建立普通降序索引Stusname。

(2)在course表的Cname列上建立唯一索引Coucname。

(3)在sc表的Sno(升序),Cno(升序)和grade(降序)三列上建立一个普通索引SCno。

2.检查创建索引的完成情况。

3.用SQL语句删除索引

删除Student表的Stusname索引。

 

五、实验总结

通过本次实验,了解了普通索引、唯一索引以及它们作用,并且学会了利用SQL语句对表创建和和删除索引。

实验6数据查询

一、实验目的

1.观察查询结果,体会SELECT语句实际应用;

2.要求学生能够在查询分析器中使用SELECT语句进行简单查询。

3.熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。

二、实验要求

1.完成所要求的全部查询。

2.注意操作结果的截图与保存,供撰写实验报告使用。

三、实验内容

所有的查询全部用Transact-SQL语句实现。

此部分查询包括投影、选择条件表达、数据排序、使用临时表等。

对EDUC数据库实现以下查询:

将student表中sname为李杰的改为张三。

1)查询“计算机应用”专业的学生学号和姓名;

2)查询选修了课程的学生学号;

3)查询选修课程0001且成绩在80-90之间的学生学号和成绩,并将成绩乘以系数0.75输出;

4)查询“计算机应用”和“数学”专业的姓“张”的学生的信息。

5)查询“0001”课程的成绩高于张三的学生学号和成绩;

6)查询没有选修“0002”课程的学生姓名。

四、实验步骤

1、将student表中sname为李杰的改为张三。

 

2、查询“计算机应用”专业的学生学号和姓名;

3、查询选修了课程的学生学号;

 

4、查询选修课程0001且成绩在80-90之间的学生学号和成绩,并将成绩乘以系数0.75输出;

5、查询“计算机应用”和“数学”专业的姓“张”的学生的信息。

 

6、查询“0001”课程的成绩高于张三的学生学号

7、查询没有选修“0002”课程的学生姓名。

五、实验总结

通过本次实验,了解并体会了SELECT语句的实际应用,能够在查询分析器中使用SELECT语句进行简单查询,熟练掌握了表的数据查询、数据排序和数据连接等操作方法。

 

实验7使用聚集函数的SELECT语句

一、实验目的

1.熟练掌握数据查询中的分组、统计、计算和组合的操作方法。

2.进一步掌握SQLServer查询分析器的使用,加深对SQL语言的嵌套查询语句的理解。

二、实验要求

1.在实验之前做好准备。

2.注意操作结果的截图与保存,供撰写实验报告使用。

三、实验内容

在数据库EDUC中用SQL语句实现如下查询:

1)查询学生的总人数。

2)查询选修了课程的学生人数。

3)查询课程的课程号和选修该课程的人数。

4)查询选修课程超过2门课的学生学号和姓名。

四.实验步骤

1、查询学生的总人数。

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

3、查询课程的课程号和选修该课程的人数。

 

4、查询选修课程超过2门课的学生学号和姓名。

 

五、实验总结

通过本次实验,熟练掌握了数据查询中的分组、统计、计算和组合的操作方法,并且进一步掌握了MySQL的使用,加深了对SQL语言的嵌套查询语句的理解。

实验8视图的定义与使用

一.实验目的

1.熟悉和掌握对数据表中视图的查询操作和SQL语句的使用;

2.熟悉和掌握对数据表中视图的更新操作和SQL语句的使用,并注意视图更新与基本表更新的区别与联系;

3.学习灵活熟练的进行视图的操作,认识视图的作用。

二.实验要求

1.在实验开始之前做好准备工作。

2.思考视图和基本表的区别。

3.注意操作结果的截图与保存,供撰写实验报告使用。

三.实验内容

1.定义视图

在EDUC数据库中,已Student、Course和SC表为基础完成一下视图定义:

1)定义视图V_SC_G:

该视图包含Student、Course和SC表中学生的学号、姓名、课程号、课程名和成绩;

2)定义一个反映学生出生年份的视图V_YEAR,该视图要求使用系统函数来获取当前日期及转换;

3)定义视图V_AVG_S_G:

该视图将反映学生选修课程的门数及平均成绩;

4)定义视图V_AVG_C_G:

该视图将统计各门课程的选修人数及平均成绩。

2.使用视图

1)查询以上所建的视图结果。

2)查询平均成绩为90分及以上的学生学号、姓名和成绩;

3)查询科目成绩大于平均成绩的学生学号、课程号、成绩和平均成绩;

4)查询1995年出生的学生学号和姓名。

 

四、实验步骤

1、定义视图V_SC_G:

该视图包含Student、Course和SC表中学生的学号、姓名、课程号、课程名和成绩;

2、定义一个反映学生出生年份的视图V_YEAR,该视图要求使用系统函数来获取当前日期及转换;

3、定义视图V_AVG_S_G:

该视图将反映学生选修课程的门数及平均成绩;

4、定义视图V_AVG_C_G:

该视图将统计各门课程的选修人数及平均成绩。

5、查询以上所建的视图结果。

6、查询平均成绩为90分及以上的学生学号、姓名和成绩;

7、

8、查询科目成绩大于平均成绩的学生学号、课程号、成绩和平均成绩;

9、

8、查询1995年出生的学生学号和姓名。

五、实验总结

通过本次实验,熟悉掌握了对数据表中视图的查询操作和SQL语句的使用,熟悉掌握了对数据表中视图的更新操作和SQL语句的使用,理解了视图更新与基本表更新的区别与联系,认识了视图的作用。

实验9触发器的创建与使用

一、实验目的

本实验的目的是使学生进一步掌握SQLServer触发器的创建及使用方法,加深SQL触发器的理解。

通过对数据的更新操作体会其触发器的作用。

二、实验要求

1.掌握T-SQL创建触发器语句Createtrigger的使用。

2.完成所规定的触发器定义要求。

3.通过数据查询检查触发器的使用效果。

4.注意操作结果的截图与保存,供撰写实验报告使用。

三、实验内容

1.在班级表class中增加班级人数(c_total)字段。

2.为学生表(student)创建INSERT触发器t_inst_stu:

新增一名学生时,若其班级编号非空,则将班级表(class)中相应班级的人数(c_total)自动加1。

3.为学生表(student)创建DELETE触发器t_dele_stu:

删除一名学生时,若其班级编号非空,则将班级表(class)中相应班级的人数(c_total)自动减1。

4.为学生表(student)创建UPDATE触发器t_update_stu:

当某学生所在班号发生变化时(即调到另一班级后),将其原先所在班级的人数(c_total)减1,将新调入的班级班级的人数(c_total)加1。

5.体会触发器的作用。

四、实验步骤、

1.使用altertable语句在班级表class中增加班级人数(c_total)字段,默认值(DEFAULT)是0;

2.为学生表(student)分别创建:

●INSERT触发器t_inst_stu

●DELETE触发器t_dele_stu

●UPDATE触发器t_update_stu

3.体会触发器的作用:

1)查看班级表(class)

2)对学生表(student)分别插入(INSERT)、删除(DELETE)和修改(UPDATE)元组

3)再次查看班级表(class),检查其数据的变化情况,体会触发器的作用。

 

五、实验总结

通过本次本实验,进一步掌握了SQL触发器的创建及使用方法,加深对SQL触发器的理解,并且在使用触发器的过程中体会了触发器的作用。

实验10存储过程的创建与使用

一、实验目的

本实验的目的是使学生进一步掌握SQLServer存储过程的创建及使用方法,加深对SQL存储过程的理解。

通过对存储过程的调用体会其作用。

二、实验要求

1.掌握T-SQL创建触发器语句Createprocedure的使用。

2.完成所规定的存储过程定义要求。

3.调用(EXEC)所创建的过程,检查过程的执行结果。

4.注意操作结果的截图与保存,供撰写实验报告使用。

三、实验内容

1、创建一个不带参数的存储过程p_stu_info1,实现对满足要求的学生基本信息的查询。

要求:

所有年龄<21岁的男同学

2、创建一个带有参数的存储过程p_stu_info2,实现对满足要求的学生基本信息的查询。

要求:

输入参数为学号,与指定学号的学生同龄的所有同学。

3、创建一个存储过程p_stu_info3,根据输入的学号,查询某学生的基本信息。

要求:

输入参数为学号。

4、创建一个存储过程p_stu_grade,根据输入的学号,返回其选课及其成绩。

要求:

输入参数为学号。

5.使用SQL语句分别执行p_stu_info1、p_stu_info2、p_stu_info3和p_stu_grade,并查看显示结果。

 

四、实验步骤

1、创建一个不带参数的存储过程p_stu_info1,实现对满足要求的学生基本信息的查询。

2、创建一个带有参数的存储过程p_stu_info2,实现对满足要求的学生基本信息的查询。

3、创建一个存储过程p_stu_info3,根据输入的学号,查询某学生的基本信息。

4、创建一个存储过程p_stu_grade,根据输入的学号,返回其选课及其成绩。

 

五、实验总结

通过本实验,进一步掌握了MySQL存储过程的创建及的使用方法,加深了对MySQL存储过程的理解。

通过对存储过程的调用体会了SQL存储过程的作用。

 

实验11用户管理操作

一、实验目的

本实验的目的是使学生进一步掌握SQLServer用户角色及权限的使用方法,加深SQL用户管理的理解。

SQLServer的特定数据库都有自己的用户和角色(用户组),该数据库只能由它的用户或角色访问,其他用户无权访问该数据库数据,数据库系统可以通过创建和管理特定的数据库的用户和角色来保证数据库不被非法用户访问。

二、实验要求

1.实现对SQLServer的用户和角色管理

2.设置和管理数据操作权限

三、实验内容

1、创建登录帐号

2、创建用户

3、创建角色

4、授权

5、验证授权操作

四、实验步骤

1.创建登录帐号

--添加登录cxp,设置密码为123,默认数据库为EDUC

2、创建用户

3、创建角色

用语句创建角色,有两种方法1)调用存储过程进行创建;2)用create语句进行

创建:

(用崔平测试)给角色授权,删除角色:

(用崔平测试)

4、授权

将角色所拥有的权限授予用户cxp

使用向导,eudc-安全性-用户,双击cxp,在弹出的窗口中选择数据库角色,也可用

语句操作

5、验证授权操作

修改数据库属性为混合登录模式后重新启动数据库,用cxp登录账号登录后,进行验证;

五、实验总结

通过本次实验,进一步掌握了SQL创建登录帐号、创建用户、创建角色、授权、验证授权等操作,加深对SQL用户管理的理解。

 

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1