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

JMU 数科 数据库与数据仓库期末总结(1)

本章根据老师给出的知识点作进一步相对生动一点的解释。

不保证完全正确。

先给出总的知识点,再给出生动解释。

知识点

  1. 数据模型通常由三部分组成:数据结构数据操作完整性约束
  2. 关系模式中主码的取值必须唯一且非空,这是实体完整性的要求。
  3. 数据独立性包括逻辑独立性物理独立性
  4. 游标的功能是把集合记录转换为单记录
  5. 当数据库被破坏后,如果事先保存了数据库副本和日志文件,则有可能恢复数据库。

  1. 非规范化的过程可以将属性域变为简单域以达到第一范式(1NF),然后通过消除非主属性对主键的部分依赖来达到第二范式(2NF),最后通过消除非主属性对主键的传递依赖来达到第三范式(3NF)。
  2. DBMS 存取控制机制主要包括两部分:自主存取控制强制存取控制
  3. 数据库系统的三层模式两层映像。
  4. 如果不对并发操作进行合理的调度,可能导致三种数据不一致性:丢失修改、不可重复读和脏数据。
  5. 数据库管理系统的主要功能有数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立以及维护等四个方面。

  1. 强制存取控制是对数据本身进行密集标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记的用户才可以操纵数据,从而提供了更高级别的安全性
  2. 当数据库存储结构改变时,由数据库管理员对模式/内模式映像相应改变,可以使模式不变,从而使应用程序也不变,称为数据与程序的物理独立性
  3. 数据模型是由数据结构、数据操作和完整性约束三部分组成的。
  4. 在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的依赖关系和无损连接性。
  5. 规范化的基本思想是逐步消除数据依赖中的不合适部分,即“一事一地”的模式设计原则,其实质是概念的单一化

  1. 在数据库设计中,把数据需求写成文档,它是各类数据描述的集合,包括数据项、数据结构、数据流、数据存储和数据加工过程等的描述,通常称为数据字典。
  2. 审计员可以利用审计日志监控数据库的各种行为,对潜在威胁提前采取措施加以防范。
  3. 在设计分 E-R 图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计的,所以各个分 E-R 图之间难免有不一致的地方,这些冲突主要有属性冲突、命名冲突和结构冲突三类。
  4. 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信息

需求描述&#xff1a; 鼠标悬浮在表格的IP字段上时&#xff0c;使用tooltip展示IP信息&#xff0c;如图&#xff1a; 1.封装根据IP展示信息的组件 请求接口获取IP信息&#xff0c;注意请求接口时防抖 <!-- 根据IP展示资产信息 --> <template><div><el-…...

AI论文速读 | 2024[SIGIR]基于大语言模型的下一个兴趣点推荐

论文标题&#xff1a;Large Language Models for Next Point-of-Interest Recommendation 作者&#xff1a;Peibo Li ; Maarten de Rijke ; Hao Xue &#xff08;薛昊&#xff09;; Shuang Ao ; Yang Song ; Flora D. Salim 机构&#xff1a;新南威尔士大学(UNSW)&#xff0c…...

Rust 实战丨通过实现 json! 掌握声明宏

在 Rust 编程语言中&#xff0c;宏是一种强大的工具&#xff0c;可以用于在编译时生成代码。json! 是一个在 Rust 中广泛使用的宏&#xff0c;它允许我们在 Rust 代码中方便地创建 JSON 数据。 声明宏&#xff08;declarative macros&#xff09;是 Rust 中的一种宏&#xff0…...

vue+elementUI实现在表格中添加输入框并校验的功能

背景&#xff1a; vue2elmui 需求&#xff1a; 需要在一个table中添加若干个输入框&#xff0c;并且在提交时需要添加校验 思路&#xff1a; 当需要校验的时候可以考虑添加form表单来触发校验&#xff0c;因此需要在table外面套一层form表单&#xff0c;表单的属性就是ref…...

为国产加油:“缺芯少屏”暂缓,另一领域,也要加把劲

说起咱中国之前的“缺芯少屏”&#xff0c;真的是让人挺闹心的。 不过呢&#xff0c;为了改变这个状况&#xff0c;咱们的工程师们可是费了不少劲儿&#xff0c;辛辛苦苦努力了数十年。现在好了&#xff0c;咱们也迎来了柔性屏的时代。 柔性屏 说起来&#xff0c;在触摸屏或者…...

【Qnx】Qnx coredump解析

Qnx coredump解析 coredump文件 Qnx运行的程序崩溃时&#xff0c;会生成coredump文件。 默认情况下这些文件默认会保存在/var/log/*.core 文件中。 解析coredump文件&#xff0c;可以帮忙加快分析程序崩溃的原因&#xff0c;比如了解崩溃的堆栈。 通常可以使用gdb和coreinfo…...

超级签名源码/超级签/ios分发/签名端本地linux服务器完成签名

该系统完全在linux下运行&#xff0c;不存在使用第三方收费工具&#xff0c;市面上很多系统都是使用的是第三方收费系统&#xff0c;例如&#xff1a;某心签名工具&#xff0c;某测侠等&#xff0c;不开源而且需要每年交费&#xff0c;这种系统只是在这些工具的基础上套了一层壳…...

RocketMQ在Centos7系统上单机部署

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

Vue37-非单文件组件

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

CSS实现经典打字小游戏《生死时速》

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

推箱子-小游戏

学习目标&#xff1a; 巩固Java基础&#xff0c;数据类型、二维数组、条件语句等&#xff1b; 效果展示&#xff1a;...

AI数字人的开源解决方案

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

java写一个验证码

生成验证码 内容&#xff1a;可以是小写字母&#xff0c;也可以是大写字母&#xff0c;还可以是数字 规则 长度为5 内容中是四位字母&#xff0c;1位数字。 其中数字只有1位&#xff0c;但是可以出现在任意的位置。 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 在关系型数据库中&#xff0c;自动增量&#xff08;Auto Increment&#xff09;是一个常见且实用的特性。它允许数据库自动为表中插入的新行分配唯一的标识符&#xff0c;通常用于主键字段。本文将深入探讨SQL中的自动增量功能&#xff0c;包括其工作原理、…...

网络安全练气篇——PHP编程语言基础

目录 PHP基础 一、PHP简介与环境搭建 什么是PHP&#xff1f; PHP环境安装 代码编辑选择 二、基本语法 PHP基本语法操作 PHP变量与输出 啥是常量? PHP注释 PHP单引号双引号声明 三、PHP表单 PHP表单 四、登录界面搭建与讲解 构建登陆页面 登陆页面端 服务器端…...

LabVIEW程序内存泄漏分析与解决方案

维护他人编写的LabVIEW程序时&#xff0c;若发现程序运行时间越长&#xff0c;占用内存越大直至崩溃&#xff0c;通常是内存泄漏导致的。本文从多角度分析内存泄漏的可能原因&#xff0c;包括数组和字符串处理、未释放的资源、循环中的对象创建等&#xff0c;并提供具体的解决方…...

JVM垃圾回收器介绍

Serial GC: 算法: 使用的是标记-清除算法。特点: 串行执行&#xff0c;适用于单CPU环境或较小的堆内存配置。在新生代和老年代的回收中都是单线程执行&#xff0c;因此在进行垃圾回收时会暂停所有应用线程&#xff08;Stop-The-World&#xff09;。 Parallel GC (也称为吞吐量优…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

【分享】推荐一些办公小工具

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

GruntJS-前端自动化任务运行器从入门到实战

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

基于Springboot+Vue的办公管理系统

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

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、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径&#xff0c;但是vite中默认不可以。 如何实现&#xff1a; vite中提供了resolve.alias&#xff1a;通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...