《大型数据库管理系统》实验.docx
- 文档编号:12909129
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:55
- 大小:2.51MB
《大型数据库管理系统》实验.docx
《《大型数据库管理系统》实验.docx》由会员分享,可在线阅读,更多相关《《大型数据库管理系统》实验.docx(55页珍藏版)》请在冰豆网上搜索。
《大型数据库管理系统》实验
学院
本科实验报告
2013~2014学年1学期
指导老师:
黄军仓
学院(部)信息系
实验室信息中心
课程名称《大型数据库管理系统》
学生姓名
学号
专业
《大型数据库管理系统》实验报告目录
【实验01】数据库的创建与管理
【实验02】表的创建与管理
【实验03】记录与查询
【实验04】表与视图
【实验05】索引的创建与管理
【实验06】创建与使用存储过程
【实验07】触发器的创建与使用
【实验08】SQLSERVER数据库网站的建立
【实验01】
《大型数据库管理系统》实验报告
开课实验室:
机房20年月日
学院
西财行知
年级、专业、班
信管1101
姓名
涂晓倩
成绩
课程
名称
大型数据库管理系统
实验项目
名称
数据库的创建与管理
指导教师
黄军仓
教师评语
教师签名:
年月日
一、实验目的
1、掌握数据库的创建与修改方法。
2、学会数据库的备份和还原方法。
3、了解数据库的维护方法。
二、实验原理
1、按照下面的要求创建一个名为“Test1”的数据库。
主要数据文件:
逻辑文件名为Test1Data1,实际文件名为Test1Data1.mdf;初始容量为1MB,最大容量为10MB,递增量为1MB。
次要数据文件:
逻辑文件名为Test1Data2,实际文件名为Test1Data2.ndf;初始容量为1MB,最大容量为10MB,递增量为1MB。
事务日志文件:
逻辑文件名为Test1log1,实际文件名为Test1log1.ldf;初始容量为1MB,最大容量为5MB,递增量为1MB。
2、按照下面的要求修改数据库Test1。
主要数据文件的容量为2MB,最大容量为20MB,递增量为2MB。
次要数据文件的容量为2MB,最大容量为20MB,递增量为2MB。
事务日志文件的容量为1MB,最大容量为10MB,递增量为1MB。
3、为数据库Test1建立一个全库备份。
4、删除数据库Test1,然后用已建立的备份还原数据库Test1。
5、将已建立的数据库Test1更名为“学生管理”数据库。
三、使用仪器、材料
50台微机的机房
局域网络
SQLSERVER2000、Word
四、实验步骤
1.创建数据库:
(1)打开企业管理器,用鼠标右键单击“数据库”节点,在弹出的快捷菜单中选择执行“新建数据库”命令,打开“数据库属性”对话框。
(2)打开新建数据库对话框的“常规”选项卡,在“名称”文本框中输入数据库的名称Test1。
如图1-1
(3)激活“数据文件”,在这个对话框中增加相应的文件。
如图1-2
(4)激活“事务日志”选项卡,设置符合题意的事务日志文件。
如图1-3
(5)指定次要数据文件,单击“数据文件”并切换到该页面,然后单击数据库文件表中主要文件的下一行添加文件,并进行相应的设置。
如图1-4
(6)单击【确定】按钮,完成数据库的创建,该数据库将会在数据库列表中。
2.修改数据库:
(1)在企业管理器中,展开“数据库”节点,选中数据库Test1,右击选择“属性”命令。
(2)在“数据文件”和“事务日志”中进行相应的文件修改。
如图2-1,如图2-2
3.备份数据库Test1。
(1)在企业管理器中展开“管理”节点,选中“备份”,右击“备份”,选择“新备份设备”,名称输入“Test1备份设备”。
单击“确定”完成创建备份的操作。
如图3-1
(2),展开“数据库”节点,从“工具”中选择“备份数据库”命令.如图3-2
(3)选择备份的数据库Test1,输入备份的名称,选择备份的类型。
单击“添加”选择要备份的设备。
点击确定,完成数据库备份。
如图3-3
4.删除数据库Test1并还原
(1)展开“服务器\databases”右击数据库Test1,删除.如图4-1
(2)从“工具”中选择“还原数据库”命令,在“还原为数据库”选中“Test1”,选中从“数据库”中还原,单击“确定”完成。
如图4-2.3.4
5、将数据库Test1更名为“学生管理”数据库。
打开查询分析器,输入sql语句进行数据库的改名。
如图5-1
五、实验过程原始记录(数据、图表、计算等)
图1-1
图1-2
图1-3
图2-1
图2-2
图2-3
图3-1
图3-2
图3-3
图4-1
图4-2
图4-3
图4-4
图5-1
六、实验结果及分析
结果:
通过该实验的具体操作,成功的完成了数据库的创建及其管理,主要运用企业管理器进行管理,其中包括数据文件和事务日志文件的设置及修改,并对创建的数据库进行备份,删除和还原,最后运用查询分析器对数据库修改名称。
本实验步骤清晰,各个图表准确反映了相应的实验操作,成功的揭开了数据库神秘的面纱,使我更加透彻的理解了数据库的原理。
为数据库以后的学习打下坚实的基础。
分析:
1.第一次接触数据库学会了建立新数据库。
其中包括了设置数据文件还有设置日志文件,它们设置方法类似,同样可以定义文件大小,存放位置以及自动增长的属性等。
2.随着数据库的使用用户对数据库容量的大小要求会发生变化所以这就有一个数据文件自动扩充长度,所以数据库的大小也会自动增加。
3.当数据库及其中的数据失去利用价值以后,可以删除数据库以释放被占用的磁盘空间。
其操作可通过使用企业管理器和transact-sqlyu语句来实现。
4.做好的数据库一定要进行备份,因为潜在的可能造成数据损失的因素很多,如存储介质故障、用户的错误操作、服务器的彻底崩溃。
所以有一个良好的备份策略,并严格执行是非常重要的。
5.数据的维护可以使用存储过程和触发器来维护数据的完整性,也就是在与外键值相对应的主键发生改变以后规范对外键可能执行的操作,约束外键值的变化。
【实验02】
《大型数据库管理系统》实验报告
开课实验室:
机房20年月日
学院
西财行知
年级、专业、班
信管1101
姓名
涂晓倩
成绩
课程
名称
大型数据库管理系统
实验项目
名称
表的创建与管理
指导教师
黄军仓
教师评语
教师签名:
年月日
一、实验目的
1、掌握数据库表的创建方法。
2、学会用T-SQL语句创建表、修改表和删除表。
3、熟悉常用的几种约束的创建方法。
4、学会用insert、update、delete语句来插入、修改及删除记录的方法。
二、实验原理
1、创建一个名为“学生”的数据库,然后在这个数据库中创建3个表对象。
3个表的结构如下。
学生表:
字段名数据类型长度允许为空
学号char8NOTNULL
姓名char6
性别char2
出生日期datetime
专业char20
成绩表:
字段名数据类型长度小数位允许为空
学号char8NOTNULL
课程编号char3NOTNULL
成绩decimal4(精度)1
课程表:
字段名数据类型长度允许为空
课程编号char3NOTNULL
课程名char20
学分int
2、将“学生表”中的“学号”字段设置为主键。
3、将“成绩表”中的“学号”和“课程编号”两个字段组合起采作为主键。
4、将“课程表”中的“课程编号”字段设置为主键。
5、将“成绩表”中的“学号”字段设置为表“学生表”的外键。
6、将“成绩表”中的“课程编号”字段设置为表“课程表”的外键。
7、将“成绩表”中的“成绩”字段设置检查约束,成绩值在0到100之间。
8、将“学生表”中的“专业”设置默认值约束为“计算机网维护”。
9、创建以上3个表后,输入一些记录,验证以上约束。
三、使用仪器、材料
50台微机的机房
局域网络
SQLSERVER2000、Word
四、实验步骤
1.打开企业管理器,点击数据库谢建一个数据库。
命名为“学生库”。
2.打开学生库,点击表,新建表,按照如下列表输入
字段名数据类型长度允许为空
学号char8NOTNULL
姓名char6
性别char2
出生日期datetime
专业char20
并将“学号”所在列选中,点击工具栏的黄色小钥匙将“学号”设为主键即可。
然后将表名改为“学生表”,然后点击确定。
如图1-1
3.继续新建一张表,点击表,新建表,按照如下列表输入
字段名数据类型长度小数位允许为空
学号char8NOTNULL
课程编号char3NOTNULL
成绩decimal4(精度)1
并将“学号”和“课程编号”同时选中,点击工具栏的黄色小钥匙将“学号”和“课程编号”同时设为主键即可。
然后将表名改为“成绩表”,然后点击确定。
如图1-2
4.继续新建一张表,点击表,新建表,按照如下列表输入
字段名数据类型长度允许为空
课程编号char3NOTNULL
课程名char20
学分int
并将课程编号选中,点击工具栏的黄色小钥匙将“课程编号”设为主键。
然后将表名改为“课程表”,然后点击确定。
如图1-3
5.选中“成绩表”点击设计表,光标放在“学号”处右击鼠标,出现下拉菜单点击关系然后出现新界面点击新建。
然后将“主键表”选为“学生表”,并在下方点击选择“学号”。
“外键表”选为“成绩表”并在下方点击选择“学号”。
最后在界面下方点击关闭并保存对表的修改。
如图1-4
6.选中“成绩表”点击设计表,光标放在“课程编号”处右击鼠标,出现下拉菜单点击关系然后出现新界面点击新建。
然后将“主键表”选为“课程表”,并在下方点击选择“课程编号”。
“外键表”选为“成绩表”并在下方点击选择“课程编号”。
最后在界面下方点击关闭并保存对表的修改。
如图1-5
7.选中“成绩表”点击设计表,光标放在“成绩”处右击鼠标,出现下拉菜单点击“check约束”然后出现新界面点击新建。
然后将“([成绩]>=0and[成绩]<=100)语句输入到约束表达式中。
如图1-6
8.选中“学生表”点击设计表,光标放在“专业”处。
下方会显示出一个列的界面。
在描述默认值的后面输入“计算机网维护”关闭表并对其进行保存。
如图1-7
五、实验过程原始记录(数据、图表、计算等)
图1-1
图1-2
图1-3
图1-4
图1-5
图1-6
图1-7
六、实验结果及分析
六、实验结果及分析
结果:
成功的建立的一个数据库,在这个库里面包含了三张表,学生表,成绩表,课程表。
我们在表中还有各种约束关系。
可以将表与表紧密的联系在了一起,可以进行一些简单的查询等操作而且从中收获良多。
分析:
1.通过实验的具体操作,了解怎么建立数据库。
而且一个数据库中可以建立张表。
2.每张表都有若干列和若干行组成,每一列表示有关表格所描述的对象的一个属性,这些属性描述了对象的各种信息;而一列数据则表示某个具体的信息描述对
象所具有的所有属性。
3.建表运用了很多约束,有主键约束、外键约束、check约束、设置默认值约束。
a.主键约束利用了表中的一列或多列数据来唯一的标识莫一行数据。
在表中有且只有一个主键且主键不能为空。
b.check约束是通过输入表列的数据的值来维护值域的完整性。
它只是通过对一个逻辑表达式的结果进行判断来对数据进行核查。
例如成绩表中的成绩范围,这个核查约束就有([成绩]>=0and[成绩]<=100)这个逻辑表达式。
C.外键约束它是需要两张表的,主要是维护它们之间的一致性关系。
外键约束不仅可以与另一张表的主键约束建立联系,也可以与另一张表上的unique约束建立联系,它允许为空值。
外键的作用不光是对输入自身表的数据进行限制,同时也限制对主键所在表里的数据进行修改。
当主键所在表的数据被另一张表的外键所引用时,用户将无法对主键里的数据进行修改或删除,除非事先删除或修改引用的数据。
d.默认值最大的好处就是很省事。
大家都知道字段参与系统运作过程中,肯定要赋值的,如果没有定义默认值,系统就会按自身的定义赋予初值,此时在没有对字段重新赋值的情况下,由于系统的自身定义不同。
就会出现不同环境下的效果不一的情况。
同时由于系统赋予初值的不唯一性,可能会导致运作过程中出现异常。
4.在建立数据库,建表时定义字段属性要认真仔细。
在建立外键约束时要搞清楚那个是外键表,那个是主键表。
同时写逻辑语句时要注意字符的书写。
【实验03】
《大型数据库管理系统》实验报告
开课实验室:
机房20年月日
学院
西财行知
年级、专业、班
信管1101
姓名
涂晓倩
成绩
课程
名称
大型数据库管理系统
实验项目
名称
记录与查询
指导教师
黄军仓
教师评语
教师签名:
年月日
一、实验目的
1、熟练掌握SELECT语句的语法格式。
2、掌握联接的几种方法。
3、掌握子查询的表示和执行。
4、能够对SELECT查询结果进行分组、排序及统计。
二、实验原理
利用实验2中的“学生”数据库,做如下操作:
1、在“学生表”中,找出性别为“男”的学生记录,字段包括“姓名”、“出生日期”和“专业”。
2、在“课程表”中,找出“课程名”中包含“计算机”三个字的课程。
3、在“成绩表”中,找出“课程编号”为“001”的课程成绩前三名学生。
4、在“成绩表”、“学生表”和“课程表”中,找出“课程编号”为“001”的课程成绩在[80,90]之间的学生的姓名、课程名和成绩。
5、在“学生表”中,找出“专业”为“计算机软件”、“电子商务”和“多媒体技术”专业的学生信息。
6、统计“计算机应用基础”课程的平均分。
7、查找各门课程的修课人数。
三、使用仪器、材料
50台微机的机房
局域网络
SQLSERVER2000、Word
四、实验步骤
1.打开查询分析器,然后输入语句
SELECT姓名,出生日期,专业
From学生表
Where性别=‘男’
2.输入语句
Select*
Form课程表
Where课程名like’%计算机%’
3.输入语句
Selecttop3*
Form课程表
Where课程编号=’1’Orderby成绩desc
4.输入语句
Select姓名,课程名,成绩
Form成绩表,学生表,课程表
Where成绩表.学号=学生表.学号and成绩表.课程编号=课程表.课程编号and成绩表.课程编号=’1’and成绩表.成绩between80and90
5.
Select*
Form学生表
Where专业in(计算机软件,电子商务,多媒体技术)
6.Select课程,avg()
Form成绩表
Where课程名=’计算机应用基础’groupby课程名
7.Select课程名,count(学生名)
Form表groupby课程名
五、实验过程原始记录(数据、图表、计算等)
图1-1
图1-1
图1-1
图1-2
图1-3
图1-4
图1-5
图1-6
图1-7
六、实验结果及分析
六、实验结果及分析
结果:
通过以上的查询操作完成了一部分的查询工作,但还是有部分由于语句书写问题不能得出结果。
分析:
首先在使用查询语句的时候,应保证语句的使用正确性,然后再考虑SQL语句的效率。
如果一个语句本身都不正确,那么效率问题就免谈了。
1.在多个表中选择记录时执行顺序为从右到左,及表记录数少的放在右边,为基础表。
如果有三个以上的表做连接查询,我们将交叉表作为基础表。
2.在select语句中最好要避免使用*,这非常耗时。
最好写下要查询的列。
3.要删除重复记录,释放资源。
这样可以提高系统的性能。
4。
可以用exist去代替in这样将会提高查询的效率,因为无论在那种情况下in的查询效率都是最低的它要对子查询中的表执行了一个全表遍历。
5.建立索引,用索引可以提高效率。
但是如果数据相对较少的情况下还是不要建立,因为索引是需要额外的存储空间和处理。
不必要的索引也会使得查询时间变慢。
【实验04】
《大型数据库管理系统》实验报告
开课实验室:
机房20年月日
学院
西财行知学院
年级、专业、班
信管1101班
姓名
涂晓倩
成绩
课程
名称
大型数据库管理系统
实验项目
名称
表与视图
指导教师
黄军仓
教师评语
教师签名:
年月日
一、实验目的
1、熟练掌握表与视图的高级查询。
2、掌握视图建立的方法。
3、掌握管理视图的方法。
二、实验原理
1、在“成绩表”中,找出课程编号为“001”的这门课程的所有学生的分数以及最高分、最低分和平均分。
2、找出所有女生的“计算机应用基础”这门课的成绩,包括字段:
姓名、课程名、成绩。
3、查找“成绩表”中,课程编号为“001”的成绩高于平均分的所有学生的学号、姓名、课程名和成绩的信息。
4、查找“成绩表”中,高于各门课程平均分的学生信息。
5、使用T-SQL语句从“学生表”、“成绩表”和“课程表”表中创建视图“学生成绩”,其中的内容包括所有“计算机网络维护”专业学生的信息,视图包括:
学号、姓名、课程名、成绩、专业。
三、使用仪器、材料
50台微机的机房
局域网络
SQLSERVER2000、Word
四、实验步骤
1.打开查询分析器,然后输入语句
use学生库
select*
from成绩表
where课程编号='001'computemax(成绩),min(成绩),avg(成绩)
如图1和图1-1
2。
在查询分析器中输入以下语句
use学生库
select学生表.姓名,课程表.课程名,成绩表.成绩
from学生表as学生表join成绩表as成绩表on学生表.学号=成绩表.学号and学生表.性别='女'join课程表as课程表
on课程表.课程编号=成绩表.课程编号and课程表.课程名='计算机应用基础'
3.如图1-3输入以下语句
use学生库
select学生表.姓名,学生表.学号,课程表.课程名,成绩表.成绩
from课程表,成绩表,学生表
where课程表.课程编号=成绩表.课程编号and成绩表.课程编号='001'and成绩表.成绩>(selectavg(成绩)
from成绩表
where成绩表.课程编号='001')
and学生表.学号=成绩表.学号
4.use学生库
select学生表.姓名,学生表.学号,学生表.性别,学生表.出生日期
from课程表,成绩表,学生表
where课程表.课程编号=成绩表.课程编号and成绩表.课程编号='001'and成绩表.成绩>(selectavg(成绩)
from成绩表
where成绩表.课程编号='001')
and学生表.学号=成绩表.学号
五、实验过程原始记录(数据、图表、计算等)
图1
图1-1
图1-2
图1-3
如图1-4
1-5
1-6
1-7
1-8
六、实验结果及分析
结果:
通过以上的实验操作基本上完成了查询功能和所建视图。
首先在使用查询语句的时候,应保证语句的使用正确性,然后再考虑SQL语句的效率。
如果一个语句本身都不正确,那么效率问题就免谈了。
分析:
1.where字句可以限制查询的范围,提高查询的效率。
2.使用compuete子句允许用户同时观察查询所得的各列数据的细节及综合各列数据所产生的总和。
通过使用compuetez子句既可以计算数据分类后的和,也可以计算所有数据的总和。
如图一。
3.在sql中允许对表使用别名,所以可以使用简单的方法来书写上面的查询语句。
可以按照ANSI92的规则使用as关键字来实现别名的使用。
4.如果在多表连接查询时使用到“*”的时候,如果不对“*”加以限制,那么“*”就意味着表示“所有表中所有的列”如:
selecte*fromtiteles,authors
但是如果对“*”加以限制则只会从单一表中获取所有的列。
如:
selectetiteles.*fromtitle,authors
5.还有一种符合ANSI92标准的进行多表连接查询的编写方式。
在这种方式中使用到了jion和on关键字。
Jion用于与连接两个不同的表。
On用于给出这两个表之间的连接条件。
6.根据实验可以看出在使用嵌套查询简洁特点的使用方式是把嵌套查询放在select语句的列表清单中,以直接获得查询结果而无须使用多次连接查询。
7.视图同表一样,都是由数据库用户定义的,存储在数据库中数据对象。
视图是一个虚拟的表,它不在数据库中存储实际的数据。
8.视图有以下优点
a.可以按需求从新划分数据
b.可以简化用户的操作,可以屏蔽掉查询的复杂性。
c.它还提供了自动的安全保护功能。
d.降低了应用程序对底层表的依赖性,为数据库重构提供一定的逻辑独立性。
【实验05】
《大型数据库管理系统》实验报告
开课实验室:
机房20年月日
学院
西财行知学院
年级、专业、班
信管1101
姓名
涂晓倩
成绩
课程
名称
大型数据库管理系统
实验项目
名称
索引的创建与管理
指导教师
黄军仓
教师评语
教师签名:
年月日
一、实验目的
1、掌握创建索引的方法。
2、掌握索引管理与使用的方法。
二、实验原理
1、使用Transact-SQL语句在“学生”库中的“学籍表”上,基于“姓名”创建索引,要求索引名为“IDX_Name”,索引类型为非聚集索引。
2、使用Transact-SQL语句在“学生”库中的“成绩表”上,分别基于“学号”、“课程编号”创建索引,索引类型为非聚集索引,名称自拟。
三、使用仪器、材料
50台微机的机房
局域网络
SQLSERVER2000、Word
四、实验步骤
1.打开“查询分析器”,选择“学生库”,输入如下代码:
USE学生库
CREATENONCLUSTERED
INDEXIDX_NameON学生表(姓名)
Go
2.打开“查询分析器”,选择“学生库”,输入如下代码:
USE学生库
CREATENONCLUSTERED
INDEX成绩ON成绩表(学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大型数据库管理系统 大型 数据库 管理 系统 实验