收藏 分销(赏)

2021年数据库实验一建立数据库及其对象.doc

上传人:二*** 文档编号:4515482 上传时间:2024-09-26 格式:DOC 页数:31 大小:2.89MB
下载 相关 举报
2021年数据库实验一建立数据库及其对象.doc_第1页
第1页 / 共31页
本文档共31页,全文阅读请下载到手机保存,查看更方便
资源描述
GDOU-B-11-112 广东海洋大学学生实验报告书(学生用表) 实验名称 实验1数据库及其对象创立与管理 课程名称 数据库原理及应用 课程号 16732201 学院(系) 信息学院 专业 班级 学生姓名 学号 实验地点 实验日期 实验一 数据库及其对象创立与管理 一、实验目 1、掌握用SSMS或Transact-SQL语句创立、查看、修改、删除数据库办法; 2、掌握数据库备份和恢复办法; 3、掌握数据库分离和附加办法; 4、掌握用SSMS或Transact-SQL语句创立、修改、删除表及向其添加数据办法。 二、实验规定 1、实验前做好上机实验准备,针对实验内容,认真复习与本次实验关于知识,完毕实验内容预习准备工作; 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,规定实现年龄在15~45取值 ④在Course表中创立外键约束,约束名为Fk_Tno,规定实现Course表中Tno必要参照Teacher表Tno取值。 ⑤删除Course表中Tno列 (3)删除将刚才所创立Teacher表 (4)向表插入如下数据 表S 表Course 表SC 3、用SSMS办法完毕如下数据库分离和附加: (1)分离Student数据库 ⑵附加Student数据库 4. 用SSMS办法完毕数据库备份和恢复 (1)备份数据库 ①创立备份设备 完全备份 ②创立一张表temp1并对Student数据库进行第一次差别备份 ③创立表temp2并对Student数据库进行第二次差别备份 (2)删除Student数据库 (3)恢复数据库 ①从备份设备bk_ Student0中恢复Student数据库,并查看表temp1和temp2与否存在? 两个表都不存在。 ② 再次删除数据库Student,然后将Student数据库恢复到第一次差别备份后状态,并 查看表temp1和temp2与否存在? 表temp1存在,表temp2不存在。 ③再次删除数据库Student,然后将Student数据库恢复到第二次差别备份后状态,并查 看表temp1和temp2与否存在? 两个表都存在。 5、用T-SQL语句完毕如下任务: (1)建立一种学生课程数据库。 CREATE DATABASE Student1 ON PRIMARY ( NAME=Student0_dat, FILENAME='D:\Student0_dat.mdf', SIZE=10MB, MAXSIZE=100MB, FILEGROWTH=10% ) LOG ON ( NAME=Student0_log, FILENAME='D:\Student0_log.ldf', SIZE=5MB, FILEGROWTH=10MB ) (2)用T-SQL语句为Student1数据库添加一种大小为10MB次数据文献。 ALTER DATABASE Student1 ADD FILE ( NAME=Student1_dat, FILENAME='D:\Student1_dat.mdf', SIZE=5MB, FILEGROWTH=10MB ) (3)用存储过程sp_helpdb [[@dbname=] 'name'] 、sp_helpfile [[@filename =] 'name'] 分别用于查看该数据库构造信息及相应文献信息与否对的。 6、用T-SQL语句,完毕下列表创立、修改、删除及数据插入 (1) 创立表S CREATE TABLE S ( Sno int primary key, Sname char(10) not null unique, Ssex char(2) check(Ssex in('男','女')), Sage smallint, Sdept char(20) default'计算机系' ) 创立表Course CREATE TABLE Course ( Cno char(4) primary key, Cname char(10) not null, Tno int not null ) 创立表SC CREATE TABLE SC ( Sno int not null, Cno char(4) not null, Grade int null constraint sc_grade check(Grade>=0 and Grade<=100), primary key(Sno,Cno), foreign key(Sno) references S(Sno), foreign key(Cno) references Course(Cno), ) 创立表Teacher CREATE TABLE Teacher ( Tno int primary key, Tname char(10), Sdept char(20) null default'计算机系' ) (2) ①在Course表中插入列Cpno、Ccredit alter table Course add Cpno char(4), Ccredit int not null ②将SC表中列Grade类型改为smallint alter table SC drop constraint sc_grade --第一步删除约束sc_grade alter table SC alter column Grade smallint null --第二步修改列Grade类型 alter table SC add constraint sc_g check(Grade>=0 and Grade<=100) --第三步增长约束sc_g ③在S表中创立CHECK约束,约束名为Sagechk,规定实现年龄在15~45取值 alter table S add constraint Sagechk check(Sage >= 15 and Sage <=45) ④在Course表中创立外键约束,约束名为Fk_Tno,规定实现Course表中Tno必要参照Teacher表Tno取值。 alter table Course add constraint Fk_Tno foreign key (Tno) references Teacher(Tno) ⑤删除Course表中Teacher列 alter table Course drop constraint Fk_Tno --先删除约束Fk_Tno alter table Course drop column Tno --再删除列Tno (3) 删除将刚才所创立Teacher表 drop table Teacher (4)向表插入数据 表S insert into S values (1001,'王勇','男',20,'电子系'); insert into S values (1002,'刘梅','女',19,'计算机系'); insert into S values (1003,'王芳','女',18,'网络系'); insert into S values (1004,'张兵','男',17,'软件系'); 最后成果: 表Course insert into Course values ('1','数据库','5',4); insert into Course values ('2','数学','',2); insert into Course values ('3','信息系统','1',4); insert into Course values ('4','操作系统','6',3); insert into Course values ('5','数据构造','7',4); insert into Course values ('6','数据解决','',2); insert into Course values ('7','C++程序设计语言','6',4); 最后插入成果: 表SC insert into SC values (1001,'1',92); insert into SC values (1001,'2',85); insert into SC values (1001,'3',88); insert into SC values (1002,'2',90); insert into SC values (1003,'2',55); insert into SC values (1004,'2',70); 最后成果: 7、用T-SQL完毕如下数据库分离和附加: (1)分离Student数据库 SP_detach_db 'Student' ⑵附加Student数据库 SP_attach_db 'Student','E:\数据库\实验一\Student_dat.mdf', 'E:\数据库\实验一\Student_log.ldf' 8. 用T-SQL完毕如下数据库备份和恢复 (1)备份数据库 ①创立备份设备并对Student数据库进行完全备份 sp_addumpdevice 'disk','bk_Student','E:\数据库\实验一\Student.bak' backup database Student to bk_Student with init ②创立表temp1并对Student数据库进行第一次差别备份 CREATE TABLE temp1 ( Sno int not null, Cno char(4), Grade int , credit int ) backup database Student to bk_Student with differential ③创立表temp2并对Student数据库进行第二次差别备份 CREATE TABLE temp2 ( Sno int not null, Cno char(4), Grade int , credit int ) backup database Student to bk_Student with differential (2)删除Student数据库 use Student1 drop database Student (3)恢复数据库 ①从备份设备bk_ Student中恢复Student数据库,并查看表temp1和temp2与否存在? RESTORE DATABASE Student FROM DISK='E:\数据库\实验一\Student.bak' 不存在表temp1和temp2 ②再次删除数据库Student,然后将Student数据库恢复到第一次差别备份后状态, 并查看表temp1和temp2与否存在? 删除数据库Student use Student1 drop database Student RESTORE DATABASE Student FROM bk_Student with file=1,norecovery RESTORE DATABASE Student FROM bk_Student with file=2 表temp1存在,表temp2不存在 ③再次删除数据库Student,然后将Student数据库恢复到第二次差别备份后状态,并 查看表temp1和temp2与否存在? 删除数据库Student use Student1 drop database Student RESTORE DATABASE Student FROM bk_Student with file=1,norecovery RESTORE DATABASE Student FROM bk_Student with file=3 两个表都存在 四、思考题 1.如何收缩数据库,在什么状况下需要收缩数据库? 收缩数据库: (1)ssms 在所要压缩数据库上单击右键à任务à收缩à数据库 或在所要压缩数据库上单击右键à属性à选项,自动收缩,选取true (2)Transact-SQL DBCC SHRINKDATABASE 命令语法如下: DBCC SHRINKDATABASE (database_name [,target_percent] [,{NOTRUNCATE | TRUNCATEONLY}] ) 数据库在使用一段时间后,时常会浮现因数据删除而导致数据库中空闲空间太多状况,这时就需要减少分派给数据库文献和事务日记文献磁盘空间,以免挥霍磁盘空间。当数据库中没有数据时,可以修改数据库文献属性直接变化其占用空间,但当数据库中有数据时,这样做会破坏数据库中数据,因而需要使用压缩方式来缩减数据库空间。 2.什么是备份设备,如何创立、删除备份设备? 创立备份时,必要选取存储备份数据备份设备,即存储备份存储介质。备份设备可以是磁盘、磁带、命名管道。 创立备份设备: 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_dropdevice[@logicalname=]’device’ [,[@delfile=]’delfile’] 成绩 指引教师 日期 注:请用A4纸书写,不够另附纸。 第   页,共   页
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 考试专区 > 建造师考试

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服