数据库原理SQL实验二.docx
《数据库原理SQL实验二.docx》由会员分享,可在线阅读,更多相关《数据库原理SQL实验二.docx(27页珍藏版)》请在冰豆网上搜索。
数据库原理SQL实验二
实验一:
数据库管理系统软件的使用
一、实验目的
(1)认识几种常见的数据库管理系统,熟悉它们的使用界面;
(2)熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作。
二、实验内容
分别在Access和SQLSERVER2000中建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。
三、实验步骤:
创建用于学生管理数据库,数据库名为XSGL,包含学生的基本信息,课程信息和选课信息。
数据库XSGL包含下列3个表:
(l)student:
学生基本信息。
(2)course:
课程信息表。
(3)sc:
学生选课表。
各表的结构分别如表1、表2和表3所示。
表1学生信息表:
student
列名
数据类型
长度
是否允许为空值
sno
字符(文本)型
10
否
sname
字符(文本)型
10
否
ssex
字符(文本)型
2
否
sage
整数(数值)型
是
sdept
字符型
4
否
表2课程信息表:
course
列名
数据类型
长度
是否允许为空值
cno
字符(文本)型
3
否
cname
字符(文本)型
30
否
credit
整数(数值)型
是
pcno
字符(文本)型
3
是
表3学生选课表:
sc
列名
数据类型
长度
是否允许为空值
sno
字符(文本)型
10
否
cno
字符(文本)型
30
否
grade
整数(数值)型
是
1.用可视化界面在Access中建立数据库和表:
(a)在Access中创建xsgl.mdb数据库,使用表设计视图创建如表1、表2、表3所示结构的3个表。
提示:
(1)启动Access2000或Access2003,选择文件->新建->空数据库,输入数据库文件名xsgl.mdb,进入
(2);
(2)启动如图1的设计界面后,选择表对象和使用使用设计器创建表,选择新建,进入(3);
(3)生成如图2界面,选择设计视图,点击确定按钮,进入(4);
(4)在图3表设计界面下,分别创建student表,course表和sc表的结构;
(5)输入表中的记录:
分别在student表、course表和sc表中输入如下表中的记录:
在数据库视图下,选择表对象中的相应表选择打开,在浏览视图下输入如下表记录:
sno
sname
ssex
sage
sdept
95001
李勇
男
20
CS
95002
刘晨
女
19
IS
95003
王敏
女
18
MA
95004
张立
男
19
IS
95005
刘云
女
18
CS
cno
cname
credit
pcno
1
数据库
4
5
2
数学
6
3
信息系统
3
1
4
操作系统
4
6
5
数据结构
4
7
6
数据处理
3
7
PASCAL语言
4
6
sno
cno
grade
95001
1
92
95001
2
85
95001
3
88
95002
2
90
95002
3
80
95003
2
85
95004
1
58
95004
2
85
(b)对表中的记录进行浏览、修改、删除操作。
2.在SQLSERVER中用SQLSERVER2005ManagementStudio新建数据库和表:
(1)建立xsgl数据库:
启动SQLServer2005ManagementStudio,界面如下:
图4SQLServer2005企业管理器界面
选择树形菜单数据库,点击鼠标右键,出现如下弹出式菜单,选择新建数据库
在图中,按图分别设置数据库xsgl的属性,点击确定按钮,完成了数据库的创建。
图5数据库名称属性设置
图6数据库数据文件和日志文件属性设置
选择确定按钮,则创建xsgl数据库。
(2)建立student、course、sc表:
选择xsgl数据库树形菜单,选择表,在图7表逻辑对象中点击鼠标的右键,在弹出式菜单中选择新建,启动表设计器。
图7表逻辑对象界面
选择新建,启动如图8的表设计器,建立表结构,保存为student。
图8student的表结构
分别按表2、3建立course表和sc表。
(3)在表中添加记录:
选择student表,在快捷菜单下选择打开表->返回所有行,进入图9、图10,输入学生表中的记录。
图10
图10student表记录录入
依次按相同方法建立course表和sc表,并输入其中的记录。
(4)修改表中的数据:
(5)删除表中的记录
思考:
1.Access数据库主要有哪些对象组成?
2.SQLSERVER2005数据库主要由哪些逻辑对象组成?
物理数据库文件包括哪些文件?
实验二:
数据库的建立和维护
实验目的
熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作。
实验内容
建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。
实验步骤:
创建用于学生管理数据库,数据库名为XSGL,包含学生的基本信息,课程信息和选课信息。
数据库XSGL包含下列3个表:
(l)student:
学生基本信息。
(2)course:
课程信息表。
(3)sc:
学生选课表。
各表的结构分别如表1、表2和表3所示。
表1学生信息表:
student
列名
数据类型
长度
是否允许为空值
sno
字符型
10
否
sname
字符型
10
否
ssex
字符型
2
否
sage
整数型
是
sdept
字符型
4
否
表2课程信息表:
course
列名
数据类型
长度
是否允许为空值
cno
字符型
3
否
cname
字符型
30
否
credit
整数型
是
pcno
字符型
3
是
表3学生选课表:
sc
列名
数据类型
长度
是否允许为空值
sno
字符型
10
否
cno
字符型
30
否
grade
整数型
是
一.数据库的建立:
2.用可视化界面建立:
(a)在SQLSERVER2005中用ManagementStudio-新建数据库;
3.命令方式建立:
(a)在SQLSERVER2005中,在新建查询中使用T-SQL语句:
(在做如下操作前,请将第一实验建立的XSGL数据库删除)
CREATEDATABASEXSGL
ON(NAME='XSGL_DATA',
FILENAME='E:
\XSGL.MDF',
SIZE=10MB,
MAXSIZE=50MB,
FILEGROWTH=5%)
LOGON
(NAME='XSGL_Log',
FILENAME='e:
\XSGL_Log.ldf',
SIZE=2MB,
MAXSIZE=5MB,
FILEGROWTH=1MB)
二.表的建立:
1.用可视化界面建立:
在SQLSERVER2005中用ManagementStudio—数据库—XSGL—表—右键—新建表;
2.命令方式建立:
在SQLSERVER2005中的”新建查询”编辑窗口中用下列SQL语句:
useXSGL
Createtablestudent(snonchar(10)NOTNULL,snamenchar(10)NOTNULL,ssexnchar
(2)NOTNULL,sageintNULL,sdeptnchar(10)NOTNULL)
go
Createtablecourse(cnonchar(3)NOTNULL,cnamenchar(30)NOTNULL,creditintNULL,pcnonchar(3)NULL)
go
Createtablesc(snonchar(10)NOTNULL,cnonchar(30)NOTNULL,gradeINTNULL)
go
三.表数据的添加:
1.用可视化方法:
I:
在SQLSERVER2005中用ManagementStudio—数据库—XSGL—表-表名—右键-打开表-返回所有行;
输入下列数据:
sno
sname
ssex
sage
sdept
95001
李勇
男
20
CS
95002
刘晨
女
19
IS
95003
王敏
女
18
MA
95004
张立
男
19
IS
95005
刘云
女
18
CS
cno
cname
credit
pcno
1
数据库
4
5
2
数学
6
3
信息系统
3
1
4
操作系统
4
6
5
数据结构
4
7
6
数据处理
3
7
PASCAL语言
4
6
sno
cno
grade
95001
1
92
95001
2
85
95001
3
88
95002
2
90
95002
3
80
95003
2
85
95004
1
58
95004
2
85
2.在SQLSERVER2005”新建查询”的编辑窗口中使用下列SQL语句插入数据:
Select*fromstudent(查看插入前的记录信息)
insertintostudent(sno,sname,ssex,sage,sdept)values('95001','李勇','男',20,'CS')
insertintostudent(sno,sname,ssex,sage,sdept)values('95002','刘晨','女',19,'IS')
insertintostudent(sno,sname,ssex,sage,sdept)values('95003','王敏','女',18,'MA')
insertintostudent(sno,sname,ssex,sage,sdept)values('95004','张立','男',19,'IS')
insertintostudent(sno,sname,ssex,sage,sdept)values('95005','刘云','女',18,'CS')
Select*fromstudent(查看插入后的记录信息)
Select*fromcourse(查看插入前的记录信息)
insertintocourse(cno,cname,credit,pcno)values('1','数据库',4,'5')
insertintocourse(cno,cname,credit,pcno)values('2','数学',6,null)
insertintocourse(cno,cname,credit,pcno)values('3','信息系统',3,'1')
insertintocourse(cno,cname,credit,pcno)values('4','操作系统',4,'6')
insertintocourse(cno,cname,credit,pcno)values('5','数据结构',4,'7')
insertintocourse(cno,cname,credit,pcno)values('6','数据处理',3,null)
insertintocourse(cno,cname,credit,pcno)values('7','PASCAL语言',4,'6')
Select*fromcourse(查看插入前的记录信息)
Select*fromsc(查看插入前的记录信息)
insertintosc(sno,cno,grade)values('95001','1',92)
insertintosc(sno,cno,grade)values('95001','2',85)
insertintosc(sno,cno,grade)values('95001','3',88)
insertintosc(sno,cno,grade)values('95002','2',90)
insertintosc(sno,cno,grade)values('95002','3',80)
insertintosc(sno,cno,grade)values('95003','2',85)
insertintosc(sno,cno,grade)values('95004','1',58)
insertintosc(sno,cno,grade)values('95004','2',85)
Select*fromsc(查看插入后的记录信息)
四.表数据的修改:
1.用可视化方法:
在SQLSERVER2005中用ManagementStudio—数据库—XSGL—表-表名—右键-打开表-返回所有行;
在表格中将相应的数据修改即可。
2.命令方法:
在SQLSERVER2005”新建查询”的编辑窗口中使用下列SQL语句修改数据。
1)将所有学生的年龄增加一岁:
Select*fromstudent(查看更新前的记录)
updatestudentsetsage=sage+1
Select*fromstudent(查看更新后的记录)
2)将4号课程的学分改为4:
Select*fromcourse(查看更新前的记录)
updatecoursesetcredit=4wherecno=4
Select*fromcourse(查看更新后的记录)
3)设置7号课程没有先行课:
Select*fromcourse(查看更新前的记录)
updatecoursesetpcno=nullwherecno=7
Select*fromcourse(查看更新后的记录)
4)将95001号学生的1号课程的成绩增加3分:
Select*fromsc(查看更新前的记录)
updatescsetgrade=grade+3wheresno=’95001’andcno=’1’
Select*fromsc(查看更新后的记录)
五.表数据的删除:
1.用可视化方法:
在SQLSERVER中ManagementStudio—数据库—XSGL—表-表名—右键-打开表-返回所有行;
单击左边的行标记,选定某一行,或单击后拖动选择相邻的多行,再右击鼠标选择弹出式菜单中的删除。
2.命令方法:
在SQLSERVER2005”新建查询”的编辑窗口中使用下列SQL语句删除数据。
1)删除学号为95005的学生的记录:
Select*fromstudent(查看删除前的记录)
deletefromstudentwheresno=’95005’
Select*fromstudent(查看删除后的记录)
2)删除所有的课程记录:
Select*fromcourse(查看删除前的记录)
deletefromcourse
Select*fromcourse(查看删除后的记录)
3)删除成绩为不及格(少于60分)的学生的选课记录:
Select*fromsc(查看删除前的记录)
deletefromscwheregrade<60
Select*fromsc(查看删除后的记录)
思考:
比较用可视化界面与命令方式在数据的插入、修改、删除方面的优缺点。
实验八*:
数据库备份和恢复实验
实验目的:
了解数据备份和恢复机制,掌握其方法。
实验内容:
1、用SQLSERVERManagementStudio中创建一个备份文件,并利用该备份文件对数据库执行备份。
2、用SQLSERVERManagementStudio中恢复数据库。
实验步骤:
1、用SQLSERVERManagementStudio创建一个XSGL数据库备份文件。
(1)如下图1所示,在对象资源管理器下依次展开文件夹展开左侧目录树数据库-任务—备份。
图1新建备份
(2)选择备份数据库—XSGL,备份到磁盘,选择添加:
如图2所示。
图2
(3)添加后弹出菜单,输入要备份的盘符路径和文件名,然后选择确定,如图3,图4所示。
图3
图4
(4)备份XSGL数据库成功界面,如图5所示。
图5
2、用SQLSERVERManagementStudio数据库备份文件恢复到一个新的数据库JKX中。
(1)新建一个新的数据库JKX,如图6所示。
(2)选择JKX数据库,点鼠标右键—JKX—任务—还原—数据库,如图7所示。
图7
(3)选择源设备—备份数据库文件名—源设备。
如图8所示。
(4)选择文件——添加。
如图9所示。
(5)打开D盘上的BACKUP2文件,如图10所示。
图10
(6)选择“选项”这一栏,将“覆盖现有数据库”打勾,如图11所示。
图11
(7)将原始文件名还原为的路径文件名改为jkx.mdf和jkx_log.ldf.如图12、图13所示。
图12
图13
(8)单击确定。
出现如图14所示的弹出框,表明数据库还原成功。
图14
图7-1
图7-2