实验一建立数据库及其对象汇总Word下载.docx
《实验一建立数据库及其对象汇总Word下载.docx》由会员分享,可在线阅读,更多相关《实验一建立数据库及其对象汇总Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
10%
日志逻辑文件名
Student_log
操作系统日志文件名
\Student_log.ldf
日志文件初始大小
5MB
日志文件增长幅度
10
createdatabaseStudent
onprimary
(name=student_dat,
filename='
\Student.mdf'
size=10MB,
maxsize=100MB,
filegrowth=10%)
logon
(name=Student_log,
\Student_log.ldf'
size=5MB,
filegrowth=10MB)
(2)再修改学生课程数据库Student的主数据文件的大小,使其扩大两倍,然后查看扩大后的数据库属性。
AlterdatabaseStudent
modifyfile
(name=student_dat,
size=20MB,
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
课程名
非空
Tno
教师号
createtableCourse
(Cnochar(4)primarykey,
Cnamechar(10)notnull,
Tnointnotnull)
SC
外键
Grade
成绩
整数
取0~100
createtableSC
(Snointnotnull,
Cnochar(4)notnull,
Gradeintnull,
primarykey(Sno,Cno),
foreignkey(Sno)referencesS(Sno),
foreignkey(Cno)referencesCourse(Cno),
check(Gradebetween0and100)
Teacher
Tname
教师名
createtableTeacher
(Tnointprimarykey,
Tnamechar(10)notnull,
Sdaptchar(20)default'
)
(2)用SSMS修改将刚才所创建表:
①在Course表中插入如下两列:
Cpno
先行课
Ccredit
学分
altertableCourse
addCpnochar(4),
Ccreditintnotnull
②将SC表中列Grade的类型改为smallint
altertableSC
dropCK__SC__Grade__060DEAE8;
altercolumnGradesmallint
③在S表中创建CHECK约束,约束名为Sagechk,要求实现年龄在15~45取值
altertableS
addconstraintSagechkcheck(Sagebetween15and45)
④在Course表中创建外键约束,约束名为Fk_Tno,要求实现Course表中的Tno必须参照Teacher表的Tno取值。
altertableCourse
addconstraintFk_Tnoforeignkey(Tno)referencesTeacher(Tno)
⑤删除Course表中Tno列
dropconstraintFk_Tno
dropcolumnTno
(3)删除将刚才所创建Teacher表
droptableTeacher
(4)向表插入以下数据
1001
王勇
男
20
电子系
1002
刘梅
女
19
计算机系
1003
王芳
18
网络系
1004
张兵
17
软件系
insertintoSvalues('
1001'
'
王勇'
20'
电子系'
1002'
刘梅'
19'
1003'
王芳'
18'
网络系'
1004'
张兵'
17'
软件系'
1
数据库
5
4
2
数学
NULL
3
信息系统
操作系统
6
数据结构
7
数据处理
C++程序设计语言
insertintoCoursevalues('
1'
数据库'
5'
4'
2'
数学'
'
3'
信息系统'
操作系统'
6'
数据结构'
7'
数据处理'
程序设计'
92
85
88
90
55
70
insertintoSCvalues('
92'
85'
88'
90'
55'
70'
3、用SSMS方法完成如下数据库的分离和附加:
(1)分离Student数据库
sp_detach_db'
Student'
⑵附加Student数据库
sp_attach_db'
4.用SSMS方法完成如下数据库的备份和恢复:
(选作实验)
(1)备份数据库
①创建备份设备,其名称为bk_Student0,保存文件为D:
\Student0.bak,并对Student数据库进行完全备份,备份到备份设备bk_Student0中。
sp_addumpdevice'
disk'
bk_Student0'
\Student0.bak'
backupdatabaseStudent
tobk_Student0
withinit
go
②在Student数据库中,创建一张表temp1(学号,课程号,成绩,学分)并对Student数据库进行第一次差异备份,备份到备份设备bk_Student1中
createtabletemp1
(Snoint,
Cnochar(4),
Gradesmallint,
Ccreditint
bk_Student1'
\Student1.bak'
tobk_Student1
withdifferential
③在Student数据库中,再创建一个用户表:
temp2(学号,课程号,成绩,学分),并对Student数据库进行第二次差异备份,备份到备份设备bk_Student2中。
createtabletemp2
bk_Student2'
\Student2.bak'
backupdatabaseStudent
tobk_Student2
(2)删除Student数据库
dropdatabaseStudent
(3)恢复数据库
①从备份设备bk_Student0中恢复Student数据库,并查看表temp1和temp2是否存在?
usemaster
restoredatabaseStudent
frombk_Student0
表temp1和temp2都不存在
②再次删除数据库Student,然后将Student数据库恢复到第一次差异备份后的状态,并
查看表temp1和temp2是否存在?
restoredatabaseStudent
withfile=1,norecovery
frombk_Student1
表temp1存在temp2不存在
③再次删除数据库Student,然后将Student数据库恢复到第二次差异备份后的状态,并查
看表temp1和temp2是否存在?
frombk_Student1
withnorecovery
frombk_Student2
表temp1和temp2都存在