当前位置: 首页 > news >正文

实验二 数据库的附加/分离、导入/导出与备份/还原

实验二 数据库的附加/分离、导入/导出与备份/还原

一、实验目的
1、理解备份的基本概念,掌握各种备份数据库的方法。
2、掌握如何从备份中还原数据库。
3、掌握数据库中各种数据的导入/导出。
4、掌握数据库的附加与分离,理解数据库的附加与分离的作用。

二、实验内容
1、将“实验一”所创建的数据库EDUC,进行数据完整备份。备份名字为备份路径:D:/ EDUC.bak。
在这里插入图片描述
在这里插入图片描述

2、更改EDUC数据库里的内容,比如,删除一个表,或者在数据库中增加一个新表,或者修改某个表的数据,等等。
增加一个新表,

在这里插入图片描述

3、还原EDUC数据库,使它回复到原来的内容。(比较、体会操作1-3之间,数据库中数据的变化。)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、将EDUC数据库从数据库服务器上分离,并找到EDUC数据库的数据文件和日志文件(创建该数据库时数据文件及日志文件的存放路径),把它们拷到别的路径,比如C盘。(也可以放到自己带的U盘里)
在这里插入图片描述
在这里插入图片描述

5、将“操作4”中放到C盘的EDUC数据库附加到数据库服务器中。

在这里插入图片描述
在这里插入图片描述

6、分别把EDUC数据库中的“student”表导出到ACCESS数据库和EXCEL表格中(需先新建ACCESS空数据库和EXCEL空表格)。
在这里插入图片描述
在这里插入图片描述

7、将ACCESS类型的EDUC数据库中的Class表的数据库导入(追加数据)到SQL Server里的EDUC数据库的Class表中;将student.xls中的数据库导入(追加数据)到SQL Server里的EDUC数据库的student表中。

8、在“实验一”已创建EDUC数据库的基础上,将school数据库中Student,Course,StudentGrade中的数据分别导入EDUC的Student,Course,StudentGrade三个表中,并将school数据库中的Class,Deparment,Teacher, CourseTeacher表及数据也导入到EDUC数据库中。导入数据时,注意两个数据库中对应的字段名称、类型、长度等的差异,并在导入时作出相应处理。

三、实验要求
1、完成对数据库的附加分离、备份还原与导入\导出。

2、完成“实验内容”中的步骤6后,从“student”表中导出到ACCESS和EXCEL表中的数据与原来在SQL SERVER里“student”中的数据有何不同?从数据类型、数据长度、数据内容、约束等方面进行阐述。
答:
一、数据类型
SQL SERVER:能够准确存储并区分“student”表中的字段,如学号(字符类型)、姓名(字符类型)、性别(字符类型)、出生日期(日期时间类型)这些字段的数据类型。
ACCESS:在导入SQL SERVER的“student”表数据时,ACCESS将某些数据类型转换为最接近的自身支持的数据类型。例如将SQL SERVER中的整数类型转换为ACCESS中的长整型或整型。
EXCEL:EXCEL会将所有数据视为文本或数字(取决于单元格的格式设置)。
二、数据长度
SQL SERVER:在“student”表中,字段的长度是根据实际需求设置的,以确保数据的完整性和准确性。
ACCESS:如果SQL SERVER中的字段长度超过了ACCESS中对应数据类型的最大长度,ACCESS会截断数据或显示错误。
EXCEL:在导入数据时,会因格式设置不当而导致数据显示异常(如日期时间格式的数据被显示为文本)。
三、数据内容的表现形式
SQL SERVER:能够准确存储和显示数据内容,包括特殊字符、空格和换行符等。
ACCESS:ACCESS在导入数据时会改变数据内容的表现形式。例如,日期时间类型的数据会被转换为ACCESS默认的日期时间格式。
EXCEL:EXCEL在导入数据时也会改变数据内容的表现形式。例如日期时间类型的数据。
四、约束条件
SQL SERVER:学号字段设置为主键约束和唯一约束,以确保每个学生都有一个唯一的学号。
ACCESS:在导入数据时,ACCESS会忽略或转换SQL SERVER中的某些约束条件。例如,如果SQL SERVER中的字段设置了检查约束(如性别字段只能为“男”或“女”),ACCESS无法识别或执行该约束。
EXCEL:在将SQL SERVER的“student”表数据导入EXCEL后,原有的约束条件将不再有效。用户需要依靠EXCEL的功能来手动检查数据的完整性和一致性。

3、完成“实验内容”中的步骤8过程中,数据能否成功导入?碰到哪些问题?如何解决?成功后,EDUC数据库有何变化?
答:
数据可以成功导入。
Student,Course,StudentGrade中的数据被更新,新增Class,Deparment,Teacher, CourseTeacher表。

四、实验小结
1. 什么情况下使用数据库的备份和还原?什么情况下使用数据库的数据导入和导出?为什么?
答:备份和还原的应用场景:在服务器进行数据传输、数据存储和数据交换有可能产生数据故障。比如发生意外停机或存储介质损坏。如果没有采取数据备份和数据恢复手段与措施,就会导致数据的丢失。此外,备份还可以用于数据迁移和升级,确保数据的无缝迁移和升级过程中的数据安全。

导入和导出的应用场景:数据库的导入与导出允许数据在不同系统、实例和工具之间流动,从而支持各种业务需求。通过数据导入和导出,可以确保数据的一致性和完整性,也提供了额外的数据保护手段。此外,它们还支持数据分析和报告等高级功能,为业务决策提供更深入的数据洞察。

2.什么时候需要使用数据库的附加和分离?“附加”操作和“分离”操作的关系是什么?

数据库的附加:如果某个数据库长时间不用,或者数据库日志占用了很大空间时,通过分离数据库的方式来删除以前的日志,节省了空间。
数据库的分离:在服务器上新安装数据库软件后,需要将已有的数据库附加到新的数据库实例中。当数据库文件被移动到不同的存储位置时,需要进行附加操作以重新建立与数据库文件的连接。
关系:数据库的附加是分离操作的逆操作。数据库分离是指将数据库的数据文件(MDF)和日志文件(LDF)从SQL Server实例中分离出来。而附加操作则是将分离的数据库文件重新加载到SQL Server实例中。

3.在后续的实验过程中我们经常需要用到数据库的附加和分离,因为实验需要数据,每次实验前重建数据是不现实的。所以保存老师给的实验数据非常重要。实验操作过程中是否遇到了操作不成功的情况?如何解决的?您的收获有哪些?

问题:附加数据库时报错:“有关详细信息,请单击“消息”列中的超链接。”
解决方法:这是由于权限的问题,找到数据库所在文件或文件件:点击右键,选中属性,点击安全 → 编辑 → 添加 → 高级 → 立即查找 →选中 Everyone → 勾选上完全控制。

五、作业
1、设有一个SPJ数据库,包含S、P、J、SPJ4个关系模式:
S(SNO,SNAME,STATUS.CITY)、P(PNO,PNAME,COLOR,WEIGHT)
J(JNO,JNAME,CITY)、SPJ(SNO,PNO,JNO,QTY)
供应商S由供应商代码SNO、供应商姓名SNAME、供应商状态STATUS、供应商所在城市CITY组成;
零件表P由零件代码PNO、零件名PNAME、零件颜色COLOR零件重量WEIGHT组成;
工程项目表J由工程项目代码JNO、工程项目名JNAME、工程项目坐在城市CITY组成;
SPJ表由供应商代码SNO、零件号代码PNO、工程号代码JNO、供应数量QTY组成,表示某供应商供应某种零件给某工程项目的数量为QTY。具体表内容如教材P70面6题所示。请用关系代数完成下列查询:

1)求供应工程J1零件P1的供应商号码SNO;

2)求供应工程J1零件为红色的供应商号码SNO;

3)求没有使用天津供应商生产的红色零件的工程号JNO;

4)求至少使用了供应商S1所供应的全部零件的工程号JNO;

5)求使用了红色零件带没有使用蓝色零件的工程号;

6)求供应了蓝色零件工程项目在北京的供应商的姓名和所在城市。

7)检索至少使用了两种零件的工程号。

8)检索J1号工程不使用的零件号。
在这里插入图片描述

2、试述等值连接与自然连接的区别和联系。
答:
(1)等值连接:从关系R和S的笛卡尔积中选取A,B属性值相等的元组;
(2)自然连接:是特殊的等值连接,R和S具有相同的属性组B,在结果中去掉重复的属性列。
连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组。
自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。

3、关系代数的基本运算有哪些?
答:
并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。

4、为什么关系中的元组没有先后顺序?
答:
关系是元组的集合,集合中的元素是没有顺序的,所以关系中元组的顺序无关紧要。

5、为什么关系中不允许有重复元组?
答:
因为每个关系模式都有一个主键,在关系中主键是唯一存在的。假若有重复元组,则其主键相等,那么起不了唯一标识的作用。所以关系中不允许有重复元组。

相关文章:

实验二 数据库的附加/分离、导入/导出与备份/还原

实验二 数据库的附加/分离、导入/导出与备份/还原 一、实验目的 1、理解备份的基本概念,掌握各种备份数据库的方法。 2、掌握如何从备份中还原数据库。 3、掌握数据库中各种数据的导入/导出。 4、掌握数据库的附加与分离,理解数据库的附加与分离的作用。…...

Kafka常见问题之 `javax.management.InstanceAlreadyExistsException`

文章目录 Kafka常见问题之 javax.management.InstanceAlreadyExistsException1. 概述2. 常见原因3. 具体异常示例4. 解决方案4.1 确保单一 Kafka Producer 实例4.2 配置 Kafka Broker 和 Producer 使用唯一的 JMX 名称(对于Producer重点检查 client.id)4…...

性能测试丨JVM 性能数据采集

什么是JVM性能数据采集? JVM性能数据采集是指通过一些工具和技术采集与Java虚拟机相关的性能数据。这些数据包括但不限于内存使用、CPU使用、垃圾回收(GC)行为、线程活动等。合理地分析这些数据,可以帮助我们找出系统的瓶颈&…...

计算机图形学实验练习(实验1.2-4.1AND补充实验12)

实验1.2 OpenGL与着色器编程 1.理论知识 1.1 OpenGL的含义 OpenGL是一种应用程序编程接口(Application Programming Interface,API),它是一种可以对图形硬件设备特性进行访问的软件库。OpenGL最新的4.3版本包含了超过500个不同的命令,可以用于设置所需的对象、图像和操…...

JWT实现单点登录

文章目录 JWT实现单点登录JWT 简介存在问题及解决方案登录流程后端程序实现前端保存Tokenstore存放信息的缺点及解决 校验流程:为gateway增加登录校验拦截器 另一种单点登录方法:Token+Redis实现单点登录 JWT实现单点登录 登录流程&#xff…...

云计算的概念与特点:开启数字化时代的新篇章

在当今数字化时代,云计算(Cloud Computing)已经成为推动技术创新和业务转型的核心力量。无论是大型企业、中小型企业,还是个人用户,云计算都为其提供了高效、灵活和经济的解决方案。本文将深入探讨云计算的概念及其核心特点,帮助读者全面了解这一革命性技术。 © ivw…...

salesforce中如何获取一个profile的18位id

在 Salesforce 中,要获取一个 Profile 的 18 位 ID,可以通过以下几种方式实现: 方法 1:通过 Developer Console 登录 Salesforce。 点击右上角的 头像 或 设置齿轮,选择 “开发者控制台”(Developer Conso…...

Vue 3 中的标签 ref 与 defineExpose:模板引用与组件暴露

在 Vue 3 中&#xff0c;ref 不仅可以用于创建响应式数据&#xff0c;还可以用于获取 DOM 节点或组件实例。通过 ref&#xff0c;我们可以直接访问模板中的元素或组件&#xff0c;并在需要时操作它们。此外&#xff0c;defineExpose 用于在 <script setup> 语法中显式暴露…...

FLTK - FLTK1.4.1 - demo - adjuster.exe

文章目录 FLTK - FLTK1.4.1 - demo - adjuster.exe概述笔记根据代码&#xff0c;用fluid重建一个adjuster.fl 备注 - fluid生成的代码作为参考代码好了修改后可用的代码END FLTK - FLTK1.4.1 - demo - adjuster.exe 概述 想过一遍 FLTK1.4.1的demo和测试工程&#xff0c;工程…...

单路由及双路由端口映射指南

远程登录总会遇到登陆不上的情况&#xff0c;可能是访问的大门没有打开哦&#xff0c;下面我们来看看具体是怎么回事&#xff1f; 当软件远程访问时&#xff0c;主机需要两个条件&#xff0c;一是有一个唯一的公网IP地址&#xff08;运营商提供&#xff09;&#xff0c;二是开…...

专为课堂打造:宏碁推出三款全新耐用型 Chromebook

IT之家 1 月 25 日消息&#xff0c;宏碁&#xff08;Acer&#xff09;昨日&#xff08;1 月 24 日&#xff09;发布公告&#xff0c;针对教育市场&#xff0c;推出 Chromebook Spin 512 (R857T)、Chromebook Spin 511 (R757T) 和 Chromebook 511 (C737) 三款产品&#xff0c;兼…...

云计算架构学习之LNMP架构部署、架构拆分、负载均衡-会话保持

一.LNMP架构部署 1.1. LNMP服务搭建 1.磁盘信息 2.内存 3.负载信息 4.Nginx你们公司都用来干嘛 5.文件句柄(文件描述符 打开文件最大数量) 6.你处理过系统中的漏洞吗 SSH漏洞 7.你写过什么shell脚本 8.监控通过什么告警 zabbix 具体监控哪些内容 9.mysql redis查询 你好H…...

Python案例--暂停与时间格式化

在编程中&#xff0c;时间的处理是一个常见的需求。无论是日志记录、任务调度还是数据时间戳的生成&#xff0c;正确地获取和格式化时间都至关重要。Python 提供了强大的时间处理模块&#xff0c;其中 time 模块是基础且广泛使用的工具之一。本文将通过一个简单的示例&#xff…...

【javaweb项目idea版】蛋糕商城(可复用成其他商城项目)

该项目虽然是蛋糕商城项目&#xff0c;但是可以复用成其他商城项目或者购物车项目 想要源码的uu可点赞后私聊 技术栈 主要为&#xff1a;javawebservletmvcc3p0idea运行 功能模块 主要分为用户模块和后台管理员模块 具有商城购物的完整功能 基础模块 登录注册个人信息编辑…...

git gui 笔记

这里写目录标题 1. [下载安装git](https://blog.csdn.net/jiesunliu3215/article/details/111559125)2. [下载Git Gui](https://git-scm.com/downloads)3. 上传下载代码4. 创建版本5. 版本切换-checkout参考狂神说 git教程 -讲的是真的好gitee的git帮助 其他 1. 下载安装git 2…...

使用 Docker 运行 Oracle Database 23ai Free 容器镜像并配置密码与数据持久化

使用 Docker 运行 Oracle Database 23ai Free 容器镜像并配置密码与数据持久化 前言环境准备运行 Oracle Database 23ai Free 容器基本命令参数说明示例 注意事项高级配置参数说明 总结 前言 Oracle Database 23ai Free 是 Oracle 提供的免费版数据库&#xff0c;基于 Oracle …...

PyQt6医疗多模态大语言模型(MLLM)实用系统框架构建初探(下.代码部分)

医疗 MLLM 框架编程实现 本医疗 MLLM 框架结合 Python 与 PyQt6 构建,旨在实现多模态医疗数据融合分析并提供可视化界面。下面从数据预处理、模型构建与训练、可视化界面开发、模型 - 界面通信与部署这几个关键部分详细介绍编程实现。 6.1 数据预处理 在医疗 MLLM 框架中,多…...

salesforce公式字段 ISBLANK 函数和 <> NULL的区别

在 Salesforce 公式字段中&#xff0c;ISBLANK 函数和 <> NULL 的作用都可以用来检查字段是否有值&#xff0c;但它们的行为有一些显著的区别。以下是它们的详细对比和适用场景&#xff1a; 1. 基本区别 功能ISBLANK<> NULL主要作用检查字段是否为空&#xff08;适…...

微服务学习-服务调用组件 OpenFeign 实战

1. OpenFeign 接口方法编写规范 1.1. 在编写 OpenFeign 接口方法时&#xff0c;需要遵循以下规范 1.1.1.1. 接口中的方法必须使用 RequestMapping、GetMapping、PostMapping 等注解声明 HTTP 请求的类型。 1.1.1.2. 方法的参数可以使用 RequestParam、RequestHeader、PathVa…...

关于安卓greendao打包时报错问题修复

背景 项目在使用greendao的时候&#xff0c;debug安装没有问题&#xff0c;一到打包签名就报了。 环境 win10 jdk17 gradle8 项目依赖情况 博主的greendao是一个独立的module项目&#xff0c;项目目前只适配了java&#xff0c;不支持Kotlin。然后被外部集成。greendao版本…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

Python爬虫实战:研究Restkit库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的有价值数据。如何高效地采集这些数据并将其应用于实际业务中,成为了许多企业和开发者关注的焦点。网络爬虫技术作为一种自动化的数据采集工具,可以帮助我们从网页中提取所需的信息。而 RESTful API …...