【SQL Server】华中农业大学空间数据库实验报告 实验一 数据库
实验目的
- 熟悉了解掌握SQL Server软件的基本操作与使用方法,认识界面,了解其两个基本操作系统文件,并能熟练区分与应用交互式与T-SQL式两种方法在SQL Server中如何进行操作;
- 学习有关数据库的基本操作,包括:创建、分离、文件备份、附加、删除数据库等等的方法,并掌握查看调整数据库相关参数与属性的方法,作为一切实验的基础与开始,实验要求重点掌握如何根据特定的要求创建数据库,并在后续过程中得以修改其基本属性;
- 通过实验课操作,进一步深入理解T-SQL方法建立数据库的编写代码的原理,主文件、文件组、日志间的关系,并可以在后续学习过程中自行编写代码创建数据库。
实验内容
- 创建数据库:交互式创建数据库、T-SQL创建数据库;
- 分离数据库:交互式分离数据库、利用系统存储过程分离数据库;
- 数据库文件备份:分离数据库、停止服务复制其物理文件;
- 附加数据库:交互式附加数据库、利用系统存储过程附加数据库;
- 删除数据库:交互式删除数据库、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.交互式的优点与弊端:
- 优点:交互式方法总的来说是为了简便操作提出的方法,在具体实验中我们可以很清楚的感受到,无论是分离、修改还是删除数据库,比起还需要再命令行中编写代码,交互式方法只需要找到对应的选项与按钮就可以很迅速的完成相关的操作;
- 弊端:对于初学者来说,交互式方法就并没有想象中的那么简便,因为命令行式方法会直截了当的告诉我们报错的原因与位置,方便初学者进行错误的排查,而交互式方法就很难做到这一点;除此之外,因为每一次操作得到的结果都会被保存在文件夹中,交互式方法的误操作会导致我们的文件夹中出现大量的重复数据,而命令行式的方法会提示我们数据库中已存在重复的对象。
3.对数据库结构的深入认识:
(1)SQL Server 数据库中主要分为三种类型的数据文件:
主要数据文件(扩展名.mdf):包含数据库的启动信息,用户数据和对象可存储在此文件中,也可以存储在次要数据文件中,每个数据库仅有一个主要数据文件;
次要数据文件(扩展名.ndf):次要数据文件是可选的,由用户定义并存储用户数据。通过将每个文件放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上;
事务日志(扩展名.ldf):事务日志文件保存用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件。
(2)数据库的数据文件的关系:一个数据库只能有一个主要数据文件与一个事务日志,可以有多个次要数据文件,SQL Server的每个数据库都是以这两个文件存放的,一个后缀名为mdf,是数据文件,另一个后缀名为ldf,为日志文件。因此只需要定期复制这两个文件,就可以达到备份的效果。
(3)文件组的相关定义与功能:文件组是数据库各类文件的组合,其同样分为主要文件组与次要文件组,主要文件组只能有一个,包含主数据文件和未放入其他文件组的任何辅助文件。如果在数据库中创建对象时没有指定对象所属的文件组,对象将被分配给默认文件组(即PRIMARY 文件组),我们必须使用 ALTER DATABASE 语句进行文件组的更改。
相关文章:

【SQL Server】华中农业大学空间数据库实验报告 实验一 数据库
实验目的 熟悉了解掌握SQL Server软件的基本操作与使用方法,认识界面,了解其两个基本操作系统文件,并能熟练区分与应用交互式与T-SQL式两种方法在SQL Server中如何进行操作;学习有关数据库的基本操作,包括:…...

操作系统页面置换算法Java实现(LFU,OPT,LRU,LFU,CLOCK)
FIFO先进先出算法 java import java.util.LinkedList; import java.util.Queue; public class Main { //先进先出的思想 是 用一个队列去模拟数据 如果当前不存在就是发生缺页中断了 就需要添加 如果已经满了 将队头的元素出队 即可 //先进先出 就是一个数组 frameCount publi…...

Request和Response
前言 这一节主要讲的是Request和Response还有一些实例 1. 介绍 就是这两个参数 WebServlet("/demo7") public class ServletDemo7 extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletExcepti…...

【青牛科技】GC8549替代LV8549/ONSEMI在摇头机、舞台灯、打印机和白色家电等产品上的应用分析
引言 在现代电子产品中,控制芯片的性能直接影响到设备的功能和用户体验。摇头机、舞台灯、打印机和白色家电等领域对控制精度、功耗和成本等方面的要求日益提高。LV8549/ONSEMI等国际品牌的芯片曾是这些产品的主要选择,但随着国内半导体技术的进步&…...

(十二)JavaWeb后端开发——MySQL数据库
目录 1.数据库概述 2.MyQSL 3.数据库设计 DDL 4.MySQL常见数据类型 5.DML 1.数据库概述 数据库:DataBase(DB),是存储和管理数据的仓库 数据库管理系统:DataBase ManagementSystem(DBMS),操纵和管理数据库的大型软件 SQL&a…...
pnpm管理多工作区依赖
pnpm是一个支持多包仓库的一个包管理工具,那么怎么可以在项目根目录下执行pnpm install的时候,也能同步让所有的工作区都能够通安装依赖呢? 方式一,在执行pnpm install指令的时候,添加recursive参数: pnpm install --recursive 方式二,在项目的根目录下通过pnpm的配置文件p…...

如何在本地Linux服务器搭建WordPress网站结合内网穿透随时随地可访问
文章目录 前言1. 安装WordPress2. 创建WordPress数据库3. 安装相对URL插件4. 安装内网穿透发布网站4.1 命令行方式:4.2. 配置wordpress公网地址 5. 配置WordPress固定公网地址 前言 本文主要介绍如何在Linux Ubuntu系统上使用WordPress搭建一个本地网站,…...

二、应用层,《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》
文章目录 零、前言一、应用层协议原理1.1 网络应用的体系结构1.1.1 客户-服务器(C/S)体系结构1.1.2 对等体(P2P)体系结构1.1.3 C/S 和 P2P体系结构的混合体 1.2 进程通信1.2.1 问题1:对进程进行编址(addressing)&#…...

面粉直供系统|基于java和小程序的食品面粉直供系统设计与实现(源码+数据库+文档)
面粉直供系统 目录 基于java和小程序的食品面粉直供系统设计与实现 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师&#x…...
十四:java web(6)-- Spring Spring MVC
目录 Spring MVC 1.1 Spring MVC 概述 1.1.1 什么是 MVC 模式 1.1.2 Spring MVC 工作原理 1.2 Spring MVC 核心组件 1.2.1 DispatcherServlet 1.2.2 控制器(Controller) 1.2.3 请求映射(RequestMapping) 1.2.4 视图解析器…...

Java代码实现策略模式处理支付付款业务
1.需求:因为付款功能集成的第三方支付SDK越来越来多不好维护,改用策略模式实现,来代替代码中多余的if else 判断。 2.什么是策略模式? 策略模式(Strategy Pattern)是一种行为型设计模式,它允许在运行时选择算法的行为。该模式将不同的算法封装成独立的策略类,并使这些…...

unity3d————四元数概念
一、定义与表示 四元数是由一个实数部分和三个虚数部分组成,通常表示为q w xi yj zk,其中w是实数,x、y、z是实数系数,i、j、k是虚数单位,满足以下关系: i j k -1ij k,ji -kjk i&…...
spring相关的面试题
Spring 框架是 Java 开发中最常用的框架之一,因此在面试中经常会被问到与 Spring 相关的问题。以下是一些常见的 Spring 面试题及其答案。 基础概念 什么是 Spring 框架? Spring 框架是一个开源的 Java 平台,用于构建企业级应用程序。它提供…...

STM32外设之SPI的介绍
### STM32外设之SPI的介绍 SPI(Serial Peripheral Interface)是一种高速的,全双工,同步的通信总线,主要用于EEPROM、FLASH、实时时钟、AD转换器等外设的通信。SPI通信只需要四根线,节约了芯片的管脚&#x…...

二十三、Mysql8.0高可用集群架构实战
文章目录 一、MySQL InnoDB Cluster1、基本概述2、集群架构3、搭建一主两从InnoDB集群3.1、 安装3个数据库实例3.2、安装mysqlrouter和安装mysqlshell3.2.1、安装mysql-router3.2.2、安装mysql-shell 3.3、InnoDB Cluster 初始化3.3.1、参数及权限配置预需求检测3.3.2、初始化I…...
docker file 精简规则
在编写 Dockerfile 时,精简规则不仅有助于减小镜像大小,还能提高构建速度和可维护性。以下是一些常见的精简 Dockerfile 规则: 1. 尽量合并 RUN 指令 每个 RUN 指令会产生一个新的镜像层,因此多个命令可以合并为一个 RUN 指令&a…...
前端加密方式详解与选择指南
在当今数字化时代,前端数据安全的重要性日益凸显。本文将深入探讨前端加密的多种方式,为你提供选择适合项目加密方式的实用策略,并分享一些实际案例及相应代码。 一、前端加密方式汇总 (一)HTTPS 加密 HTTPS 是在 H…...

【React】条件渲染——逻辑与运算符
条件渲染——逻辑与&&运算符 你会遇到的另一个常见的快捷表达式是 JavaScript 逻辑与(&&)运算符。在 React 组件里,通常用在当条件成立时,你想渲染一些 JSX,或者不做任何渲染。 function Item({ nam…...

MATLAB中eig函数用法
目录 语法 说明 示例 矩阵特征值 矩阵的特征值和特征向量 排序的特征值和特征向量 左特征向量 不可对角化(亏损)矩阵的特征值 广义特征值 病态矩阵使用 QZ 算法得出广义特征值 一个矩阵为奇异矩阵的广义特征值 eig函数的功能是求取矩阵特征值…...

Chrome(谷歌浏览器中文版)下载安装(Windows 11)
目录 Chrome_10_30工具下载安装 Chrome_10_30 工具 系统:Windows 11 下载 官网:https://chrome.google-zh.com/,点击立即下载 下载完成(已经下过一遍所以点了取消) 安装 解压,打开安装包 点击下一步…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...