实验一 建立数据库及其对象及答案_第1页
实验一 建立数据库及其对象及答案_第2页
实验一 建立数据库及其对象及答案_第3页
实验一 建立数据库及其对象及答案_第4页
实验一 建立数据库及其对象及答案_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5/5实验一建立数据库及其对象及答案

实验一建立数据库及其对象

一、实验目的

1、掌握用SSMS或Transact-SQL创建、查看、修改、删除数据库的方法;

2、掌握数据库的备份和恢复方法;

3、掌握数据库的分离和附加方法;

4、掌握用SSMS或Transact-SQL语句创建、修改、删除表及向其添加数据的方法。

二、实验要求

1、实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成

实验内容的预习准备工作;

2、能认真独立完成实训内容;

3、实验后做好实验总结,根据实验情况完成总结报告。

三、实验内容

1、用SSMS在“对象资源管理器”中完成如下任务:

(1

(2)再修改学生课程数据库Student的主数据文件的大小,使其扩大两倍,然后查看扩大后的数据库属性。

2、用SSMS,在数据库Student中:

(1)创建如下四个表,并设置相关的约束条件:

(2)用SSMS修改将刚才所创建表:①在Course表中插入如下两列:

②将SC表中列Grade的类型改为smallint

③在S表中创建CHECK约束,约束名为Sagechk,要求实现年龄在15~45取值

④在Course表中创建外键约束,约束名为Fk_Tno,要求实现Course表中的Tno必须参照Teacher表的Tno取值。⑤删除Course表中Tno列(3)删除将刚才所创建Teacher表(4)向表插入以下数据S

3、用SSMS方法完成如下数据库的分离和附加:

(1)分离Student数据库

⑵附加Student数据库

4.用SSMS方法完成如下数据库的备份和恢复:(选作实验)

(1)备份数据库

①创建备份设备,其名称为bk_Student0,保存文件为D:\Student0.bak,并对Student数据库进行完全备份,备份到备份设备bk_Student0中。

②在Student数据库中,创建一张表temp1(学号,课程号,成绩,学分)并对Student数据库进行第一次差异备份,备份到备份设备bk_Student1中

③在Student数据库中,再创建一个用户表:temp2(学号,课程号,成绩,学分),并对Student数据库进行第二次差异备份,备份到备份设备bk_Student2中。

(2)删除Student数据库

(3)恢复数据库

①从备份设备bk_Student0中恢复Student数据库,并查看表temp1和temp2是否存在?

②再次删除数据库Student,然后将Student数据库恢复到第一次差异备份后的状态,并查看表temp1和temp2是否存在?

③再次删除数据库Student,然后将Student数据库恢复到第二次差异备份后的状态,并查看表temp1和temp2是否存在?

/*createdatabaseStudent//创建Student数据库,并且表明类型名称等。

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)*//*12*/

/*AlterdatabaseStudent

modifyfile

(name=student_dat,

filename='D:\Student.mdf',

size=20MB,

maxsize=100MB,

filegrowth=10%)*//*19*/

/*createtableS

(Snointconstraints_primprimarykey,

Snamechar(10)notnullunique,

Ssexchar(2)check(Ssexin('男','女')),//性别只能取男或女

Sagesmallint,

Sdeptchar(20)default'计算机系');*//*25*///默认值是“计算机系”/*createtableCourse//创建Course表

(Cnochar(4)primarykey,

Cnamechar(10)notnull,

Tnointnotnull)*//*29*/

/*createtableSC

(Snointnotnull,

Cnochar(4)notnull,

Gradeintnull,

primarykey(Sno,Cno),

foreignkey(Sno)referencesS(Sno),

foreignkey(Cno)referencesCourse(Cno),

check(Gradebetween0and100)

);*//*38*/

/*createtableTeacher

(Tnointprimarykey,

Tnamechar(10)notnull,

Sdaptchar(20)default'计算机系')*//*42*/

/*altertableCourse//在Course里面增加列addCpnochar(4),

Ccreditintnotnull*//*45*/

/*altertableSC//更改数据类型altercolumnGradesmallint*//*47*/

/*altertableSC//删除外键约束

dropCK__SC__Grade__0DAF0CB0;*//*49*/

/*altertableSC

altercolumnGradesmallint*//*51*/

/*altertableS

addconstraintSagechkcheck(Sagebetween15and45)*//*53*/

//为Sage设置取值范围,并且为约束条件取名

/*altertableCourse

addconstraintFk_Tnoforeignkey(Tno)referencesTeacher(Tno)*//*55*//*sp_rename'Course.teacher','Tno'*//*由于第一次做的时候我前面失误,

把Tno错打成Teacher了,所以就查下怎么更改,其中Course是原表名,teacher是原列名,Tno是更改后的名字*/

/*altertableCourse*///为Tno设置外键约束

/*dropcolumnTno*/

/*dropPK__Teacher__C450026D108B795B*/

/*dropconstraintFk_Tno*//*62*/

/*altertableTeacher//删除Teacher表

dropcolumnTno*/

/*dropPK__Teacher__C450026D108B795B*//*65*/

/*droptableTeacher*///写入数据

/*insertintoSvalues('1001','王勇','男','20','电子系')*/

/*insertintoSvalues('1002','刘梅','女','19','计算机系')

insertintoSvalues('1003','王芳','女','18','网络系')

insertintoSvalues('1004','张兵','男','17','软件系')*/

/*insertintoSCvalues('1001','1','92')

insertintoSCvalues('1001','2','85')

insertintoSCvalues('1001','3','88')

insertintoSCvalues('1002','2','90')

insertintoSCvalues('1003','2','55')

insertintoSCvalues('1004','2','70')*//*76*/

/*altertableSC

dropFK__SC__Cno__0CBAE877*//*78*/

/*sp_detach_db'Student'*///分离数据库

/*sp_attach_db'Student','D:\Student.mdf','D:\Student_log.ldf'*//*80*///附加数据库

/*sp_addumpdevice'disk','bk_Student0','D:\Student0.bak'*/

//创建备份设备

/*backupdatabaseStudent//第一次完全备份

tobk_Student0

withinit

go*/

/*createtabletemp1//创建新表temp1

(Snoint,

Cnochar(4),

Gradesmallint,

Ccreditint

)*/

/*sp_addumpdevice'disk','bk_Student1','D:\Student1.bak'*//*创建备份设备*/

/*backupdatabaseStudent//差异备份

tobk_Student1

withdifferential

go*/

/*createtabletemp2

(Snoint,

Cnochar(4),

Gradesmallint,

Ccreditint

)*/

/*sp_addumpdevice'disk','bk_Student2','D:\Student2.bak'*/

/*backupdatabaseStudent

tobk_Student2

withdifferential

go*/

/*dropdatabaseStudent*///删除数据库

/*usemaster//第一次完全恢复

restoredatabaseStudent

frombk_Student0*/

/*dropdatabaseStudent*/

/*usemaster//第二次差异恢复

restoredatabaseStudent

frombk_Student0

withfile=1,norecovery

go

restoredatabaseStudent

frombk_Student1

go*/

/*dropdatabaseS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论