实验一建立数据库及其对象汇总.docx
- 文档编号:4898620
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:24
- 大小:1.23MB
实验一建立数据库及其对象汇总.docx
《实验一建立数据库及其对象汇总.docx》由会员分享,可在线阅读,更多相关《实验一建立数据库及其对象汇总.docx(24页珍藏版)》请在冰豆网上搜索。
实验一建立数据库及其对象汇总
实验一建立数据库及其对象
一、实验目的
1、掌握用SSMS或Transact-SQL创建、查看、修改、删除数据库的方法;
2、掌握数据库的备份和恢复方法;
3、掌握数据库的分离和附加方法;
4、掌握用SSMS或Transact-SQL语句创建、修改、删除表及向其添加数据的方法。
二、实验要求
1、实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成实验内容的预习准备工作;
2、能认真独立完成实训内容;
3、实验后做好实验总结,根据实验情况完成总结报告。
三、实验内容
1、用SSMS在“对象资源管理器”中完成如下任务:
(1)建立一个学生课程数据库。
具体文件属性如下表:
参数
参数值
数据库名
Student
逻辑数据文件名
Student_dat
操作系统数据文件名
D:
\Student_dat.mdf
数据文件的初始大小
10MB
数据文件的最大大小
100MB
数据文件增长幅度
10%
日志逻辑文件名
Student_log
操作系统日志文件名
D:
\Student_log.ldf
日志文件初始大小
5MB
日志文件增长幅度
10
createdatabaseStudent
onprimary
(name=student_dat,
filename='D:
\Student.mdf',
size=10MB,
maxsize=100MB,
filegrowth=10%)
logon
(name=Student_log,
filename='D:
\Student_log.ldf',
size=5MB,
filegrowth=10MB)
(2)再修改学生课程数据库Student的主数据文件的大小,使其扩大两倍,然后查看扩大后的数据库属性。
AlterdatabaseStudent
modifyfile
(name=student_dat,
filename='D:
\Student.mdf',
size=20MB,
maxsize=100MB,
filegrowth=10%)
execsp_helpdbstudent
2、用SSMS,在数据库Student中:
(1)创建如下四个表,并设置相关的约束条件:
S
列名
说明
数据类型
约束
Sno
学号
整形
主键
Sname
姓名
字符(10)
非空,唯一
Ssex
性别
字符
(2)
取‘男’或‘女’
Sage
年龄
短整形
Sdept
院系
字符(20)
可取空,默认‘计算机系’
createtableS
(Snointconstraints_primprimarykey,
Snamechar(10)notnullunique,
Ssexchar
(2)check(Ssexin('男','女')),
Sagesmallint,
Sdeptchar(20)default'计算机系');
Course
列名
说明
数据类型
约束
Cno
课程号
字符(4)
主键
Cname
课程名
字符(10)
非空
Tno
教师号
整形
非空
createtableCourse
(Cnochar(4)primarykey,
Cnamechar(10)notnull,
Tnointnotnull)
SC
列名
说明
数据类型
约束
Sno
学号
整形
外键
Cno
课程号
字符(4)
外键
Grade
成绩
整数
取0~100
createtableSC
(Snointnotnull,
Cnochar(4)notnull,
Gradeintnull,
primarykey(Sno,Cno),
foreignkey(Sno)referencesS(Sno),
foreignkey(Cno)referencesCourse(Cno),
check(Gradebetween0and100)
);
Teacher
列名
说明
数据类型
约束
Tno
教师号
整形
主键
Tname
教师名
字符(10)
Sdept
院系
字符(20)
可取空,默认‘计算机系’
createtableTeacher
(Tnointprimarykey,
Tnamechar(10)notnull,
Sdaptchar(20)default'计算机系')
(2)用SSMS修改将刚才所创建表:
①在Course表中插入如下两列:
列名
说明
数据类型
约束
Cpno
先行课
字符(4)
Ccredit
学分
整数
非空
altertableCourse
addCpnochar(4),
Ccreditintnotnull
②将SC表中列Grade的类型改为smallint
altertableSC
dropCK__SC__Grade__060DEAE8;
altertableSC
altercolumnGradesmallint
③在S表中创建CHECK约束,约束名为Sagechk,要求实现年龄在15~45取值
altertableS
addconstraintSagechkcheck(Sagebetween15and45)
④在Course表中创建外键约束,约束名为Fk_Tno,要求实现Course表中的Tno必须参照Teacher表的Tno取值。
altertableCourse
addconstraintFk_Tnoforeignkey(Tno)referencesTeacher(Tno)
⑤删除Course表中Tno列
altertableCourse
dropconstraintFk_Tno
altertableCourse
dropcolumnTno
(3)删除将刚才所创建Teacher表
droptableTeacher
(4)向表插入以下数据
S
Sno
Sname
Ssex
Sage
Sdept
1001
王勇
男
20
电子系
1002
刘梅
女
19
计算机系
1003
王芳
女
18
网络系
1004
张兵
男
17
软件系
insertintoSvalues('1001','王勇','男','20','电子系')
insertintoSvalues('1002','刘梅','女','19','计算机系')
insertintoSvalues('1003','王芳','女','18','网络系')
insertintoSvalues('1004','张兵','男','17','软件系')
Course
Cno
Cname
Cpno
Ccredit
1
数据库
5
4
2
数学
NULL
2
3
信息系统
1
4
4
操作系统
6
3
5
数据结构
7
4
6
数据处理
NULL
2
7
C++程序设计语言
6
4
insertintoCoursevalues('1','数据库','5','4')
insertintoCoursevalues('2','数学','','2')
insertintoCoursevalues('3','信息系统','1','4')
insertintoCoursevalues('4','操作系统','6','3')
insertintoCoursevalues('5','数据结构','7','4')
insertintoCoursevalues('6','数据处理','','2')
insertintoCoursevalues('7','程序设计','6','4')
SC
Sno
Cno
Grade
1001
1
92
1001
2
85
1001
3
88
1002
2
90
1003
2
55
1004
2
70
insertintoSCvalues('1001','1','92')
insertintoSCvalues('1001','2','85')
insertintoSCvalues('1001','3','88')
insertintoSCvalues('1002','2','90')
insertintoSCvalues('1003','2','55')
insertintoSCvalues('1004','2','70')
3、用SSMS方法完成如下数据库的分离和附加:
(1)分离Student数据库
sp_detach_db'Student'
⑵附加Student数据库
sp_attach_db'Student','D:
\Student.mdf','D:
\Student_log.ldf'
4.用SSMS方法完成如下数据库的备份和恢复:
(选作实验)
(1)备份数据库
①创建备份设备,其名称为bk_Student0,保存文件为D:
\Student0.bak,并对Student数据库进行完全备份,备份到备份设备bk_Student0中。
sp_addumpdevice'disk','bk_Student0','D:
\Student0.bak'
backupdatabaseStudent
tobk_Student0
withinit
go
②在Student数据库中,创建一张表temp1(学号,课程号,成绩,学分)并对Student数据库进行第一次差异备份,备份到备份设备bk_Student1中
createtabletemp1
(Snoint,
Cnochar(4),
Gradesmallint,
Ccreditint
)
sp_addumpdevice'disk','bk_Student1','D:
\Student1.bak'
backupdatabaseStudent
tobk_Student1
withdifferential
go
③在Student数据库中,再创建一个用户表:
temp2(学号,课程号,成绩,学分),并对Student数据库进行第二次差异备份,备份到备份设备bk_Student2中。
createtabletemp2
(Snoint,
Cnochar(4),
Gradesmallint,
Ccreditint
)
sp_addumpdevice'disk','bk_Student2','D:
\Student2.bak'
backupdatabaseStudent
tobk_Student2
withdifferential
go
(2)删除Student数据库
dropdatabaseStudent
(3)恢复数据库
①从备份设备bk_Student0中恢复Student数据库,并查看表temp1和temp2是否存在?
usemaster
restoredatabaseStudent
frombk_Student0
表temp1和temp2都不存在
②再次删除数据库Student,然后将Student数据库恢复到第一次差异备份后的状态,并
查看表temp1和temp2是否存在?
dropdatabaseStudent
usemaster
restoredatabaseStudent
frombk_Student0
withfile=1,norecovery
go
restoredatabaseStudent
frombk_Student1
go
表temp1存在temp2不存在
③再次删除数据库Student,然后将Student数据库恢复到第二次差异备份后的状态,并查
看表temp1和temp2是否存在?
dropdatabaseStudent
usemaster
restoredatabaseStudent
frombk_Student0
withfile=1,norecovery
go
restoredatabaseStudent
frombk_Student1
withnorecovery
go
restoredatabaseStudent
frombk_Student2
go
表temp1和temp2都存在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验一 建立数据库及其对象汇总 实验 建立 数据库 及其 对象 汇总