一、实验目的 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 |
(2)再修改学生课程数据库Student的主数据文件的大小,使其扩大两倍,然后查看扩大后的数据库属性。 2、用SSMS,在数据库Student中: (1)创建如下四个表,并设置相关的约束条件:
列名 | 说明 | 数据类型 | 约束 | Sno | 学号 | 整形 | 主键 | Sname | 姓名 | 字符(10) | 非空,唯一 | Ssex | 性别 | 字符(2) | 取‘男’或‘女’ | Sage | 年龄 | 短整形 |
| Sdept | 院系 | 字符(20) | 可取空,默认 ‘计算机系’ |
列名 | 说明 | 数据类型 | 约束 | Cno | 课程号 | 字符(4) | 主键 | Cname | 课程名 | 字符(10) | 非空 | Tno | 教师号 | 整形 | 非空 |
列名 | 说明 | 数据类型 | 约束 | Sno | 学号 | 整形 | 外键 | Cno | 课程号 | 字符(4) | 外键 | Grade | 成绩 | 整数 | 取0~100 |
列名 | 说明 | 数据类型 | 约束 | Tno | 教师号 | 整形 | 主键 | Tname | 教师名 | 字符(10) |
| Sdept | 院系 | 字符(20) | 可取空,默认 ‘计算机系’ |
(2) 用SSMS修改将刚才所创建表: ①在Course表中插入如下两列: 列名 | 说明 | 数据类型 | 约束 | Cpno | 先行课 | 字符(4) |
| Ccredit | 学分 | 整数 | 非空 |
②将SC表中列Grade的类型改为smallint ③在S表中创建CHECK约束,约束名为Sagechk,要求实现年龄在15~45取值 ④在Course表中创建外键约束,约束名为Fk_Tno,要求实现Course表中的Tno必须参照Teacher表的Tno取值。 ⑤删除Course表中Tno列 (3)删除将刚才所创建Teacher表 (4)向表插入以下数据
Sno | Sname | Ssex | Sage | Sdept | 1001 | 王勇 | 男 | 20 | 电子系 | 1002 | 刘梅 | 女 | 19 | 计算机系 | 1003 | 王芳 | 女 | 18 | 网络系 | 1004 | 张兵 | 男 | 17 | 软件系 |
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 |
Sno | Cno | Grade | 1001 | 1 | 92 | 1001 | 2 | 85 | 1001 | 3 | 88 | 1002 | 2 | 90 | 1003 | 2 | 55 | 1004 | 2 | 70 |
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是否存在? 一、创建数据库: 二、更改数据库主文件默认大小:
三、创建表S:
四、创建表course:
五、创建表sc:
六、创建表teacher:
七、修改表course:
八、修改集合:
九、删除表:
十、数据插入效果图:
十一、分离数据库:
十二、附加数据库:
|