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

news2025/1/27 12:24:10

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2283388.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RubyFPV开源代码之系统简介

RubyFPV开源代码之系统简介 1. 源由2. 工程架构3. 特性介绍(软件)3.1 特性亮点3.2 数字优势3.3 使用功能 4. DEMO推荐(硬件)4.1 天空端4.2 地面端4.3 按键硬件Raspberry PiRadxa 3W/E/C 5. 软件设计6. 参考资料 1. 源由 RubyFPV以…

php代码审计2 piwigo CMS in_array()函数漏洞

php代码审计2 piwigo CMS in_array()函数漏洞 一、目的 本次学习目的是了解in_array()函数和对项目piwigo中关于in_array()函数存在漏洞的一个审计并利用漏洞获得管理员帐号。 二、in_array函数学习 in_array() 函数搜索数组中是否存在指定的值。 in_array($search,$array…

PHP校园助手系统小程序

🔑 校园助手系统 —— 智慧校园生活 📱一款基于ThinkPHPUniapp框架深度定制的校园助手系统,犹如一把智慧之钥,专为校园团队精心打造,解锁智慧校园生活的无限精彩。它独家适配微信小程序,无需繁琐的下载与安…

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.2 ndarray解剖课:多维数组的底层实现

1.2 《ndarray解剖课:多维数组的底层实现》 内容介绍 NumPy 的 ndarray 是其核心数据结构,用于高效处理多维数组。在这篇文章中,我们将深入解析 ndarray 的底层实现,探讨其内存结构、维度、数据类型、步长等关键概念&#xff0c…

计算机网络 (61)移动IP

前言 移动IP(Mobile IP)是由Internet工程任务小组(Internet Engineering Task Force,IETF)提出的一个协议,旨在解决移动设备在不同网络间切换时的通信问题,确保移动设备可以在离开原有网络或子网…

css粘性定位超出指定宽度失效问题

展示效果 解决办法&#xff1a;外层容器添加display:grid即可 完整代码 <template><div class"box"><div class"line" v-for"items in 10"><div class"item" v-for"item in 8">drgg</div>&…

10 Hyperledger Fabric 介绍

简介 HypeLedger&#xff08;超级账本&#xff09;是由Linux基金会2015年创建的首个面向企业应用场景的开源分布式账本平台。 HypeLedger Fabric是HypeLedger种的区块链项目之一HypeLedger Fabric引入权限管理在架构设计上支持可插拔、可扩展是首个面向联盟链场景的开源项目 …

分布式光纤应变监测是一种高精度、分布式的监测技术

一、土木工程领域 桥梁结构健康监测 主跨应变监测&#xff1a;在大跨度桥梁的主跨部分&#xff0c;如悬索桥的主缆、斜拉桥的斜拉索和主梁&#xff0c;分布式光纤应变传感器可以沿着这些关键结构部件进行铺设。通过实时监测应变情况&#xff0c;能够精确捕捉到车辆荷载、风荷…

机器学习10-解读CNN代码Pytorch版

机器学习10-解读CNN代码Pytorch版 我个人是Java程序员&#xff0c;关于Python代码的使用过程中的相关代码事项&#xff0c;在此进行记录 文章目录 机器学习10-解读CNN代码Pytorch版1-核心逻辑脉络2-参考网址3-解读CNN代码Pytorch版本1-MNIST数据集读取2-CNN网络的定义1-无注释版…

【C++高并发服务器WebServer】-7:共享内存

本文目录 一、共享内存1.1 shmget函数1.2 shmat1.3 shmdt1.4 shmctl1.5 ftok1.6 共享内存和内存映射的关联1.7 小demo 二、共享内存操作命令 一、共享内存 共享内存允许两个或者多个进程共享物理内存的同一块区域&#xff08;通常被称为段&#xff09;。由于一个共享内存段会称…

稀土抗菌剂:提升产品质量,保障公共健康

随着全球对抗菌技术需求的不断增长&#xff0c;传统的抗菌剂逐渐暴露出其局限性&#xff0c;包括耐药性、环境污染及副作用等问题。在此背景下&#xff0c;稀土抗菌剂作为一种新兴的抗菌材料&#xff0c;凭借其卓越的抗菌性能、环保特性以及应用多样性&#xff0c;正在成为各行…

机器学习11-学习路径推荐

机器学习11-学习路径推荐 本文希望摒除AI学习商业宣传要素&#xff0c;推荐一条极简的AI学习路线&#xff01;推荐内容均为在线免费内容&#xff0c;如果有条件可以咨询专业的培训机构&#xff01; 文章目录 机器学习11-学习路径推荐[toc] 1-AI培训路线第一阶段 Python-人工智能…

《边界感知的分而治之方法:基于扩散模型的无监督阴影去除解决方案》学习笔记

paper&#xff1a;Boundary-Aware Divide and Conquer: A Diffusion-Based Solution for Unsupervised Shadow Removal 目录 摘要 1、介绍 2、相关工作 2.1 阴影去除 2.2 去噪扩散概率模型&#xff08;Denoising Diffusion Probabilistic Models, DDPM&#xff09; 3、方…

java后端之事务管理

Transactional注解&#xff1a;作用于业务层的方法、类、接口上&#xff0c;将当前方法交给spring进行事务管理&#xff0c;执行前开启事务&#xff0c;成功执行则提交事务&#xff0c;执行异常回滚事务 spring事务管理日志&#xff1a; 默认情况下&#xff0c;只有出现Runti…

数据结构——概念与时间空间复杂度

目录 前言 一相关概念 1什么是数据结构 2什么是算法 二算法效率 1如何衡量算法效率的好坏 2算法的复杂度 三时间复杂度 1时间复杂度表示 2计算时间复杂度 2.1题一 2.2题二 2.3题三 2.4题四 2.5题五 2.6题六 2.7题七 2.8题八 四空间复杂度 1题一 2题二 3…

牛客周赛 Round 78 A-C

A.时间表查询&#xff01; 链接&#xff1a;https://ac.nowcoder.com/acm/contest/100671/A 来源&#xff1a;牛客网 题目描述 今天是2025年1月25日&#xff0c;今年的六场牛客寒假算法基础集训营中&#xff0c;前两场比赛已经依次于 20250121、20250123 举行&#xff1b;而…

HTML-新浪新闻-实现标题-样式1

用css进行样式控制 css引入方式&#xff1a; --行内样式&#xff1a;写在标签的style属性中&#xff08;不推荐&#xff09; --内嵌样式&#xff1a;写在style标签中&#xff08;可以写在页面任何位置&#xff0c;但通常约定写在head标签中&#xff09; --外联样式&#xf…

能说说MyBatis的工作原理吗?

大家好&#xff0c;我是锋哥。今天分享关于【Redis为什么这么快?】面试题。希望对大家有帮助&#xff1b; 能说说MyBatis的工作原理吗&#xff1f; MyBatis 是一款流行的持久层框架&#xff0c;它通过简化数据库操作&#xff0c;帮助开发者更高效地与数据库进行交互。MyBatis…

MFC程序设计(四)窗口创建机制

钩子函数 钩子属于win32技术&#xff0c;具有优先勾取消息的权利&#xff1a;当一个消息产生时&#xff0c;钩子勾取消息进行处理&#xff0c;然后消息才送回程序 接下来以一个勾取窗口创建消息的钩子为例进行讲解 钩子类型有键盘钩子&#xff0c;鼠标钩子&#xff0c;WH_CBT…

【JavaEE进阶】Spring留言板实现

目录 &#x1f38d;预期结果 &#x1f340;前端代码 &#x1f384;约定前后端交互接口 &#x1f6a9;需求分析 &#x1f6a9;接口定义 &#x1f333;实现服务器端代码 &#x1f6a9;lombok介绍 &#x1f6a9;代码实现 &#x1f334;运行测试 &#x1f384;前端代码实…