1、GDOU-B-11-112广东海洋大学学生实验报告书(学生用表)实验名称实验1数据库及其对象创立与管理课程名称数据库原理及应用课程号16732201学院(系)信息学院专业班级学生姓名学号实验地点实验日期实验一 数据库及其对象创立与管理一、实验目1、掌握用SSMS或Transact-SQL语句创立、查看、修改、删除数据库办法;2、掌握数据库备份和恢复办法;3、掌握数据库分离和附加办法; 4、掌握用SSMS或Transact-SQL语句创立、修改、删除表及向其添加数据办法。二、实验规定1、实验前做好上机实验准备,针对实验内容,认真复习与本次实验关于知识,完毕实验内容预习准备工作;2、能认真独立完毕
2、实训内容;3、实验后做好实验总结,依照实验状况完毕总结报告。三、实验内容1. 用SSMS在 “对象资源管理器”中完毕如下任务:(1)建立一种学生课程数据库(2)修改学生课程数据库Student主数据文献大小查看扩大后数据库属性2. 用SSMS,在数据库Student中:(1)创立表S创立表Course创立表SC创立表Teacher(2)在Course表中插入列Cpno 、Ccredit将SC表中列Grade类型改为smallint在S表中创立CHECK约束,约束名为Sagechk,规定实现年龄在1545取值在Course表中创立外键约束,约束名为Fk_Tno,规定实现Course表中Tno必要
3、参照Teacher表Tno取值。删除Course表中Tno列(3)删除将刚才所创立Teacher表(4)向表插入如下数据表S表Course表SC3、用SSMS办法完毕如下数据库分离和附加:(1)分离Student数据库附加Student数据库 4. 用SSMS办法完毕数据库备份和恢复(1)备份数据库创立备份设备完全备份创立一张表temp1并对Student数据库进行第一次差别备份 创立表temp2并对Student数据库进行第二次差别备份 (2)删除Student数据库(3)恢复数据库从备份设备bk_ Student0中恢复Student数据库,并查看表temp1和temp2与否存在? 两个表
4、都不存在。 再次删除数据库Student,然后将Student数据库恢复到第一次差别备份后状态,并查看表temp1和temp2与否存在? 表temp1存在,表temp2不存在。再次删除数据库Student,然后将Student数据库恢复到第二次差别备份后状态,并查看表temp1和temp2与否存在? 两个表都存在。5、用T-SQL语句完毕如下任务:(1)建立一种学生课程数据库。CREATE DATABASE Student1ON PRIMARY(NAME=Student0_dat,FILENAME=D:Student0_dat.mdf,SIZE=10MB,MAXSIZE=100MB,FILEG
5、ROWTH=10%)LOG ON(NAME=Student0_log,FILENAME=D:Student0_log.ldf,SIZE=5MB,FILEGROWTH=10MB)(2)用T-SQL语句为Student1数据库添加一种大小为10MB次数据文献。ALTER DATABASE Student1ADD FILE(NAME=Student1_dat,FILENAME=D:Student1_dat.mdf,SIZE=5MB,FILEGROWTH=10MB)(3)用存储过程sp_helpdb dbname= name 、sp_helpfile filename = name 分别用于查看该数据
6、库构造信息及相应文献信息与否对的。6、用T-SQL语句,完毕下列表创立、修改、删除及数据插入(1)创立表SCREATE TABLE S(Sno int primary key,Sname char(10) not null unique,Ssex char(2) check(Ssex in(男,女),Sage smallint,Sdept char(20) default计算机系)创立表CourseCREATE TABLE Course(Cno char(4) primary key,Cname char(10) not null,Tno int not null)创立表SCCREATE TA
7、BLE SC(Sno int not null,Cno char(4) not null,Grade int null constraint sc_grade check(Grade=0 and Grade=0 and Grade= 15 and Sage =45)在Course表中创立外键约束,约束名为Fk_Tno,规定实现Course表中Tno必要参照Teacher表Tno取值。alter table Courseadd constraint Fk_Tno foreign key (Tno) references Teacher(Tno)删除Course表中Teacher列alter ta
8、ble Coursedrop constraint Fk_Tno -先删除约束Fk_Tnoalter table Coursedrop column Tno -再删除列Tno(3) 删除将刚才所创立Teacher表drop table Teacher(4)向表插入数据表Sinsertinto Svalues (1001,王勇,男,20,电子系);insertinto Svalues (1002,刘梅,女,19,计算机系);insertinto Svalues (1003,王芳,女,18,网络系);insertinto Svalues (1004,张兵,男,17,软件系);最后成果:表Cours
9、einsertinto Coursevalues (1,数据库,5,4);insertinto Coursevalues (2,数学,2);insertinto Coursevalues (3,信息系统,1,4);insertinto Coursevalues (4,操作系统,6,3);insertinto Coursevalues (5,数据构造,7,4);insertinto Coursevalues (6,数据解决,2);insertinto Coursevalues (7,C+程序设计语言,6,4);最后插入成果:表SCinsertinto SCvalues (1001,1,92);i
10、nsertinto SCvalues (1001,2,85);insertinto SCvalues (1001,3,88);insertinto SCvalues (1002,2,90);insertinto SCvalues (1003,2,55);insertinto SCvalues (1004,2,70);最后成果:7、用T-SQL完毕如下数据库分离和附加:(1)分离Student数据库SP_detach_db Student附加Student数据库SP_attach_db Student,E:数据库实验一Student_dat.mdf, E:数据库实验一Student_log.ld
11、f8. 用T-SQL完毕如下数据库备份和恢复(1)备份数据库创立备份设备并对Student数据库进行完全备份sp_addumpdevice disk,bk_Student,E:数据库实验一Student.bakbackup database Studentto bk_Studentwith init创立表temp1并对Student数据库进行第一次差别备份CREATE TABLE temp1(Sno int not null,Cno char(4),Grade int ,credit int)backup database Studentto bk_Studentwith differenti
12、al创立表temp2并对Student数据库进行第二次差别备份CREATE TABLE temp2(Sno int not null,Cno char(4),Grade int ,credit int)backup database Studentto bk_Studentwith differential(2)删除Student数据库use Student1drop database Student(3)恢复数据库从备份设备bk_ Student中恢复Student数据库,并查看表temp1和temp2与否存在?RESTORE DATABASE StudentFROM DISK=E:数据库实
13、验一Student.bak不存在表temp1和temp2再次删除数据库Student,然后将Student数据库恢复到第一次差别备份后状态,并查看表temp1和temp2与否存在?删除数据库Studentuse Student1drop database StudentRESTORE DATABASE StudentFROM bk_Studentwith file=1,norecoveryRESTORE DATABASE StudentFROM bk_Studentwith file=2表temp1存在,表temp2不存在再次删除数据库Student,然后将Student数据库恢复到第二次差别
14、备份后状态,并查看表temp1和temp2与否存在?删除数据库Studentuse Student1drop database StudentRESTORE DATABASE StudentFROM bk_Studentwith file=1,norecoveryRESTORE DATABASE StudentFROM bk_Studentwith file=3两个表都存在四、思考题1如何收缩数据库,在什么状况下需要收缩数据库?收缩数据库:(1)ssms 在所要压缩数据库上单击右键任务收缩数据库或在所要压缩数据库上单击右键属性选项,自动收缩,选取true(2)Transact-SQLDBCC
15、SHRINKDATABASE 命令语法如下:DBCC SHRINKDATABASE (database_name ,target_percent,NOTRUNCATE | TRUNCATEONLY )数据库在使用一段时间后,时常会浮现因数据删除而导致数据库中空闲空间太多状况,这时就需要减少分派给数据库文献和事务日记文献磁盘空间,以免挥霍磁盘空间。当数据库中没有数据时,可以修改数据库文献属性直接变化其占用空间,但当数据库中有数据时,这样做会破坏数据库中数据,因而需要使用压缩方式来缩减数据库空间。2什么是备份设备,如何创立、删除备份设备?创立备份时,必要选取存储备份数据备份设备,即存储备份存储介质
16、。备份设备可以是磁盘、磁带、命名管道。创立备份设备:Ssms 启动SQL server management studio,在“对象资源管理器”窗口里展开“服务器对象”树形目录,右击“备份设备”T-SQL sp_addumpdevice devtype = device_type,logicalname =logical_name,physicalname = physical_name删除备份设备Ssms 启动SQL server management studio,在“对象资源管理器”窗口里展开“服务器对象”树形目录,再展开“备份设备”,右击将要删除备份设备名。T-SQL sp_dropdevicelogicalname=device,delfile=delfile成绩指引教师日期注:请用A4纸书写,不够另附纸。第页,共页