【SQL Server】华中农业大学空间数据库实验报告 实验一 数据库

实验目的

  1. 熟悉了解掌握SQL Server软件的基本操作与使用方法,认识界面,了解其两个基本操作系统文件,并能熟练区分与应用交互式与T-SQL式两种方法在SQL Server中如何进行操作;
  2. 学习有关数据库的基本操作,包括:创建、分离、文件备份、附加、删除数据库等等的方法,并掌握查看调整数据库相关参数与属性的方法,作为一切实验的基础与开始,实验要求重点掌握如何根据特定的要求创建数据库,并在后续过程中得以修改其基本属性;
  3. 通过实验课操作,进一步深入理解T-SQL方法建立数据库的编写代码的原理,主文件、文件组、日志间的关系,并可以在后续学习过程中自行编写代码创建数据库。

实验内容

  1. 创建数据库:交互式创建数据库、T-SQL创建数据库;
  2. 分离数据库:交互式分离数据库、利用系统存储过程分离数据库;
  3. 数据库文件备份:分离数据库、停止服务复制其物理文件;
  4. 附加数据库:交互式附加数据库、利用系统存储过程附加数据库;
  5. 删除数据库:交互式删除数据库、T-SQL删除数据库。

实验步骤

1.创建数据库

在首先第一步打开SQL SEVER软件时,我们需要首先选择服务器,若是在实验课机房电脑中显示的服务器为虚拟服务器,目录的数据库引擎处将不会有绿色图标,由此在新建查询前,我们需要首先确认服务器状况。

(1)交互式创建数据库

在SQL Sever软件中,交互式方法对于较为熟悉软件的使用者来说是一种较为简单实用的方法,但对于我们第一次接触SQL Server的新手来说这种方法同样有着等等的弊端,因此在本次实验中,我对交互式方法仅做简单的了解,重点掌握T-SQL方法。

1)右键数据库,点击新建数据库打开参数表,即可根据要求设置数据库名称、路径、初始大小等等参数;

2)如果在后续想修改数据库的相关属性,可以右键我们新创建的数据,点击属性,即可再次打开上述参数表。

(2)利用T-SQL创建数据库

1)在工具栏处点击【新建查询】,即可打开编写代码的界面;

2)根据SQL语言的相关规定,输入代码,尝试创建一个命名为FJQ,包含一个主文件一个文件组的数据库,代码如下,点击执行,可得"命令已成功完成":

3)成功执行完成后,右键服务器的数据库,再点击刷新,即可发现我们创建的新的名为FJQ的数据库已经被成功添加至服务器中,至此可说明数据库创建成功。

2.分离数据库

(1)交互式分离数据库

1)右键想要分离的数据库,选择 任务---> 分离,即可达到分离数据库的效果。

(2)系统存储过程分离数据库

1)在工具栏处点击【新建查询】;

2)根据相关要求输入以下代码并执行,成功后刷新数据库,即可发现数据库已被分离了。

3.数据库文件备份

(1)分离数据库

根据上述实验的步骤首先分离数据库,即可在文件的存储路径的位置复制以下两个文件至其它处进行备份(主要为后缀为.idf与.mdf的文件):

(2)停止服务再复制其物理文件

但在利用以上方法分离数据库时,有时会提示我们数据库正在使用中,因此无法分离数据库,因此需要我们首先停止数据库服务,在程序中打开SQL Server的配置管理器;

在SQL Server服务中停止服务,即可复制转移数据库的物理文件。

4.附加数据库

附加数据库是基于分离数据库操作提出的用以将已有数据库添加至指定服务器上的操作,同样分为交互式与利用代码的两种方法:

(1)交互式附加数据库

右击数据库点击附加,在打开的参数框中选择添加我们想要附加的数据库,再次刷新即可显示数据库已被附加。

(2)利用系统存储过程附加数据库

新建查询,根据相关要求输入以下代码并执行,第一行为数据库名称,第二行为数据库.mdf文件的路径,成功后刷新数据库即可:

5.删除数据库

由于删除数据库的操作指令过于简单粗暴,一旦删除数据库后无法进行还原,且现阶段对删除数据库的应用较少,因此本次实验中仅简单了解此步骤的方法。

(1)交互式删除数据库

(2)T-SQL删除数据库

新建查询并输入以下代码,执行后刷新数据库即可完成删除操作:

课后习题

1.创建数据库mybase,要求:(1)数据文件存储的文件夹是:D:\mytestbase;(2)数据存放在两个文件组中:group1,group2:

2.修改数据库mybase属性,要求:(1)文件最大大小:100MB(2)文件增长比例:20%:

右击数据库选择属性--->文件,打开更改自动增长设置,即可选择修改数据库的属性。

3.将数据库mybase复制到移动硬盘:

首先根据规定语句分离数据库,即可移动数据库的两个物理文件与文件组文件至移动硬盘处。

4.删除数据库mybase:

右击数据库点击删除,即可完成删除数据库操作。

总结

1.实验中的常见错误:

1.无法分离数据库

数据库无法分离的根本原因是有用户进行连接操作,如果是++交互式分离数据库++的方法,分离时需要我们勾选【删除连接】;

如果是在++命令行模式++,我们可以利用kill语句直接中止进程,也可以采用保存关闭SQL Server软件,再次打开再执行kill语句的方法,同样可以达到分离数据库的目的。

2.交互式方法建立数据库出错

在主菜单界面选择【工具】---> 【选项】---> 【设计器】打开参数表,取消勾选阻止保存,交互式的建立才能成功。

3.附加数据库操作时的代码错误

提示错误为必须声明标量变量"@",其根本原因是在附加数据库时,++符号"@"后面不能存在空格++,这也体现了SQL Server软件与python等其它编码软件的不同,空格是具有符号意义的。

2.交互式的优点与弊端:

  1. 优点:交互式方法总的来说是为了++简便操作++ 提出的方法,在具体实验中我们可以很清楚的感受到,无论是分离、修改还是删除数据库,比起还需要再命令行中编写代码,交互式方法++只需要找到对应的选项与按钮就可以很迅速的完成相关的操作++;
  2. 弊端:对于初学者来说,交互式方法就并没有想象中的那么简便,因为++命令行式方法会直截了当的告诉我们报错的原因与位置++ ,方便初学者进行错误的排查,而交互式方法就很难做到这一点;除此之外,因为每一次操作得到的结果都会被保存在文件夹中,交互式方法的误操作会导致我们的文件夹中出现++大量的重复数据++,而命令行式的方法会提示我们数据库中已存在重复的对象。

3.对数据库结构的深入认识:

(1)SQL Server 数据库中主要分为三种类型的数据文件:

++主要数据文件++(扩展名.mdf):包含数据库的启动信息,用户数据和对象可存储在此文件中,也可以存储在次要数据文件中,每个数据库仅有一个主要数据文件;

++次要数据文件++(扩展名.ndf):次要数据文件是可选的,由用户定义并存储用户数据。通过将每个文件放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上;

++事务日志++(扩展名.ldf):事务日志文件保存用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件。

(2)数据库的数据文件的关系:一个数据库只能有一个主要数据文件与一个事务日志,可以有多个次要数据文件,SQL Server的每个数据库都是以这两个文件存放的,一个后缀名为mdf,是数据文件,另一个后缀名为ldf,为日志文件。++因此只需要定期复制这两个文件,就可以达到备份的效果。++

(3)文件组的相关定义与功能:文件组是数据库各类文件的组合,其同样分为主要文件组与次要文件组,主要文件组只能有一个,包含++主数据文件和未放入其他文件组的任何辅助文件++。如果在数据库中创建对象时没有指定对象所属的文件组,对象将被分配给默认文件组(即PRIMARY 文件组),我们必须使用 ALTER DATABASE 语句进行文件组的更改。

相关推荐
0xDevNull4 小时前
MySQL数据冷热分离详解
后端·mysql
科技小花4 小时前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸4 小时前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain4 小时前
linux个人心得22 (mysql)
数据库·mysql
阿里小阿希5 小时前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神5 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
做个文艺程序员5 小时前
MySQL安全加固十大硬核操作
数据库·mysql·安全
不吃香菜学java5 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
一个天蝎座 白勺 程序猿6 小时前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb
不知名的老吴6 小时前
Redis的延迟瓶颈:TCP栈开销无法避免
数据库·redis·缓存