(《大型数据库管理系统》实验)_第1页
(《大型数据库管理系统》实验)_第2页
(《大型数据库管理系统》实验)_第3页
(《大型数据库管理系统》实验)_第4页
(《大型数据库管理系统》实验)_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 PAGE 49 页 西安财经学院行知学院本 科 实 验 报 告20132014学年1学期指导老师:黄军仓学 院( 部 ) 信息系 实 验 室 信息中心 课 程 名 称 大型数据库管理系统 学 生 姓 名 学 号 专 业 信息管理 大型数据库管理系统实验报告目录 HYPERLINK l 【实验01】 【实验01】数据库的创建与管理 HYPERLINK l 【实验02】 【实验02】表的创建与管理 HYPERLINK l 【实验03】 【实验03】记录与查询 HYPERLINK l 【实验04】 【实验04】表与视图 HYPERLINK l 【实验05】 【实验05】索引的创建与管理 HYPE

2、RLINK l 【实验06】 【实验06】创建与使用存储过程 HYPERLINK l 【实验07】 【实验07】触发器的创建与使用 HYPERLINK l 【实验09】 【实验08】SQL SERVER数据库网站的建立 HYPERLINK l 【实验00】 【实验01】大型数据库管理系统实验报告 开课实验室: 机房 20 年 月 日学院西财行知年级、专业、班信管1101姓名 涂晓倩成绩课程名称大型数据库管理系统实验项目名 称数据库的创建与管理指导教师黄军仓教师评语 教师签名:年 月 日一、实验目的 1、掌握数据库的创建与修改方法。 2、学会数据库的备份和还原方法。 3、了解数据库的维护方法。二

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,递增量为2

4、MB。 次要数据文件的容量为2MB,最大容量为20MB,递增量为2MB。 事务日志文件的容量为1MB,最大容量为10MB,递增量为1MB。 3、为数据库Test1建立一个全库备份。 4、删除数据库Test1,然后用已建立的备份还原数据库Test1。 5、将已建立的数据库Test1更名为“学生管理”数据库。三、使用仪器、材料50台微机的机房局域网络SQL SERVER 2000、Word四、实验步骤1.创建数据库:(1)打开企业管理器,用鼠标右键单击“数据库”节点,在弹出的快捷菜单中选择执行“新建数据库”命令,打开“数据库属性”对话框。(2)打开新建数据库对话框的“常规”选项卡,在“名称”文本框

5、中输入数据库的名称Test1。如图1-1(3)激活“数据文件”,在这个对话框中增加相应的文件。如图1-2(4)激活“事务日志”选项卡,设置符合题意的事务日志文件。如图1-3(5)指定次要数据文件,单击“数据文件”并切换到该页面,然后单击数据库文件表中主要文件的下一行添加文件,并进行相应的设置。如图1-4(6)单击【确定】按钮,完成数据库的创建,该数据库将会在数据库列表中。2.修改数据库:(1)在企业管理器中,展开“数据库”节点,选中数据库Test1,右击选择“属性”命令。(2)在“数据文件”和“事务日志”中进行相应的文件修改。如图2-1,如图2-23备份数据库Test1。(1)在企业管理器中展

6、开“管理”节点,选中“备份”,右击“备份”,选择“新备份设备”,名称输入“Test1备份设备”。单击“确定”完成创建备份的操作。如图3-1(2),展开“数据库”节点,从“工具”中选择“备份数据库”命令.如图3-2(3)选择备份的数据库Test1,输入备份的名称,选择备份的类型。单击“添加”选择要备份的设备。点击确定,完成数据库备份。如图3-34. 删除数据库Test1并还原(1) 展开“服务器databases”右击数据库Test1,删除.如图4-1(2)从“工具”中选择“还原数据库”命令,在“还原为数据库”选中“Test1”,选中从“数据库”中还原,单击“确定”完成。如图4-2.3.45、将

7、数据库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六、实验结果及分析结果:通过该实验的具体操作,成功的完成了数据库的创建及其管理,主要运用企业管理器进行管理,其中包括数据文件和事务日志文件的设置及修改,并对创建的数据库进行备份,删除和还原,最后运用查询分析器对数据库修改名称。本实验步骤清晰,各个图表准确反映了相应的实验操作,成功的揭开了数据库神秘的面纱,使我更加透彻的理解了数据库的原理。为数据

8、库以后的学习打下坚实的基础。分析: 1.第一次接触数据库学会了建立新数据库。其中包括了设置数据文件还有设置日志文件,它们设置方法类似,同样可以定义文件大小,存放位置以及自动增长的属性等。2.随着数据库的使用用户对数据库容量的大小要求会发生变化所以这就有一个数据文件自动扩充长度,所以数据库的大小也会自动增加。3.当数据库及其中的数据失去利用价值以后,可以删除数据库以释放被占用的磁盘空间。其操作可通过使用企业管理器和transact-sqlyu语句来实现。4.做好的数据库一定要进行备份,因为潜在的可能造成数据损失的因素很多,如存储介质故障、用户的错误操作、服务器的彻底崩溃。所以有一个良好的备份策略

9、,并严格执行是非常重要的。5.数据的维护可以使用存储过程和触发器来维护数据的完整性,也就是在与外键值相对应的主键发生改变以后规范对外键可能执行的操作,约束外键值的变化。 HYPERLINK l 【实验00】 【实验02】大型数据库管理系统实验报告 开课实验室: 机房 20 年 月 日学院西财行知年级、专业、班信管1101姓名 涂晓倩成绩课程名称大型数据库管理系统实验项目名 称表的创建与管理指导教师黄军仓教师评语 教师签名:年 月 日一、实验目的 1、掌握数据库表的创建方法。2、学会用T-SQL语句创建表、修改表和删除表。3、熟悉常用的几种约束的创建方法。4、学会用insert、update、d

10、elete语句来插入、修改及删除记录的方法。二、实验原理 1、创建一个名为“学生”的数据库,然后在这个数据库中创建3个表对象。3个表的结构如下。 学生表: 字段名 数据类型 长度 允许为空 学号 char 8 NOT NULL 姓名 char 6 性别 char 2 出生日期 datetime 专业 char 20 成绩表: 字段名 数据类型 长度 小数位 允许为空 学号 char 8 NOT NULL 课程编号 char 3 NOT NULL 成绩 decimal 4(精度) 1 课程表: 字段名 数据类型 长度 允许为空 课程编号 char 3 NOT NULL 课程名 char 20 学

11、分 int2、将“学生表”中的“学号”字段设置为主键。3、将“成绩表”中的“学号”和“课程编号”两个字段组合起采作为主键。4、将“课程表”中的“课程编号”字段设置为主键。5、将“成绩表”中的“学号”字段设置为表“学生表”的外键。6、将“成绩表”中的“课程编号”字段设置为表“课程表”的外键。7、将“成绩表”中的“成绩”字段设置检查约束,成绩值在0到100之间。8、将“学生表”中的“专业”设置默认值约束为“计算机网维护”。9、创建以上3个表后,输入一些记录,验证以上约束。三、使用仪器、材料50台微机的机房局域网络SQL SERVER 2000、Word四、实验步骤1.打开企业管理器,点击数据库谢建

12、一个数据库。命名为“学生库”。2.打开学生库,点击表,新建表,按照如下列表输入 字段名 数据类型 长度 允许为空 学号 char 8 NOT NULL 姓名 char 6 性别 char 2 出生日期 datetime 专业 char 20并将“学号”所在列选中,点击工具栏的黄色小钥匙将“学号”设为主键即可。然后将表名改为“学生表”,然后点击确定。如图1-13.继续新建一张表,点击表,新建表,按照如下列表输入字段名 数据类型 长度 小数位 允许为空 学号 char 8 NOT NULL 课程编号 char 3 NOT NULL 成绩 decimal 4(精度) 1并将“学号”和“课程编号”同时

13、选中,点击工具栏的黄色小钥匙将“学号”和“课程编号”同时设为主键即可。然后将表名改为“成绩表”,然后点击确定。如图1-24. 继续新建一张表,点击表,新建表,按照如下列表输入字段名 数据类型 长度 允许为空 课程编号 char 3 NOT NULL 课程名 char 20 学分 int并将课程编号选中,点击工具栏的黄色小钥匙将“课程编号”设为主键。然后将表名改为“课程表”,然后点击确定。如图1-35.选中“成绩表”点击设计表,光标放在“学号”处右击鼠标,出现下拉菜单点击关系然后出现新界面点击新建。然后将“主键表”选为“学生表”,并在下方点击选择“学号”。“外键表”选为“成绩表”并在下方点击选择

14、“学号”。最后在界面下方点击关闭并保存对表的修改。如图1-46. 选中“成绩表”点击设计表,光标放在“课程编号”处右击鼠标,出现下拉菜单点击关系然后出现新界面点击新建。然后将“主键表”选为“课程表”,并在下方点击选择“课程编号”。“外键表”选为“成绩表”并在下方点击选择“课程编号”。最后在界面下方点击关闭并保存对表的修改。如图1-57. 选中“成绩表”点击设计表,光标放在“成绩”处右击鼠标,出现下拉菜单点击“check约束”然后出现新界面点击新建。然后将“(成绩=0and成绩=0 and成绩(select avg(成绩) from 成绩表 where 成绩表.课程编号=001) and 学生表

15、.学号=成绩表.学号4. use 学生库select 学生表.姓名,学生表.学号, 学生表.性别, 学生表.出生日期from 课程表 ,成绩表 , 学生表where 课程表.课程编号=成绩表.课程编号 and 成绩表.课程编号=001 and 成绩表.成绩(select avg(成绩) from 成绩表 where 成绩表.课程编号=001) and 学生表.学号=成绩表.学号五、实验过程原始记录(数据、图表、计算等) 图1图1-1图1-2图1-3如图1-4 1-5 1-6 1-7 1-8 六、实验结果及分析 结果:通过以上的实验操作基本上完成了查询功能和所建视图。首先在使用查询语句的时候,应

16、保证语句的使用正确性,然后再考虑SQL语句的效率。如果一个语句本身都不正确,那么效率问题就免谈了。分析:where字句可以限制查询的范围,提高查询的效率。使用compuete子句允许用户同时观察查询所得的各列数据的细节及综合各列数据所产生的总和。通过使用compuetez子句既可以计算数据分类后的和,也可以计算所有数据的总和。如图一。在sql中允许对表使用别名,所以可以使用简单的方法来书写上面的查询语句。可以按照ANSI92的规则使用as关键字来实现别名的使用。如果在多表连接查询时使用到“*”的时候,如果不对“*”加以限制,那么“*”就意味着表示“所有表中所有的列”如:selecte*from

17、 titeles,authors但是如果对“*”加以限制则只会从单一表中获取所有的列。如:selecte titeles.* from title,authors还有一种符合ANSI92标准的进行多表连接查询的编写方式。在这种方式中使用到了jion和on关键字。Jion用于与连接两个不同的表。On用于给出这两个表之间的连接条件。根据实验可以看出在使用嵌套查询简洁特点的使用方式是把嵌套查询放在select语句的列表清单中,以直接获得查询结果而无须使用多次连接查询。视图同表一样,都是由数据库用户定义的,存储在数据库中数据对象。视图是一个虚拟的表,它不在数据库中存储实际的数据。视图有以下优点可以按需

18、求从新划分数据可以简化用户的操作,可以屏蔽掉查询的复杂性。它还提供了自动的安全保护功能。降低了应用程序对底层表的依赖性,为数据库重构提供一定的逻辑独立性。 HYPERLINK l 【实验00】 【实验05】大型数据库管理系统实验报告 开课实验室: 机房 20 年 月 日学院西财行知学院年级、专业、班信管1101姓名 涂晓倩成绩课程名称大型数据库管理系统实验项目名 称索引的创建与管理指导教师黄军仓教师评语 教师签名:年 月 日一、实验目的1、掌握创建索引的方法。2、掌握索引管理与使用的方法。二、实验原理1、使用Transact-SQL语句在“学生”库中的“学籍表”上,基于“姓名”创建索引,要求索

19、引名为“IDX_Name”,索引类型为非聚集索引。2、使用Transact-SQL语句在“学生”库中的“成绩表”上,分别基于“学号”、“课程编号”创建索引,索引类型为非聚集索引,名称自拟。三、使用仪器、材料50台微机的机房局域网络SQL SERVER 2000、Word四、实验步骤 1.打开“查询分析器”,选择“学生库”,输入如下代码: USE 学生库 CREATE NONCLUSTERED INDEX IDX_Name ON 学生表(姓名) Go 2. 打开“查询分析器”,选择“学生库”,输入如下代码: USE 学生库 CREATE NONCLUSTERED INDEX 成绩 ON 成绩表(

20、学号,课程编号) GO 五、实验过程原始记录(数据、图表、计算等) 1、使用Transact-SQL语句在“学生”库中的“学籍表”上,基于“姓名”创建索引,要求索引名为“IDX_Name”,索引类型为非聚集索引。2. 使用Transact-SQL语句在“学生”库中的“成绩表”上,分别基于“学号”、“课程编号”创建索引,索引类型为非聚集索引。六、实验结果及分析 (举例说明索引在数据管理中的作用)首先索引是sql 在列上建立的一种数据库对象。索引对表中的数据提供了逻辑排序,可以提高数据的访问速度。Sql提供了两种形式的索引,簇集索引和非簇集索引。簇集索引是根据建的值对行进行排序,所以每个表只能有一

21、个簇集索引。非簇集索引不根据键值排序。例如,当一个用户要查找30000行记录的学生表中所有来自“上海”的学生的名字时,如果没在这张表上对学生的地址建立索引,则dbms在执行操作时必须遍历表中每一行,再显示那些来自“上海”的行中的姓名字段。这种遍历每一行记录并完成查询的过程叫作表扫描。Sql 执行一次表扫描,将顺序读取所有数据页。对只有30000行的小数据表来说执行一次表扫描看起来并不麻烦。但是如果学生表的数据是现在数据的10倍,100倍甚至1000倍10000倍,记录总量相当之高行又该怎样呢?这样就算只有一条符合要求的记录,而且这个记录就在第一页上,sql 还是不得不在所有页中查找所有所有城市

22、为“上海”的记录。如果在地址栏上加一个索引,在索引中包括有一个指向数据的指针,那么使用索引来完成相同的查询其方式就与表扫描不同了。DBMS只沿着索引排列的顺序对仅有一列数据的索引表进行读取,直到找到“上海”。然后DBMS沿着索引指针的方向上转移到数据表上,在查到相应的数据。由于索引总是按照一定的顺序进行排列的,所以对索引进行扫描的速度要大大快于对表进行扫描的速度。 HYPERLINK l 【实验00】 【实验06】大型数据库管理系统实验报告 开课实验室: 机房 20 年 月 日学院西财行知学院年级、专业、班信管1101班姓名 涂晓倩成绩课程名称大型数据库管理系统实验项目名 称创建与使用存储过程

23、指导教师黄军仓教师评语 教师签名:年 月 日一、实验目的1、了解存储过程的概念和作用。2、掌握创建存储过程的方法。3、掌握存储过程调用的方法。二、实验原理1、创建存储过程,要求在“学生库”中,给定某个同学的学号,返回此同学的最高成绩、最低成绩和平均成绩。2、使用按位置传递参数和按参数名传递参数两种方法调用此存储过程,并记录执行结果。三、使用仪器、材料50台微机的机房局域网络SQL SERVER 2000、Word四、实验步骤 1、创建存储过程,要求在“学生库”中,给定某个同学的学号110509,返回此同学的最高成绩、最低成绩和平均成绩。打开“查询分析器”,输入如下代码:USE 学生库GOCRE

24、ATE PROC 成绩查询 学号 Char(8)=110509AS SELECT 学号,课程编号,成绩 FROM 成绩表WHERE 学号=1101COMPUTE MAX(成绩),MIN(成绩),AVG(成绩) GO如图12. 使用按位置传递参数调用此存储过程: EXEC 成绩查询 110509语句如下:USE 学生库GOCREATE PROC 成绩查询 学号 Char(8)=110509AS SELECT 学号,课程编号,成绩 FROM 成绩表WHERE 学号=110509COMPUTE MAX(成绩),MIN(成绩),AVG(成绩) GOEXEC 成绩查询 110509如图2使用按参数名传递

25、参数调用此存储过程: EXEC 成绩查询 学号=110509USE 学生库GOCREATE PROC 成绩查询 学号 Char(8)=110509AS SELECT 学号,课程编号,成绩 FROM 成绩表WHERE 学号=110509COMPUTE MAX(成绩),MIN(成绩),AVG(成绩) GOEXEC 成绩查询 学号=110509图3五、实验过程原始记录(数据、图表、计算等) 图1 图2 图3图4图5六、实验结果及分析 (论述存储过程的优势以及自己对网络数据库编程的理解(500字以上)存储过程作为一个独立的数据库对象,可以作为一个单元被用户的应用程序调用。由于是已经编译好的代码,所以执

26、行的时候不必再次编译,从而提高了程序的运行效率。它有以下几个优势:执行速度快,它在创建是就经过了语法检查和性能优化,因此在执行时不必再重复这些步骤。存储过程在经过第一次调用以后,就驻留在内存中,不必在经过编译和优化,所以执行速度很快。模块化的程序设计。存储过程经过一次创建以后,可以被无数次调用。用户可以独立于应用程序而对存储过程进行修改。可以按照独特的功能模块,设计不同的存储过程以供使用。减少网络通信量。在存储过程中包含大量的transact-sql语句,但是存储过程是作为一个独立的单元来使用的。在进行调用时,只需要使用一个语句就可以实现,所以大大减少了网络上的数据传输。保证了系统的安全性。可

27、以设置用户通过存储过程来对某些关键数据进行访问而不允许用户直接使用transact-sql或企业管理器来对数据进行访问。 我对网络数据库编程的理解:1.网络数据库是网络上运行的数据库。2.网络上包含了其他用户的数据库。3.信息管理中,数据记录可以多种方式相互关联。网络数据库和分层数据库相似,因为其包含从一个记录到另一个记录的前进。与后者的区别在于其更不严格的结构,所以说网络数据库是跨越电脑在网络上创建,运行的数据库。在我们的技术应用当中想要实现数据库的网上共享,传输,交换等功能。这时就需要网络数据库编程来实现这个功能。它是一种很强大的语言工具,可以通过相应的命令去实现数据库在网络中的应用。 H

28、YPERLINK l 【实验00】 【实验07】大型数据库管理系统实验报告 开课实验室: 机房 20 年 月 日学院西财行知学院年级、专业、班信管1101姓名 涂晓倩成绩课程名称大型数据库管理系统实验项目名 称触发器的创建与使用指导教师黄军仓教师评语 教师签名:年 月 日一、实验目的1、理解触发器的触发过程和类型。2、掌握创建与使用触发器的方法。二、实验原理1、在“学生”数据库的“学籍表”上建立AFTER触发器,当删除纪录时,统计显示“成绩表”中的纪录数。三、使用仪器、材料50台微机的机房局域网络SQL SERVER 2000、Word四、实验步骤 在“学生”数据库的“学籍表”上建立AFTER

29、触发器,当删除纪录时,统计显示“成绩表”中的纪录数。打开“查询分析器”, 选择“学生库”,输入如下代码:CREATE TRIGGER 删除ON 学生表 AFTER DELETEASDELETE 学生表 FROM DELETED JOIN 成绩表ON 成绩表.学号= DELETED. 学号 BEGIN PRINT 成绩表中的记录ROLLBACK TRANSACTIONEND 过程图如下(图1、图2)五、实验过程原始记录(数据、图表、计算等)图1图2六、实验结果及分析(论述自己对触发器的认识) 1. 触发器是一种特殊的存储过程,它和表格紧密相连,可以看作是表格定义的一部分。当用户修改指定表或视图中

30、的数据时,触发器将会自动执行。触发器是建立在一个表上的创建的但是可以针对多个表进行操作。所以触发器常被用来实现大多数的复杂商业规则。在SQL中一张表可以有多个触发器。用户可以针对insert,update或delete语句分别设置触发器,也可以针对一张表上的特定操作设置多个触发器。2.触发器是将服务器将特定的操作(insert,update或delete)执行结束之后才执行的。如果在执行特定的数据库操作过程中发生了系统错误,则触发器不会被触发。3.使用最终的目的是为了更好的维护企业的业务规则。实际中触发器主要有以下功能a.级联修改数据库中的所有相关表。b.撤消或回滚违反应用完整性的操作,防止非法修改数据。c.执行并核查约束更复杂的约束操作。d.查找在数据修改前后的表状态之间的差别,并根据差别分别采取相应的措施。e.在一张表的同一类型的操作上设置多个触发器,从而可以针对同样的修改语句执行不同的多种操作。 还有在操作时要注意的事项:只有表的拥有者才可以在表上创建或删除触发器,这种权限不许转授。可以在触发器中引用视图或临时表,但不能在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论