JMU 数科 数据库与数据仓库期末总结(1)
本章根据老师给出的知识点作进一步相对生动一点的解释。
不保证完全正确。
先给出总的知识点,再给出生动解释。
知识点
- 数据模型通常由三部分组成:数据结构、数据操作和完整性约束。
- 关系模式中主码的取值必须唯一且非空,这是实体完整性的要求。
- 数据独立性包括逻辑独立性和物理独立性。
- 游标的功能是把集合记录转换为单记录。
- 当数据库被破坏后,如果事先保存了数据库副本和日志文件,则有可能恢复数据库。
- 非规范化的过程可以将属性域变为简单域以达到第一范式(1NF),然后通过消除非主属性对主键的部分依赖来达到第二范式(2NF),最后通过消除非主属性对主键的传递依赖来达到第三范式(3NF)。
- DBMS 存取控制机制主要包括两部分:自主存取控制和强制存取控制。
- 数据库系统的三层模式两层映像。
- 如果不对并发操作进行合理的调度,可能导致三种数据不一致性:丢失修改、不可重复读和脏数据。
- 数据库管理系统的主要功能有数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立以及维护等四个方面。
- 强制存取控制是对数据本身进行密集标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记的用户才可以操纵数据,从而提供了更高级别的安全性。
- 当数据库存储结构改变时,由数据库管理员对模式/内模式映像相应改变,可以使模式不变,从而使应用程序也不变,称为数据与程序的物理独立性。
- 数据模型是由数据结构、数据操作和完整性约束三部分组成的。
- 在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的依赖关系和无损连接性。
- 规范化的基本思想是逐步消除数据依赖中的不合适部分,即“一事一地”的模式设计原则,其实质是概念的单一化。
- 在数据库设计中,把数据需求写成文档,它是各类数据描述的集合,包括数据项、数据结构、数据流、数据存储和数据加工过程等的描述,通常称为数据字典。
- 审计员可以利用审计日志监控数据库的各种行为,对潜在威胁提前采取措施加以防范。
- 在设计分 E-R 图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计的,所以各个分 E-R 图之间难免有不一致的地方,这些冲突主要有属性冲突、命名冲突和结构冲突三类。
- ODBC 是能连接不同关系数据库管理系统,使数据库系统 “开放”,能够实现 “数据库互联”,而由微软公司推出的接口标准。
1. 数据模型基础
想象一下,数据模型就像是图书馆里的图书分类系统。它告诉我们如何组织信息,包括书籍(数据)应该放在哪里(数据结构),我们能对书籍做些什么(比如借阅或归还,即数据操作),以及遵循哪些规则(比如借书需要证件,这就是完整性约束)。
2. 主键与实体完整性
就像每个人都有独一无二的身份证号一样,数据库表中的每一行也需要有一个独一无二的标识,这就是主键。没有这个标识或者重复了,数据库就会混乱,这就是为什么主键的值必须唯一且非空,保证数据的准确性,我们称之为实体完整性。
3. 数据独立性
数据独立性就像你搬家时,家里的家具布置(数据的展现形式)可以变,但你的物品清单(实际数据)不变。逻辑独立性意味着改变数据库的逻辑结构(如增加字段)不会影响到应用程序;物理独立性则是数据库的存储方式变化(比如换硬盘)也不影响程序访问数据。
4. 游标的用途
游标就像是阅读长篇小说(集合记录)时用的书签,它可以帮助数据库从大量数据中定位到某一行(单记录),然后逐行处理数据,这样我们就可以对每一条记录进行精细的操作了。
5. 数据库恢复
如果数据库不幸“生病”了(数据损坏),就像我们身体有备份的免疫细胞一样,数据库也有备份和日志文件作为“恢复药”。通过这些备份资料,数据库管理员就能让数据库“康复”,恢复到之前健康的状态。
6. 范式与非规范化
范式就像是整理房间的规则,让数据更有序。第一范式确保每列不可再分;第二范式进一步要求除了主键外的其他列只依赖于主键的一部分;第三范式则要求非主键列之间也不能相互依赖。而非规范化,就是在某些情况下为了提高查询效率,故意“乱放”一些东西,牺牲一点整洁来换取速度。
7. 数据库安全:存取控制
DBMS(数据库管理系统)就像家里的保安系统,自主存取控制就像是你决定谁可以进哪个房间;而强制存取控制更像是严格的规定,不管你想不想,只有符合规定的人才能进入特定区域。
8. 三层模式与两层映像
数据库的三层模式像是舞台剧的剧本、排练和演出。内模式是后台具体怎么实现的,外模式是观众(应用程序)看到的样子,而模式是剧本本身。两层映像就像是导演调整剧本和演员表演之间的关系,确保无论后台如何改动,观众看到的演出效果保持一致。
9. 并发控制的重要性
并发控制就像是管理一条繁忙的马路,不让车辆(多个事务操作)相撞。如果不加以控制,可能会发生“丢失修改”(就像一个人改了路标,另一个人没看到新指示)、“不可重复读”(同一地方每次看都不一样)和“脏读”(读到了还没确定的信息)等问题。
10. DBMS的核心功能
数据库管理系统(DBMS)是个全能管家,它负责定义数据怎么存储(数据定义),怎么增删查改(数据操纵),还要确保数据库高效稳定地运行(运行管理),以及定期检查维护(建立和维护),确保数据库的健康。
11. 强制存取控制
强制存取控制是一种高级别的安全性措施,它在数据本身添加密级标记,无论数据如何复制,标记都与其不可分割。只有满足标记条件的用户才有权操纵数据,从而提高了安全性。
12. 物理独立性
当数据库的存储结构发生变化时,数据库管理员会更新模式/内模式映像,使得模式保持不变,应用程序不受影响。这种特性称为数据与程序的物理独立性,保证了应用代码无需因底层存储结构的变化而频繁修改。
13. 数据模型
数据模型是描述数据的一种方法,它由三个基本要素构成:数据结构、数据操作和完整性约束。数据结构定义了数据的组织方式,数据操作指明了我们可以对数据执行什么操作,完整性约束则规定了数据应满足的规则。
14. 规范化原则
在关系数据库的规范化理论中,“分解”是指将大表拆分成小表的过程。在这个过程中,我们需要遵守两个重要原则:保持原有的依赖关系和无损连接性。前者保证了数据的一致性,后者保证了数据的完整性。
15. 规范化的思想
规范化的目的是逐步消除数据依赖中的不合适部分,也就是所谓的冗余。这背后的原则是“一事一地”的设计原则,也被称为概念单一化。这意味着每个事实都应该在一个地方出现,避免数据的重复存储,减少数据冗余,提高数据质量。
16.数据字典
想象一下,如果你要建一座房子,首先你需要一份图纸,上面详细标注了各种材料、尺寸和工艺流程。在数据库设计中,我们也需要类似的“图纸”,那就是数据字典。它记录了所有数据的需求,包括数据的种类、结构、流动路径、存储位置和处理步骤等,方便我们按图施工。
17.审计日志
假设你在银行工作,每天都会有很多人存钱、取钱。为了防止有人偷钱,你会设置摄像头监控整个过程。在数据库世界里,审计日志就相当于这个摄像头,它可以记录下所有的操作,一旦发现异常,审计员就能及时采取措施保护数据库的安全。
18.E-R图
设计 E-R 图就好比一群人在画一幅拼图,每个人都负责一部分。但由于大家各自画各自的,有时会出现颜色不统一、图案重叠等情况。这些问题主要分为三类:有的地方颜色不一样(属性冲突),有的地方图案名称重复(命名冲突),还有的地方图案形状不匹配(结构冲突)。解决这些问题就需要大家坐下来沟通协调。
19.ODBC:数据库互联的通用语言
ODBC 就像是一座桥梁,可以让不同品牌的汽车都能顺利通行。在数据库的世界里,ODBC 让各种类型的数据库管理系统也能互相交流,实现了数据的自由流通。这座桥是由微软公司建造的,它让数据库变得开放,不再孤岛般存在。
相关文章:
JMU 数科 数据库与数据仓库期末总结(1)
本章根据老师给出的知识点作进一步相对生动一点的解释。 不保证完全正确。 先给出总的知识点,再给出生动解释。 知识点 数据模型通常由三部分组成:数据结构、数据操作和完整性约束。关系模式中主码的取值必须唯一且非空,这是实体完整性的…...

前端问题整理
Vue vue mvvm(Model-View-ViewModel)架构模式原理 Model 是数据层,即 vue 实例中的数据View 是视图层, 即 domViewModel,即连接Model和Vue的中间层,Vue实例就是ViewModelViewModel 负责将 Model 的变化反映…...

【实践功能记录6】表格列悬浮展示tooltip信息
需求描述: 鼠标悬浮在表格的IP字段上时,使用tooltip展示IP信息,如图: 1.封装根据IP展示信息的组件 请求接口获取IP信息,注意请求接口时防抖 <!-- 根据IP展示资产信息 --> <template><div><el-…...

AI论文速读 | 2024[SIGIR]基于大语言模型的下一个兴趣点推荐
论文标题:Large Language Models for Next Point-of-Interest Recommendation 作者:Peibo Li ; Maarten de Rijke ; Hao Xue (薛昊); Shuang Ao ; Yang Song ; Flora D. Salim 机构:新南威尔士大学(UNSW),…...

Rust 实战丨通过实现 json! 掌握声明宏
在 Rust 编程语言中,宏是一种强大的工具,可以用于在编译时生成代码。json! 是一个在 Rust 中广泛使用的宏,它允许我们在 Rust 代码中方便地创建 JSON 数据。 声明宏(declarative macros)是 Rust 中的一种宏࿰…...

vue+elementUI实现在表格中添加输入框并校验的功能
背景: vue2elmui 需求: 需要在一个table中添加若干个输入框,并且在提交时需要添加校验 思路: 当需要校验的时候可以考虑添加form表单来触发校验,因此需要在table外面套一层form表单,表单的属性就是ref…...

为国产加油:“缺芯少屏”暂缓,另一领域,也要加把劲
说起咱中国之前的“缺芯少屏”,真的是让人挺闹心的。 不过呢,为了改变这个状况,咱们的工程师们可是费了不少劲儿,辛辛苦苦努力了数十年。现在好了,咱们也迎来了柔性屏的时代。 柔性屏 说起来,在触摸屏或者…...
【Qnx】Qnx coredump解析
Qnx coredump解析 coredump文件 Qnx运行的程序崩溃时,会生成coredump文件。 默认情况下这些文件默认会保存在/var/log/*.core 文件中。 解析coredump文件,可以帮忙加快分析程序崩溃的原因,比如了解崩溃的堆栈。 通常可以使用gdb和coreinfo…...

超级签名源码/超级签/ios分发/签名端本地linux服务器完成签名
该系统完全在linux下运行,不存在使用第三方收费工具,市面上很多系统都是使用的是第三方收费系统,例如:某心签名工具,某测侠等,不开源而且需要每年交费,这种系统只是在这些工具的基础上套了一层壳…...

RocketMQ在Centos7系统上单机部署
最近因为一些信创问题,要将RabbitMQ替换为RocketMQ,因此在此分享一些RocketMQ在Centos7系统上单机部署相关过程。 优缺点 RocketMQ的优点: 性能优越:RocketMQ在处理大量消息时,性能优于RabbitMQ。当面临每秒数万到数…...

Vue37-非单文件组件
一、组件的两种编写形式: 非单文件组件;单文件组件。 二、创建一个组件 2-1、组件中的el 组件中不写el,不说为谁服务。 2-2、组件中的data 因为对象形式,多处复用的话,有引用关系,改一处,另一…...

CSS实现经典打字小游戏《生死时速》
🌻 前言 CSS 中有这样一个模块:Motion Path 运动模块,它可以使元素按照自定义的路径进行移动。本文将为你讲解这个模块属性的使用,并且利用它实现我小时候电脑课经常玩的一个打字游戏:金山打字的《生死时速》。 &…...

推箱子-小游戏
学习目标: 巩固Java基础,数据类型、二维数组、条件语句等; 效果展示:...

AI数字人的开源解决方案
目前,国内外已经涌现出一些优秀的数字人开源解决方案,这些解决方案为开发者提供了构建数字人应用的工具和基础设施。以下是一些比较知名的数字人开源解决方案。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1…...

java写一个验证码
生成验证码 内容:可以是小写字母,也可以是大写字母,还可以是数字 规则 长度为5 内容中是四位字母,1位数字。 其中数字只有1位,但是可以出现在任意的位置。 package User;import java.util.ArrayList; import jav…...
【星海随笔】ELK优化
ELS 再遇到大的日志文件的时候不会自动进行清理的,我们可以通过 logrotate 转储工具进行操作。 该命令是基于 Cron 实现,由系统执行,当然也可以手动进行执行例如 logrotate -f configfile# more /etc/logrotate.confweekly // 默认每一周执行一次rotate轮转工作 r…...
SQL Auto Increment
SQL Auto Increment 在关系型数据库中,自动增量(Auto Increment)是一个常见且实用的特性。它允许数据库自动为表中插入的新行分配唯一的标识符,通常用于主键字段。本文将深入探讨SQL中的自动增量功能,包括其工作原理、…...
网络安全练气篇——PHP编程语言基础
目录 PHP基础 一、PHP简介与环境搭建 什么是PHP? PHP环境安装 代码编辑选择 二、基本语法 PHP基本语法操作 PHP变量与输出 啥是常量? PHP注释 PHP单引号双引号声明 三、PHP表单 PHP表单 四、登录界面搭建与讲解 构建登陆页面 登陆页面端 服务器端…...

LabVIEW程序内存泄漏分析与解决方案
维护他人编写的LabVIEW程序时,若发现程序运行时间越长,占用内存越大直至崩溃,通常是内存泄漏导致的。本文从多角度分析内存泄漏的可能原因,包括数组和字符串处理、未释放的资源、循环中的对象创建等,并提供具体的解决方…...
JVM垃圾回收器介绍
Serial GC: 算法: 使用的是标记-清除算法。特点: 串行执行,适用于单CPU环境或较小的堆内存配置。在新生代和老年代的回收中都是单线程执行,因此在进行垃圾回收时会暂停所有应用线程(Stop-The-World)。 Parallel GC (也称为吞吐量优…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...

【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...

Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...

FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...