热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

数据库实验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)创建如下四个表,并设置相关的约束条件:

S

 

 

 


列名

说明

数据类型

约束

Sno

学号

整形

主键

Sname

姓名

字符(10)

非空,唯一

Ssex

性别

字符(2)

取‘男’或‘女’

Sage

年龄

短整形

 

Sdept

院系

字符(20)

可取空,默认 ‘计算机系’

Course

 

 

列名

说明

数据类型

约束

Cno

课程号

字符(4)

主键

Cname

课程名

字符(10)

非空

Tno

教师号

整形

非空

SC

 

列名

说明

数据类型

约束

Sno

学号

整形

外键

Cno

课程号

字符(4)

外键

Grade

成绩

整数

取0~100

Teacher

 

列名

说明

数据类型

约束

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)向表插入以下数据

S

 

 

 


Sno

Sname

Ssex

Sage

Sdept

1001

王勇

20

电子系

1002

刘梅

19

计算机系

1003

王芳

18

网络系

1004

张兵

17

软件系

Course

 

 

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

SC

 

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:



八、修改集合:



九、删除表:



十、数据插入效果图:


十一、分离数据库:



十二、附加数据库:



推荐阅读
  • 本文探讨了在Oracle数据库中,动态SQL语句的执行及其对事务管理的影响,特别是关于回滚操作的有效性。重点讨论了一个具体场景:将预警短信从当前表迁移到历史表时遇到的字段长度不匹配问题及相应的异常处理。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 使用Pandas高效读取SQL脚本中的数据
    本文详细介绍了如何利用Pandas直接读取和解析SQL脚本,提供了一种高效的数据处理方法。该方法适用于各种数据库导出的SQL脚本,并且能够显著提升数据导入的速度和效率。 ... [详细]
  • 本文介绍了如何在 Oracle 数据库中结合使用 UPDATE 和 SELECT 语句,以实现复杂的数据更新操作。首先准备测试环境和数据表,然后通过嵌套查询的方式从其他表中获取需要更新的值,最后执行更新操作并验证结果。 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
  • MySQL DateTime 类型数据处理及.0 尾数去除方法
    本文介绍如何在 MySQL 中处理 DateTime 类型的数据,并解决获取数据时出现的.0尾数问题。同时,探讨了不同场景下的解决方案,确保数据格式的一致性和准确性。 ... [详细]
  • 本文探讨了在Windows Server 2008环境下配置Tomcat使用80端口时遇到的问题,包括端口被占用、多项目访问失败等,并提供详细的解决方法和配置建议。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文介绍如何在PostgreSQL数据库中正确插入和处理JSON数据类型,确保数据完整性和避免常见错误。 ... [详细]
  • 本文探讨了Microsoft OLE DB Provider for SQL Server错误80004005的成因与解决方法,详细分析了SQL Server连接失败的原因,并提供了多个有效的解决方案。 ... [详细]
  • 深入理解T-SQL中的NULL与三值逻辑
    本文探讨了SQL Server中的三值逻辑,解释了谓词计算结果为TRUE、FALSE和UNKNOWN的规则。通过具体示例,详细说明了如何正确处理NULL值,并探讨了在不同约束条件下的行为。 ... [详细]
  • 本文介绍如何在Qt应用程序中让QLineEdit控件获得输入焦点,通过简单的代码示例和解释,帮助开发者更好地理解和使用这一功能。 ... [详细]
  • 数据结构入门:栈的基本概念与操作
    本文详细介绍了栈这一重要的数据结构,包括其基本概念、顺序存储结构、栈的基本操作(如入栈、出栈、清空栈和销毁栈),以及如何利用栈实现二进制到十进制的转换。通过具体代码示例,帮助读者更好地理解和应用栈的相关知识。 ... [详细]
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
  • 本文介绍如何在SQL Server中对Name列进行排序,使特定值(如Default Deliverable Submission Notification)显示在结果集的顶部。 ... [详细]
author-avatar
少女24梦_276
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有