数据库实验指导书.docx
- 文档编号:24751307
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:35
- 大小:369.64KB
数据库实验指导书.docx
《数据库实验指导书.docx》由会员分享,可在线阅读,更多相关《数据库实验指导书.docx(35页珍藏版)》请在冰豆网上搜索。
数据库实验指导书
数据库实验指导书
(试用版)
目录
引言1
一、课程实验目的和基本要求1
二、主要实验环境1
三、实验内容1
实验1数据库模式设计和数据库的建立2
一、教学目的和要求2
二、实验内容2
三、实验步骤2
四、思考与总结3
实验2数据库的简单查询和连接查询4
一、教学目的和要求4
二、实验内容4
三、实验步骤4
四、思考与总结5
实验3数据库的嵌套查询和组合统计查询6
一、教学目的和要求6
二、实验内容6
三、实验步骤6
四、思考与总结7
实验4视图与图表的定义及数据完整性和安全性8
一、教学目的和要求8
二、实验内容8
三、实验步骤8
四、思考与总结9
实验5简单应用系统的实现10
一、教学目的和要求10
二、实验内容10
三、实验步骤10
四、思考与总结10
附录1:
数据库实验报告格式11
附录2:
SQLServer2000使用指南12
1SQLServer2000简介12
2SQLServer2000的版本12
3SQLServer2000实用工具12
4创建数据库15
5创建和修改数据表17
6创建索引22
7存储过程23
8触发器25
9备份和恢复27
10用户和安全性管理28
引言
数据库技术是一个理论和实际紧密相连的技术,上机实验是数据库课程的重要环节,它贯穿于整个“数据库阶段”课程教学过程中。
一、课程实验目的和基本要求
上机实验是本课程必不可少的实践环节。
学生应在基本掌握各知识点内容的基础上同步进行相关实验,以加深对知识的理解和掌握,达到理论指导实践,实践加深理论的理解与巩固的效果。
数据库课程上机实验的主要目标是:
(1)通过上机操作,加深对数据库系统理论知识的理解。
(2)通过使用具体的DBMS,了解一种实际的数据库管理系统,并掌握操作技术。
(3)通过实际题目的上机实验,提高动手能力,提高分析问题和解决问题的能力。
实验在单人单机的环境下,在规定的时间内,由学生独立完成。
出现问题时,教师要引导学生独立分析、解决,不得包办代替。
上机总学时不少于12学时。
二、主要实验环境
操作系统为MicrosoftWindows2000/XP。
数据库管理系统可以选择:
(1)MicrosoftSQLServer2000标准版或企业版
(2)MicrosoftAccess2000
(3)金仓数据库KingbaseES。
三、实验内容
本课程实验主要包括数据库的模式设计,数据库、表、视图、索引的建立与数据的更新;关系数据库的查询,包括连接查询、嵌套查询、组合查询等;数据库系统的实现技术,包括事务的概念及并发控制、完整性和安全性实现机制;简单数据库应用系统的设计与实现。
实验1数据库模式设计和数据库的建立
一、教学目的和要求
(1)根据一个具体应用,独自完成数据库模式的设计。
(2)熟练使用SQL语句创建数据库、表、索引和修改表结构。
(3)熟练使用SQL语句向数据库输入数据、修改数据和删除数据的操作。
二、实验内容
(1)对实际应用进行数据库模式设计(至少三个基本表)。
(2)创建数据库、表、确定表的主码和约束条件,为主码建索引。
(3)查看数据库属性,查看和修改表结构。
三、实验步骤
1、基本操作实验:
(1)通过具体一个DBMS中建立学生选课数据库。
(2)在DBMS建好的学生选课数据库中建立学生、课程和选课三个表,其结构为:
学生表:
Student(Sno,Sname,Ssex,Sage,Sdept),其主码为Sno;
课程表:
Course(Cno,Cname,Cpno,Ccredit),其主码为Cno;
选课表:
SC(Sno,Cno,Grade),其主码为(Sno,Cno)。
(3)要求为属性选择合适的数据类型,定义每个表的主码,是否允许空值和默认值等列级数据约束。
(4)建立学生、课程和选课3个表的主码约束;选课表与学生表、选课表和课程表之间的外码约束,通过操作予以实现。
(5)在学生选课数据库的学生、课程和选课3个表中各输入10条记录。
要求记录不仅满足数据约束要求,还要有表间关联的记录。
(6)实现对学生选课数据库的学生、课程和选课3个表中数据的插入、删除和修改操作。
2、提高操作实验:
(1)将学生选课数据库、库中的表、索引和约束用SQL表达,实现建库、建表、建立表间联系和建立必要的索引、约束的操作。
四、思考与总结
(1)指出学生选课数据库的主码、外码和数据约束。
(2)学生选课数据库的选课表中,属性学号、课程号采用数值型,还是采用字符型的,采用哪种类型最好。
(3)为什么要建立索引,建立多少索引合适。
(4)为什么不能随意删除被参照表中的主码。
实验2数据库的简单查询和连接查询
一、教学目的和要求
(1)加深对标准SQL查询语句的理解。
(2)熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
二、实验内容
(1)简单查询操作,该实验包括投影、选择条件表达,数据排序等。
(2)连接查询操作,该实验包括等值连接、自然连接、求笛卡尔积、一般连接、外连接、内连接、左连接、右连接和自身连接等。
三、实验步骤
1、基本操作实验:
(1)查询计算机系学生的学号和姓名。
(2)查询选修了数学课的所有学生名单。
(3)查询年龄小于23岁的女同学的学号和姓名。
(4)查询所有姓王的学生。
(5)查询全体学生的姓名和出生年份。
(6)查询选修了课程的学生学号。
(7)查询每个学生的情况以及他(她)所选修的课程号。
2、提高操作实验:
(1)查询学生的学号、姓名、选修的课程名及成绩,并按成绩的降序排列。
(2)查询选修1号课程且成绩在80-90分之间的学生学号和成绩。
(3)查询选修1号课程且成绩在90分以上的学生学号、姓名及成绩。
(4)查询每一门课(名称)的间接先行课名称(即先行课的先行课)。
(5)查询至少选修了1、2号课程的学生姓名。
四、思考与总结
(1)输入SQL语句时应注意,语句中均使用西文操作符号。
(2)学会查询结果的几种处理方式。
(3)如何提高数据查询和连接速度。
(4)对于常用的查询形式或者查询结果,怎样处理好。
实验3数据库的嵌套查询和组合统计查询
一、教学目的和要求
(1)加深对SQL语言的嵌套查询语句的理解。
(2)熟练掌握数据查询中分组、统计、计算和组合的操作方法。
二、实验内容
(1)使用IN、比较符、ANY或ALL和EXITS操作符进行嵌套查询操作。
(2)分组查询实验。
该实验包括分组条件表达、选择组条件表达的方法。
(3)使用函数查询实验。
该实验包括统计函数和分组统计函数的使用方法。
(4)组合查询,计算和分组计算实验。
三、实验步骤
1、基本操作实验:
(1)查询选修了数据库的学生学号和姓名。
(2)查询1号课程的成绩高于张三的学生学号和成绩。
(3)查询其他系中年龄小于计算机系年龄最大者的学生。
(4)查询没有选修2号课程的学生姓名。
(5)查询选修1号课程的学生最低分。
(6)统计男女同学的人数。
(7)求各个课程名称及相应的选课人数。
2、提高操作实验:
(1)检索选修2号课程的学生中成绩最高的学生的学号。
(2)查询选修了全部课程的学生的姓名。
(3)查询平均成绩最高的学生学号和姓名。
(4)查询1号课程成绩高于所有课程总平均成绩的学生姓名。
(5)查询有3门以上课程是80分以上的学生的学号及(80分以上)的课程数。
四、思考与总结
(1)输入SQL语句时应注意,语句中均使用西文操作符号。
(2)在使用SQL语句时,注意语句的层次嵌套关系和括号的配对使用问题。
(3)子句WHERE<条件>表示元组筛选条件,子句HAVING<条件>表示组选择条件。
(4)组合查询的字句间不能有语句结束符。
(5)子句HAVING<条件>必须和GROUPBY<分段字段>子句配合使用。
(6)试用多种形式表示实验中的查询语句,并进行比较。
(7)组合查询语句是否可以用其他语句代替,有什么不同。
(8)使用GROUPBY<分段条件>子句后,语句中的统计函数的运行结果有何不同。
实验4视图的定义及数据完整性
一、教学目的和要求
(1)使学生掌握视图创建方法,加深对视图的理解。
(2)加深对数据的完整性的理解。
(3)学会创建和使用规则、缺省和触发器。
二、实验内容
(1)创建、查看、修改和删除视图。
(2)创建触发器,并使用触发器。
(3)创建存储过程并执行。
三、实验步骤
1、基本操作实验:
(1)按下列SQL描述的视图定义,创建IS_S1视图。
CREATEVIEWIS_Student
ASSELECTSno,Sname,Sage
FROMStudent
WHERESdept=’IS’;
(2)创建触发器,并在查询分析器中执行一个可以引起触发器执行的语句来使触发器执行,并观察结果。
例如,用CREATETRIGGERT_SONStudentFORDELETEAs
用SQL写出实验操作语句。
2、提高操作实验:
(1)针对IS_S1视图完成下列查询:
a)在信息系学生的视图中找出年龄不小于21岁的学生。
b)查询信息系选修了1号课程的学生。
(2)建立一个学生与选课表间,为维护参照完整性而使用的级联删除触发器、级联修改触发器和受限插入触发器。
(3)建立并调用一个带参数的存储过程并在查询分析器中执行,观察结果。
四、思考与总结
(1)参照表和被参照表之间的关系,主码和外码之间的关系。
(2)各种触发器的含义,主要功能是什么。
实验5简单应用系统的实现
一、教学目的和要求
(1)综合运用前面掌握的内容并进行数据库综合应用。
(2)选定任一种开发工具(PB、Delphi、VB、VC等),设计并实现一个简单的数据库应用系统,包括数据的插入、删除、修改、查询、统计等功能,做到界面友好、使用方便。
(3)通过实践设计使学生加深理论的理解,从而掌握数据库设计的方法和步骤,并通过上机操作锻炼学生的动手能力。
二、实验内容
(1)进行需求分析画出数据流图;
(2)进行概念结构设计画出实体联系模型;
(3)进行逻辑结构设计写出关系模式;
(4)进行物理结构设计并写出评价,写出评价结果;
(5)写出功能模块图;
(6)上机实施并调试运行。
三、实验步骤
参考有关关系数据库系统和系统开发工具方面的有关技术书籍。
四、思考与总结
(1)在数据库开发的过程中的体会与提高。
附录:
数据库实验报告格式
专业(类)班级姓名学号日期
一、实验名称:
二、实验目的和要求:
三、实验程序源代码:
四、总结与体会:
附录2:
SQLServer2000使用指南
1SQLServer2000简介
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的最新版本。
该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等。
优点可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。
2SQLServer2000的版本
SQLServer2000的常见版本如下:
●企业版(EnterpriseEdition),支持所有的SQLServer2000特性,可作为大型Web站点、OLTP联机事务处理以及数据仓库系统等的产品数据库服务器。
●标准版(StandardEdition),用于小型的工作组或部门。
●个人版(PersonalEdition),用于单机系统或客户机。
●开发者版(DeveloperEdition),用于程序员开发应用程序,这些程序需要SQLServer2000作为数据存储设备。
此外,SQLServer2000还有桌面引擎DesktopEngine和WindowsCE版用户,可以根据实际情况选择所要安装的SQLServer2000版本。
3SQLServer2000实用工具
SQLServer2000包含一系列的管理开发工具使其安装调用管理及使用都十分便捷。
3.1企业管理器
企业管理器(EnterpriseManager)是SQLServer中最重要的管理工具。
在使用SQLServer的过程中,大部分的时间都是和它打交道。
通过企业管理器可以管理所有的数据库系统工作和服务器工作,也可以调用其它的管理开发工具。
用户可以通过开始菜单或快捷方式启动企业管理器。
启动后,界面如图1所示。
企业管理器的界面是一个标准的Windows界面,由标题栏、菜单栏、工具条树窗口和任务对象窗口(又称任务板)组成。
图1EnterpriseManager启动界面
企业管理器的菜单栏分为两层,上一层是主菜单栏,下一层是控制台菜单栏。
主菜单在程序运行的过程中是基本保持不变的,控制台菜单栏中的菜单则是动态的,随着所进行操作的不同而显示不同的菜单内容。
其中,操作(Action)和查看(View)两个菜单是动态化最明显,随着所进行操作的不同而显示不同的菜单项。
尤其是“操作(Action)”菜单,它的菜单项与当时的快捷菜单的内容相同。
而工具Tools菜单的菜单项在使用企业管理器的过程中是保持不变的,只是应操作的不同而启用或禁用。
3.2服务管理器
服务管理器(ServiceManager)用于启动、暂停或停止数据库服务器——SQLServerSQL、ServerAgent、MSDTC(MicrosoftDistributedTransactionCoordinator,微软分布式事务协调器)。
3.2.1启动服务管理器的方法
●用EnterpriseManager启动
在EnterpriseManager的SQLServerGroup中,用左键单击所要启动的服务器或在所
要启动的服务器上,单击右键后从快捷菜单中选择Start项,即可启动。
●用SQLServerServiceManager启动
启动方法如下:
1.从菜单中选择ServiceManager选项启动服务管理器,服务管理器启动后,如图2所示。
2.在ServiceManager中选择要启动的服务器Server和服务Service选项。
3.在ServiceManager中点击
按钮,即Start/Continue选项启动服务器。
启动后画面如图2所示。
图2ServiceManager
●自动启动服务管理器
可以在操作系统启动时启动服务器,可以在ServiceManager中选择自动启动选项,如图2所示。
也可以在操作系统的计划任务中设置自动启动或在服务器属性配置中指定。
3.2.2注册服务管理器
在SQLServer中可以使用注册向导方式来注册服务管理器,步骤如下:
1.在“程序”菜单中寻找“MicrosoftSQLServer”菜单项。
2.如果“MicrosoftSQLServer”菜单项下有“服务管理器”,则启动服务管理器,在其界面中启动SQLSERVER服务。
3.在“MicrosoftSQLServer”菜单项下打开“企业管理器”。
4.点击工具栏上的
图标,注册一个SQLSERVER服务器。
5.在注册向导的“可用服务器”中选择一个服务器添加到“添加的服务器”中,点击下一步。
6.选择“系统管理员分配的SQLServer登录信息”。
7.填写登录名和密码。
8.不改变默认选项,添加到现有组中。
9.完成SQLServer注册。
3.2.3连接与断开服务管理器
在EnterpriseManager的SQLServerGroup中用左键单击所要连接的服务器或在所要启动的服务器上单击右键后,从快捷菜单中选择Connect项,即可启动。
如果在注册服务器时选择了,在SQLServer启动时输入账号和口令选项则会提示输入它们。
在所要断开的服务器上单击右键后,从快捷菜单中选择Disconnect选项,就可以断开服务器,在关闭EnterpriseManager时也会自动断开服务器。
3.3查询分析器
查询分析器(QueryAnalyzer)用于执行Transaction-SQL命令等(SQLScriptsSQL脚本),程序以查询分析或处理数据库中的数据。
这是一个非常实用的工具,对掌握SQL语言,理解SQLServer的工作有很大帮助。
SQLQueryAnalyzer窗口如图3所示。
可以通过在编辑器窗格中创建或打开脚本并按F5键来执行完整的脚本。
图3SQL查询分析器
4创建数据库
4.1文件与文件组
在SQLServer中,数据库是由数据库文件和事务日志文件组成的。
一个数据库至少应包含一个数据库文件和一个事物日志文件。
●数据库文件(DatabaseFile)
数据库文件是存放数据库数据和数据库对象的文件。
一个数据库可以有一个或多个数据库文件。
一个数据库文件只属于一个数据库,当有多个数据库文件时,有一个文件被定义为主数据库文件(PrimaryDatabaseFile),扩展名为mdf,它用来存储数据库的启动信息和部分或全部数据。
一个数据库只能有一个主数据库文件,其它数据库文件被称为次数据库文件(SecondaryDatabaseFile),扩展名为ndf,用来存储主文件没存储的其它数据。
●事务日志文件(TransactionLogFile)
事务日志文件是用来记录数据库更新情况的文件,扩展名为ldf。
例如使用INSERT、UPDATE、DELETE等对数据库进行更改的操作,都会记录在此文件中。
而如SELECT等对数据库内容不会有影响的操作,则不会记录在案。
一个数据库可以有一个或多个事务日志文件,SQLServer中采用“Write-Ahead(提前写)”方式的事务,即对数据库的修改先写入事务日志中再写入数据库。
●文件组(FileGroup)
文件组是将多个数据库文件集合起来形成的一个整体,每个文件组有一个组名。
与数据库文件一样,文件组也分为主文件组(PrimaryFileGroup)和次文件组(SecondaryFileGroup),一个文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用。
主文件组中包含了所有的系统表,当建立数据库时,主文件组包括主数据库文件和未指定组的其它文件,在次文件组中可以指定一个缺省文件组,那么在创建数据库对象时,如果没有指定将其放在哪一个文件组中,就会将它放在缺省文件组中。
如果没有指定缺省文件组,则主文件组为缺省文件组。
4.2系统数据库
SQLServer2000有四个系统数据库(SystemDatabases):
Master、Model、Msdb、Tempdb,这些系统数据库的文件存储在MicrosoftSQLServer默认安装目录的MSSQL子目录的Data文件夹中。
4.2.1Master数据库
Master数据库记录了一个SQLServer系统的所有系统信息。
这些系统信息主要有:
所有的登录信息;系统设置信息;SQLServer初始化信息;系统中其它系统数据库和用户数据库的相关信息包括其主文件的存放位置等。
4.2.2Model数据库
Model数据库是所有用户数据库和Tempdb数据库的创建模板。
当创建数据库时,系统会将Model数据库中的内容复制到新建的数据库中去。
4.2.3Msdb数据库
SQLServerSQLServerEnterpriseManager和SQLServerAgent使用Msdb数据库来存储计划信息以及与备份和恢复相关的信息。
尤其是SQLServerAgent需要使用它来执行安排工作和警报、记录操作者等操作。
4.2.4Tempdb数据库
Tempdb数据库用作系统的临时存储空间,其主要作用有:
存储用户建立的临时表和临时存储过程;存储用户说明的全局变量值;为数据排序创建临时表;存储用户利用游标说明所筛选出来的数据。
在Tempdb数据库中所做的操作不会被记录,因而在Tempdb数据库中的表上进行数据操作比在其它数据库中要快得多。
4.3用企业管理器创建数据库
在企业管理器(EnterpriseManager)中,可以按下列步骤来创建数据库:
1.单击工具栏中的
图标,或在服务器的Databases文件夹或其下属数据库图标上单击右键,选择NewDatabase…选项,即会出现如图4所示的对话框。
2.指定数据库的名称和编码方式如图4所示。
3.点击TransactionLog页框指定数据库文件的名称、存储位置、初始容量大小和所属文件组,如图4所示。
4.进行数据库文件大小扩充方式和容量限制设置。
5.点击TransactionLog页框,指定事务日志文件的名称、存储位置和初始容量大小。
6.进行事务日志文件大小、扩充方式和容量限制设置。
7.单击确定按钮,则建新数据库。
5创建和修改数据表
5.1创建表
分别使用企业管理器和Transact-SQL语句按下列要求创建两个数据表:
表B1项目数据表,表B2员工数据表,并按照步骤完成对表的相关修改和约束设置。
后面的一些操作实例都是针对这两个表进行的。
表一项目数据表(Project)
字段字段名
数据类型
字段长度
注释
项目编号
int
主键
名称
varchar
长度为50
负责人
int
客户
int
开始日期
datetime
结束日期
datetime
表二员工数据表(Employee)
字段名
数据类型
字段长度
注释
编号
int
主键
姓名
varchar
长度为50
性别
varchar
长度为50
部门
varchar
长度为50
工资
money
长度为8
●使用企业管理器创建数据表并添加约束
1.打开企业管理器,在树状目录窗口中找到数据库节点TestDB,并选中下一级节点“表”。
2.单击鼠标右键,从弹出菜单中选择命令“新建表”,打开表设计窗口,在窗口中按照“上机任务”中所列的“项目数据表”的字段及要求键入列名、数据类型、长度等属性,并将“项目编号”设置为主键。
如图5所示。
3.单击“保存”按钮,在弹出的对话框中输入表名称“项目数据表”,关闭表设计窗口,完成表“项目数据表”的创建。
4.重复1-3步,创建另一个数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)