首页 > 代码库 > 数据库实验T-SQL语言创建实例图
数据库实验T-SQL语言创建实例图
实验: 用T-SQL语句建立数据库及其对象
一、实验目的
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:
八、修改集合:
九、删除表:
十、数据插入效果图:
十一、分离数据库:
十二、附加数据库:
数据库实验T-SQL语言创建实例图