数据库系统实验指导及内容一.docx
《数据库系统实验指导及内容一.docx》由会员分享,可在线阅读,更多相关《数据库系统实验指导及内容一.docx(16页珍藏版)》请在冰豆网上搜索。
数据库系统实验指导及内容一
实验一使用向导创建和删除数据库
一.实验目的
1.熟悉SQLServer2008中SQLServerManagementStudio的环境;
2.理解数据库的逻辑结构和物理结构;
3.掌握使用向导创建和删除数据库的方法;
二.实验准备
1.装有SQLServer2005/2008的PC机;
2.创建数据库的用户必须是DBA,或被授权使用CREATEDATABASE语句的用户;
三.实验要求
1.熟练使用SSMS进行数据库的创建和删除;
2.完成实验报告(实验报告的格式见附录);
四.实验内容
设有一学籍管理系统,其数据库名为“EDUC”。
初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;
日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名为“student_data”,物理文件名为“student_data.mdf,存放路径为“E:
\sql_data”。
日志文件的逻辑文件名为“student_log”,物理文件名为“student_log.ldf”,存放路径为“E:
\sql_data”。
注意:
文件路径“E:
\sql_data”中的文件夹sql_data要提前创建好,可以是你自己设置的任何路径。
1、使用SQLServerManagementStudio(简称SSMS)创建数据库;
2、修改数据库EDUC1的相关属性值,如数据文件和日志文件的名字、大小、增长方式、存
储路径等;
3、数据库的备份与恢复;
注意:
在每次试验结束时,都采用这种方法将自己的数据库分离拷贝,下次实验时进行附加
4、使用向导删除上面建立的数据库;
五.实验步骤
1.使用SQLServerManagementStudio(简称SSMS)创建数据库。
(1)启动SSMS
在开始菜单中:
所有程序-MicrosoftSQLServer2008-SQLServerManagementStudio ,如下图所示:
单击“连接”按钮,便可以进入【SQLServerManagementStudio】窗口。
如果身份验证选择的是“混合模式”,则要输入sa的密码。
(2)建立数据库
在“对象资源管理器”窗口中,建立上述数据库EDUC。
在数据库节点上,右击选择新建数据库,按实验内容的要求,对数据文件和日志文件进行设置。
如下所示,点击确定。
点击自动增长后的选择框,可以对增长的方式和最大增长的长度进行设置。
用同样的方法建立一个同样属性的数据库,数据库名为EDUC1。
这两个数据库建立后,如下图:
注意:
在建立数据库的时候,数据库的逻辑文件名和日志的逻辑文件名尽量采用默认值,本例中,在建立数据库EDUC时,数据库的逻辑文件名和日志的逻辑文件名为student_data和student_log,在建立EDUC1时,如果还用相同的名字并存储在相同的路径下,会报错。
解决方法,1)采用不同的名字如student1_data和student1_log;
2)存储在不同的路径
2.修改数据库EDUC1的相关属性值,如数据文件和日志文件的名字、大小、增长方式、存储路径等;
选择数据库节点EDUC1,右击-属性-文件,根据自己的需要,对相应的属性值进行相应的调整,点击确定。
如下图所示:
3.数据库的备份与恢复
SQLServer提供了“分离/附加”数据库、“备份/还原”数据库、复制数据库等多种数据库的备份与恢复的方法,这里熟悉使用“分离/附加”的方法。
1)数据库的分离
选择数据库节点EDUC,右击-任务-分离,进入如下图所示的界面,选择更新统计消息下的复选框,单击确定,完成数据库的分离,此时可以将分离后的数据库的数据文件和日志文件拷贝到U盘里
2)数据库的附加
在对象资源管理器中,选择数据库节点,右击-附加-添加,在文件件E:
\sql_data中选择数据文件student_data.mdf,单击确定,如下图所示,再单击确定,完成数据库的附加。
4.使用向导删除上面建立的数据库。
用SSMS删除建立的数据库EDUC。
在对象资源管理其中,选中数据库EDUC节点,右击-删除即可。
实验二使用SQL语句创建和删除数据库
一.实验目的:
1.了解SQLServer2005/2008数据库的逻辑结构和物理结构。
2.掌握使用SQL语句创建和删除数据库。
二.实验准备
1.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATEDATABASE语句的用户。
2.了解用SQL语句创建和删除数据库的基本语法。
三.实验要求
1.熟练使用MicrosoftSQLServerManagementStudio进行数据库的创建和删除操作。
2.完成实验报告。
四.实验内容
使用SQL语句创建数据库userdb1。
五.实验步骤
1.创建数据库userdb1的SQL语句,注意各个参数的意义:
createdatabaseuserdb1
on
(name=userdb1_data,--数据文件的逻辑名称,注意不能与日志逻辑同名
filename='e:
\sql_data\userdb1.mdf',--物理名称,注意路径必须存在
size=5,--数据初始长度为5M
maxsize=10,--最大长度为10M
filegrowth=1)--数据文件每次增长1M
logon
(name=userdb1_log,
filename='e:
\sql_data\userdb1.ldf',
size=2,
maxsize=5,
filegrowth=1)
具体如下图所示:
执行上述语句建立数据库userdb1,此时在对象资源管理器中,看不到数据库Userdb1,选择数据库节点,右击-刷新,即可。
2.根据步骤1的sql语句,写出创建实验1中数据库EDUC的sql语句,建立数据库EDUC.
3.用SQL语句删除步骤1建立的数据库userdb1。
注意:
删除数据库时,要保证当前数据库不是要删除的数据库,且相应的数据文件和日志文件也被删除。
实验三使用SQL语句创建和删除表
一.实验目的
1.了解表的结构特点。
2.了解SQLServer的基本数据类型。
3.学会使用T-SQL语句创建表。
二.实验要求
1.完成SQL语句创建和删除基本表。
2.完成实验报告。
三.实验准备
1.确定数据库包含的各表的结构,还要了解SQLServer的常用数据类型,以创建数据库的表。
2.已成功创建了数据库EDUC。
3.掌握SQL创建基本表的方法。
四.实验内容
在数据库EDUC中,创建如下几个表:
表3.1class表(班级信息表)
字段名称
类型
允许空值
主键
说明
ClsNO
Char(6)
NOTNULL
是
班号
ClsName
Varchar(16)
NOTNULL
班名
Director
Varchar(10)
NULL
辅导员
Specialty
Varchar(30)
NULL
专业
表3.2student表(学生信息表)
字段名称
类型
允许空值
主键
说明
Sno
Char(8)
NOTNULL
是
学号
Sname
Varchar(10)
NOTNULL
姓名
Sex
Char
(2)
性别:
男、女
ClsNO
Char(6)
NULL
班级的编号,(外键)参照表Class
Saddr
Varchar(20)
住址
Sage
numeric(3,0)
年龄,大于10,但小于30岁
Height
Decimal(4,2)
身高
表3.3course表(课程信息表)
字段名称
类型
允许空值
主键
说明
Cno
Char(4)
NOTNULL
是
主键
Cname
Varchar(16)
NOTNULL
课程的名称
Cpno
char(4)
NULL
先修课程的课程号(外键),参照cno
Ccredit
Tinyint
学分
表3.4sc表(学生选课成绩表)
字段名称
类型
允许空值
主键
说明
Sno
Char(8)
NOTNULL
是
学号,参照Student,与Cno组成主键
CNO
Char(4)
NOTNULL
是
课程号,参照Course
grade
Numeric(4,1)
NULL
成绩
五.实验步骤
1.打开查询窗口,输入创建基本表的sql语句,在可用数据库的下拉框中,选择数据库EDUC或者使用useEDUC,首先创建class表(为什么呢?
)
2.点击“执行”按钮,完成表的创建。
3.用上述方法创建其他表。
1)创建student表
2)创建course表
3)创建sc表
4.将以上创建表的SQL语句以.SQL文件的形式保存在磁盘上。
实验四数据更新操作
一.实验目的
1.熟悉使用UPDATE/INSERT/DELETE语句进行表操作;
2.能将这些更新操作应用于实际操作中去;
二.实验准备
1.向EDUC数据库的各表中插入、修改和删除数据。
2.了解INSERT、UPDATE及DELETE语句。
三.实验要求
1.完成下面的实验内容,并提交实验报告;
2.在实验报告中附上相应的代码;
四.实验内容
(1)向表(Student)中插入数据
Sno
Sname
Ssex
ClsNO
Saddr
Sage
Height
20090101
王军
男
CS01
下关40#
20
1.76
20090102
李杰
男
CS01
江边路96#
22
1.72
20090306
王彤
女
MT04
中央路94#
19
1.65
19940701
吴杪
女
PH08
莲化小区74#
18
1.60
插入数据之后使用命令:
Select*fromStudent;检查插入数据的正确性
(2)向表(Class)中插入数据
ClsNO
ClsName
Director
Specialty
CS01
计算机一班
王宁
计算机应用
CS02
计算机二班
王宁
计算机应用
MT04
数学四班
陈晨
数学
PH08
物理八班
葛格
物理
插入数据之后使用命令:
Select*fromClass;检查插入数据的正确性
(3)向表(Course)中插入数据
Cno
Cname
Cpno
Credit
0001
高等数学
Null
6
0003
计算机基础
0001
3
0007
物理
0001
4
插入数据之后使用命令:
Select*fromCourse;检查插入数据的正确性
(4)向表(SC)中插入数据
SNO
CNO
Grade
20090101
0001
90
20090101
0007
86
20090102
0001
87
20090102
0003
76
20090306
0001
87
20090306
0003
93
19940701
0007
85
插入数据之后使用命令:
Select*fromsc;检查插入数据的正确性
(5)对于student表,将所有班级号为‘CS01’的,并且年龄不大于20岁的学生的班级号改为‘CS02’。
UpdatestudentsetClsNO=cs01whileClsNO=cs02andsage<=20;
(6)对于student表,删掉所有年龄不小于20岁,并且班级号为‘CS02’的学生的记录。
这里要分为两步:
第一步:
在SC表上定义级联删除(思考为什么?
),如下所示:
第二步:
执行删除操作,如下图所示:
(7)对于student表,插入一条新记录,它的具体信息为,
学号:
20071101、姓名:
张三、性别:
男、年龄:
19、班级编号:
‘CS01’、身高:
1.78、地址:
下关50#;
对于class表,插入一条记录,具体信息为,
班级号:
GL01,班级名称:
地理一班,辅导员:
葛格,专业:
地理
(8)对于student表,将年龄最小的学生的家庭地址去掉。
(9)对于student表,将平均年龄最小的一个班级编号改为‘GL01’
实验五创建和删除索引
一.实验目的
1.了解索引的类型和应用。
2.学会用SQL语句对表创建和删除索引
二.实验准备
1.成功创建了数据库EDUC中各表
2.了解创建和删除索引的方法。
三.实验要求
1.了解索引类型并比较各类索引的不同之处
2.完成索引的创建和删除,并提交实验报告。
四.实验内容
1.分别建立以下索引(如果不能成功建立,请分析原因)
(1)在student表的sname列上建立普通降序索引,以下两种方法任选一个。
方法一:
利用向导创建;
展开student表节点,索引-新建索引,如下图,点击添加按钮,选择sname,点击
确定,再点击确定。
方法二:
使用语句创建索引;
(2)在course表的cname列上建立唯一索引。
(3)在sc表的sno列上建立聚集索引,将出现错误,如下图,请分析原因并完成该操作。
(4)在sc表的sno(升序),cno(升序)和grade(降序)三列上建立一个普通索引。
2.删除索引
将student表的sname列上的聚集索引删掉。