数据库系统实验指导.docx
《数据库系统实验指导.docx》由会员分享,可在线阅读,更多相关《数据库系统实验指导.docx(20页珍藏版)》请在冰豆网上搜索。
![数据库系统实验指导.docx](https://file1.bdocx.com/fileroot1/2023-5/17/b6024a4a-b60b-4de1-b11e-887a02a1e03f/b6024a4a-b60b-4de1-b11e-887a02a1e03f1.gif)
数据库系统实验指导
数据库系统实验指导
【实验设备及软件环境】
1.微型计算机1台;
2.Windows2000/XP操作系统,SQLServer2000数据库工具开发版
实验一SQLServer数据库基本操作
1、使用企业管理器管理数据库
【实验目的】
了解MicrosoftSQLServer2000的工具程序,通过企业管理器掌握数据库设置、数据操作、查询设计等基本操作。
【实验过程】
一、认识MicrosoftSQLServer的工具程序
在WindowsXP的[开始]->[程序]->[MicrosoftSQLServer]的菜单中列出了MSSQLServer2000的主要程序,如图1-1所示。
图1-1
其中查询分析器和企业管理器是SQLServer的两大主要工具。
查询分析器主要用于创建和执行SQL语句,以完成数据库的查询和管理工作。
企业管理器可以完成SQLServer的管理操作,如数据库的创建和管理、表的创建和管理、数据库安全管理等。
二、启动MicrosoftSQLServer服务
SQLServer安装完成后,服务管理器会在开机时自动运行,并可在Windows任务栏中看到服务管理器的指示器图标
。
如果Windows的任务栏中没有图标
,可选择[开始]->[程序]->[MicrosoftSQLServer]->[服务管理器]启动服务管理器。
服务管理器列出了可管理的服务器和服务列表,并显示了当前服务的状态,如图1-2所示。
图1-2
、
和
按钮分别用于开始/继续、暂停或停止服务,点击
按钮启动SQLServer服务。
三、认识企业管理器
选择[开始]->[程序]->[MicrosoftSQLServer]->[企业管理器]菜单命令,打开SQLServer的企业管理器。
企业管理器与Windows资源管理器窗口相似,分为左右两部分,左边为目录树窗口,右边为内容窗口,如图1-3。
目录树窗口以树状结构显示了SQLServer中的各个项目,每个项目作为一个节点。
图1-3
四、用企业管理器管理数据库
1.创建数据库
在SQLServer2000中,数据库保存在独立的文件中。
一个数据库通常有两个文件,一个用于存放数据,称为数据文件,另一个用于存放数据库的操作记录,称为事务日志文件。
创建数据库就是根据需要指定数据库名称、数据库文件名称、数据库文件大小等信息。
下面使用创建数据库向导来试建一个“成绩管理”数据库,具体操作如下:
1.打开企业管理器,展开目录树窗口中的[MicrosoftSQLServers]->[SQLServer组],选中SQLServer服务器,选择[工具]->[向导]菜单命令。
2.在打开的“选择向导”对话框列表中双击“数据库”,展开节点,显示数据库操作向导,单击“创建数据库向导”。
3.单击确定按钮,打开创建数据库向导的欢迎对话框。
4.单击下一步按钮,打开命名数据库对话框,在对话框的“数据库名称”文本框中输入“成绩管理”,数据库文件位置使用默认值。
5.单击下一步,打开命名数据库文件对话框,将数据文件的初始大小修改为2,即2MB。
6.单击下一步,打开定义数据文件增长对话框,选中“文件增长的最大值[MB]”,并将其后的文本框中的数字修改为4,即将数据文件的最大值设置为4MB。
7.单击下一步,打开命名事务日志文件对话框,将文件初始大小修改为2MB。
8.单击下一步,打开定义日志增长对话框,选中“事务文件不自动增长”,不允许事务文件自动增长。
9.单击下一步,打开完成信息对话框。
10.单击完成,执行创建数据库操作。
11.单击确定,提示是否为数据库创建维护计划,选择否暂时不创建维护计划。
至此,完成数据库创建操作。
2.为数据库添加文件
下面为“成绩管理”数据库添加一个数据文件和事务日志文件,其具体操作如下:
1.在目录树窗口中单击“数据库”项目,显示当前服务器中的数据库。
2.右键单击“成绩管理”数据库,在弹出的快捷菜单中选择“属性”。
3.在数据库属性对话框中单击“数据文件”选项卡,在“数据库文件”列表中的空行的文件名单元中输入“成绩管理_data2”作为添加的辅助数据文件名称;不修改文件位置,默认与主数据文件位置相同;将“分配的空间”单元格中的文件大小值修改为2。
4.单击“事务日志”选项卡,为数据库添加一个辅助日志文件,文件名为“创建管理_log2”。
5.单击确定关闭对话框。
创建“学生名单”数据表
表1-1学生名单
字段名称
数据类型
长度
允许空
学号
Char
9
否
姓名
Varchar
8
否
性别
Char
2
否
出生日期
Smalldatetime
4
否
班级
Varchar
20
否
创建学生名单数据表的步骤如下:
在目录树窗口中单击选中“成绩管理”数据库,然后在内容窗口中右键单击“表”项目,选择“新建表”。
(注:
Win7不兼容,右键单击空白处->新建表,继续后续操作会崩溃,这里win7需要任意选中一张表,然后,右键->新建表
6.)
7.在表设计器窗口中首先输入各个字段的名称,然后设置各个字段的数据类型和长度。
默认情况下,“允许空”单元格显示一个选中标记,表示允许字段为空值。
取消“允许空”标记。
8.将插入点定位到“学号”字段所在的行,单击工具栏中的
按钮,“学号”字段定义为主键。
9.单击保存按钮,在弹出的对话框中键入“学生名单”。
点确认完成保存。
3.定义“学生名单”的check约束
下面分别为“学生名单”数据表定义两个check约束,一个用于限制“学号”字段必须由9个数字组成的字符串,如“B03040524”,另一个用于限制“性别”字段值只能为“男”或“女”。
具体操作如下:
1.右键单击“学生名单”表,选择设计表。
单击工具栏上的“管理约束”按钮。
2.单击“新建”创建一个新的约束,并在“约束表达式”中输入下面的表达式:
[学号]like'[A-Z][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
3.在“约束名”文本框中将默认的名称“CK_学生名单”修改为“CK_学生名单_学号”。
4.类似的创建一个名为“CK_学生名单_性别”约束,约束表达式如下:
[性别]='男'or[性别]='女'
5.单击关闭,关闭表属性对话框。
6.单击保存按钮,保存此创建的约束。
4.创建“成绩记录”数据表
表1-2成绩记录
字段名称
数据类型
长度
允许空
学号
Char
9
否
课程号
Int
4
否
成绩
Tinyint
1
否
学分
Tinyint
1
否
创建步骤参照“学生名单”,主键为“学号”。
并定一个约束“CK_成绩记录_成绩”,限制成绩范围为0~100。
表达式:
[成绩]>=0AND[成绩]<=100
5.定义“学生名单”和“成绩记录”数据表的关联
具体操作如下:
1.在“成绩记录”数据表的设计器窗口中单击工具栏中的
按钮,打开表属性对话框。
2.单击新建按钮,创建一个新的关联。
3.在“主键表”下拉列表框中选中“学生名单”,并在字段下拉列表中分别选中两个表中的“学号“字段。
4.选中“级联更新相关的字段”复选框,这样可在修改“学生名单”表中的“学号字段”时,自动修改“成绩记录”表中对应的学号。
5.单击关闭按钮,关闭表的属性对话框。
6.为“学生名单”数据表添加数据
下面用企业管理器为“学生名单”数据表添加数据,具体操作如下:
1.在目录树窗口中选中“成绩管理”数据库的“表”项目。
2.右键单击内容窗口中的“学生名单”数据表,选择[打开表]->[返回所有行]命令。
3.在打开的查询窗口中添加如下表所示的两条记录。
表1-3学生信息
学号
姓名
性别
出生日期
班级
B03040824
王国政
男
1986-10-1
四系八班
B03040615
杨凌
女
1986-02-21
四系六班
4.单击“X”按钮关闭查询窗口,完成数据添加操作。
5.为“成绩记录”表添加如下表所示的两条记录。
表1-4成绩记录信息
学号
课程号
成绩
学分
B03040824
04001
90
5
B03040615
07032
80
4
7.创建学生信息查询
下面设计一个学生信息查询,以返回学生学号、姓名、选修课程名称和课程成绩等信息。
具体操作如下:
1.新建“课程信息”表并添加如表1-6所示数据,课程信息表的结构如表1-5所示,其中课程号为主键。
表1-5课程信息
字段名称
数据类型
长度
允许空
课程号
Int
4
否
课程名称
Varchar
20
否
授课教师
Varchar
20
否
上课时间
Varchar
10
否
教室
Varchar
10
否
表1-6课程信息记录
课程号
课程名称
授课教师
上课时间
教室
04001
微机原理
陈云芳
周1,5-6
教东403
07032
离散数学
夏明
周4,7-8
图3
2.在目录树窗口中选中“成绩管理”数据库的“表”项目,显示数据库的数据表。
3.右键点击“学生名单”数据表,选择[打开表]->[查询]。
4.单击工具栏中的
按钮,打开“添加表”对话框,按住Ctrl键分别单击“表”选项卡列表框中的“课程信息”和“成绩记录”,选中这两个数据表。
5.单击添加按钮,将选中的数据表添加到查询设计器的关系图表格中,然后单击关闭按钮关闭“添加表”对话框。
因为已经创建了“学生名单”、“课程信息”和“成绩记录”数据表之间的关联,所以关系图创格中自动画出了表间的联结线。
6.在SQL窗格中显示了默认的SQL语句,其代码如下所示。
分析此SQL语句可知,该查询会返回3个数据表中的所有字段。
SELECT*
FROM学生名单INNERJOIN
成绩记录ON学生名单.学号=成绩记录.学号INNERJOIN
课程信息ON成绩记录.课程号=课程信息.课程号
7.单击工具栏中的!
按钮执行查询,观察结果窗口中显示的查询结果。
8.单击中部网格窗格中星号(*)左端的选择按钮,选中星号所在行,按[delete]键将其删除,这样可以避免在查询中输出3个表的所有字段。
9.在关系图窗格中按顺序分别选中“学生名单”数据表中的“学号”、“姓名”字段,“课程信息”数据表中的“课程名称”字段,“成绩记录”数据表中的“成绩”字段。
10.右键单击“学生名单”数据表标题栏,选择“属性”。
11.在打开对话框中的“别名”栏中输入A,作为“学生名单”数据表的别名,单击“关闭”关闭对话框。
12.单击中部网格窗格中“学号”字段对应的“排序类型”单元格,单击单元格右端出现的
按钮,在弹出的下拉列表中选择“升序”选项,将“学号”字段的排序类型设置为升序。
13.按相同的方法,将“成绩”字段排序类型设置为“降序”。
14.单据!
按钮执行查询,观察查询结果。
通过上述步骤设计的查询的SQL语句代码如下:
SELECTA.学号,A.姓名,课程信息.课程名称,成绩记录.成绩
FROM学生名单AINNERJOIN
成绩记录ONA.学号=成绩记录.学号INNERJOIN
课程信息ON成绩记录.课程=课程信息.课程编号
ORDERBYA.学号,成绩记录.成绩DESC
2、使用查询分析器
【实验目的】
认识查询分析器,熟练掌握其各项操作。
【实验过程】
一、在查询分析器中连接SQLServer
1.点击“文件”菜单的“连接”或者在登陆查询分析器的时候直接连接(则跳过这步),如图2-1。
图2-1
2.在图2-2“连接到SQLServer”对话框中,在“SQLServer”框中输入数据库服务器的名称。
若要选择本地服务器请选择“(local)”(数据库名称可以在“数据库管理器”中查看)。
图2-2
3.单击“Windows”身份验证。
或单击“SQLServer身份验证“以使用SQLServer身份验证进行连接如图2-3所示。
图2-3
二、在查询分析器中执中Sql语句
1.选定指定的数据库,如图2-4选定成绩管理数据库。
(注:
如果直接打开查询分析器找不到对应的数据库,可以在企业管理器中,选择对应数据库,工具->SQL查询分析器)
图2-4
2.在编辑器窗格中编辑或打开脚本(*.sql)如图2-5。
图2-5
3.编辑完成后按
(ctrl+F5)检查语法,按
(F5)来执行完整脚本。
查询分析器将显示执行结果(图2-6执行语句为select*fromEmployees)。
图2-6
三、用查询分析器建表
1.创建“用户信息”数据表
“用户信息”表的结构如表2-1所示。
表2-1用户信息
字段名称
数据类型
长度
允许空
用户编号
int
4
否
用户姓名
Varchar
8
否
地址
Varchar
40
否
所在城市
Varchar
8
否
使用查询分析器建表的具体操作如下:
1.打开查询分析器,在数据库下拉列表框
中选择“成绩管理”数据库。
2.在查询窗口中键入以下SQL语句。
CREATETABLE用户信息(用户编号intIDENTITYPRIMARYKEY,
用户姓名varchar(8)NOTNULL,
地址varchar(40)NOTNULL,
所在城市varchar(8)NOTNULL)
3.按F5执行查询,完成建表操作。
2.创建“订单”表
“订单”表的表结构如表2-2所示。
表2-2订单
字段名称
数据类型
长度
允许空
编号
Int
4
否
订单号
Int
4
否
用户编号
smallint
2
否
请使用查询分析器参考“用户信息”表的建立步骤建立该表。
SQL语句如下:
CREATETABLE订单(编号intIDENTITYPRIMARYKEY,
订单号intNOTNULL,
用户编号smallintNOTNULL)
四、用查询分析器修改数据表
修改“订单”数据表中“用户编号”字段的数据类型,并为其创建一个外键约束。
注意:
ALTERTABLE语句一次只能完成一件事,所以需要用两条语句来完成修改任务。
具体操作如下:
1.在查询窗口中键入以下SQL语句。
ALTERTABLE订单
ALTERCOLUMN用户编号intNOTNULL
ALTERTABLE订单
ADDFOREIGNKEY(用户编号)REFERENCES用户信息(用户编号)
ONUPDATECASCADE
分别选中上步输入的两条SQL语句,然后单击工具栏中的
按钮执行查询,完成数据表修改操作。
数据表修改后的提示信息为“(所影响的行数为0行)”,为了确定是否修改成功,我们可以在企业管理器中打开表的设计器窗口,查看“用户”字段的数据类型是否变化,并打开表的属性窗口,查看“关系”选项卡中的关联。
(注右键订单表->设计表->右键空白处“关系”,即可查看外键关系)
实验二、简单图书馆管理数据库的实现
【实验目的】
学习数据库的设计,了解存储过程、触发器MSSQLServer的使用,学会数据库的建立、查询、更新等
【数据库设计】
简单图书管理系统应包括读者和图书的管理,借、还管理等功能。
为此我们设计三张表分别记录读者、图书和借阅信息。
同时为了降低复杂度,我们假定每本书只有一本,每个读者借阅时间为6个月并且针对借阅权限不做限制。
由此数据库设计如下:
表3-1图书信息表
字段名
数据类型
长度
允许空
书号
varchar
10
否
书名
varchar
15
否
作者
varchar
15
否
状态
bit
1
否
说明:
书号是书的唯一标识即主码;状态表示是否在库可借。
如果书在库中状态属性值为1,如果书被借出,状态属性值为1=0。
表3-2读者信息表
字段名
数据类型
长度
允许空
借书证号
varchar
10
否
姓名
varchar
15
否
住址
varchar
20
是
说明:
借书证号是读者的唯一标识即主码。
表3-3借阅信息表
字段名
数据类型
长度
允许空
编号
int
4
否
书号
varchar
10
否
借书证号
varchar
10
否
借书时间
datetime
8
否
还阅时间
datetime
8
是
说明:
编号是借阅记录的标识;书号、借书证号为主码,书号是图书信息表的外码,借书证号是读者信息表的外码。
图3-1为E-R图。
图3-1
【实验过程】
一、建数据库、数据表
按前述分析,利用企业管理器或者查询分析器(推荐)建“图书馆管理”数据库和数据表。
二、数据的基本操作
增加记录:
图书信息表:
书号
书名
作者
状态
1001
SQLSERVER教程
王明
0
1002
高级语言程序设计
黄奕明
1
1003
数据库系统概述
李明辉
1
1004
Java编程教程
赵凯
0
1005
C#程序设计教程
杨洪立
1
1006
计算机网络
刘辉
1
2001
高等数学
李利文
0
2002
高等数学分析
张艳红
1
读者信息表:
借书证号
姓名
住址
12001
张红
学三
12002
李明
学四
12003
王力
学五
12004
吴仪红
学三
12005
洪鸣
学二
借阅信息表
编号
书号
借书证号
借书时间
还阅时间
1
1001
12002
2
2002
12004
并对这三张表进行查询、删除、更新、等操作
例如
1、查询图书信息表中所有的书名。
2、查询图书信息表中被借出的书名。
3、12003读者借阅高等数学图书
4、120002读者还书。
5、查询图书信息表中被借出的书名、以及借阅人的姓名
三、创建触发器、和存储过程进行借、还书操作
1)针对借阅信息表的插入操作创建触发器,当借阅信息表进行插入操作时,自动根据书号,将图书信息表相应记录的“状态”字段改为0。
2)针对借阅信息表的删除操作创建触发器,当借阅信息表进行删除操作时,自动根据书号,将图书信息表相应记录的“状态”字段改为1。
创建存储过程:
sf_borrow,实现借书功能即:
向借阅信息表进行插入操作,将书号、借书证号,借书时间作为参数,并自动的将还书时间设置为借书时间后6个月。
(注新建存储过程,要注意,函数参数类型要说明清楚,例如,varchar(10),在存储过程中也要写明是varchar(10))
3)创建存储过程:
sf_return,现实还书功能即:
根据书号对借阅信息表进行删除操作,将书号作为参数。
利用sf_borrow,sf_return进行借、还操作,并注意数据库中三个表的数据变化情况。
附录:
SQLServer的安装
【实验目的】
熟悉SQLServer2000的安装过程。
【实验过程】
将MicrosoftSQLServer2000安装盘放入光驱。
如果没有自动安装请双击光盘根目录中的
1)选择安装SQLServer2000组件?
选择安装数据库服务器一项见图F-1
2)在计算机名称对话框中,“本地计算机”是默认的选项。
本地计算机的名称就显示在上面点击“下一步”见图F-2:
图F-1
图F-2
3)接下来在安装选择对话框中点击“创建一个新的SQLServer实例或者安装客户端工具”。
然后点击“下一步”见图F-3:
图F-3
4)在用户信息对话框中填写用户信息、公司名称;在软件许可证协议对话框中单击“是”,进入安装定义对话框。
点击服务器与客户端工具(ServerandClientTools),然后点击“下一步”见图F-4:
图F-4
5)在实例名称对话框中,系统一般或提供了默认的复选框,我们既可以安装默认方式的实例,也可以安装自命名的实例见图F-5:
图F-5
6)在安装类型对话框中你可以选择典型安装(Typical)或者是最小安装(Minimum)。
我们选择典型安装,默认目的文件夹,然后点击“下一步”图F-6:
图F-6
7)在服务帐户对话框中,一般接受默认的选项。
然后输入你的域的密码。
点击“下一步”见图F-7:
图F-7
8)在身份验证模式对话框中,一般也是接受默认选项(Windows身份验证模式)键图F-8:
图F-8
9)完成了以上的选项以后,点击“下一步”。
安装程序开始复制文件,安装完成:
图F-9
数据库系统课程实验报告
实验名称
实验一SQLServer数据库基本操作
班级学号
姓名
指导教师
1、使用企业管理器管理数据库
一、实验目的
了解MicrosoftSQLServer2000的工具程序,通过企业管理器掌握数据库设置、数据操作、查询设计等基本操作。
二、实验内容
①、认识MicrosoftSQLServer的工具程序
②、启动MicrosoftSQLServer服务
③、认识企业管理器
④、用企业管理器管理数据库
三、实验结果及分析
(一)、认识MicrosoftSQLServer的工具程序
(二)、启动MicrosoftSQLServer服务
(三)、认识企业管理器
(四)、用企业管理器管理数据库
2、使用查询分析器
一、实验目的
认识查询分析器,熟练掌握其各项操作。
二、实验内容
①、在查询分析器中连接SQLServer
②、在查询分析器中执中Sql语句
③、用查询分析器建表
④、用查询分析器修改数据表
三、实验结果及分析
(一)、在查询分析器中连接SQLServer
(二)、在查询分析器中执中Sql语句
(三)、用查询分析器建表
(四)、用查询分析器修改数据表
数据库系统课程实验报告
实验名称
实验二简单图书馆管理数据库的实现
班级学号
姓名
指导教师
(一、一、实验目的
学习数据库的设计,了解存储过程、触发器MSSqlServer的使用、学会数据库的建立、查询、更新等。
二、实验内容
简单图书管理系统应包括读者和图书的管理,借、还管理等功能。
为此我们设计三张表分别记录读者、图书和借阅信息。
同时为了降低复杂度,我们假定每本书只有一本,每个读者借阅时间为一个月并且针对借阅权限不做限制。
由此数据库设计如下:
表:
图书信息表
字段名
数据类型
长度