数据库系统实验指导完整版.docx
《数据库系统实验指导完整版.docx》由会员分享,可在线阅读,更多相关《数据库系统实验指导完整版.docx(18页珍藏版)》请在冰豆网上搜索。
数据库系统实验指导完整版
HENsystemofficeroom【HEN16H-HENS2AHENS8Q8-HENH1688】
数据库系统实验指导
数据库系统实验指导
【实验设备及软件环境】
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.学号,成绩记