备战软考Day05-数据库系统基础知识

一、基本概念

1.数据库

数据库(Database,缩写为DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

2.数据库管理系统

数据库管理系统(DatabaseManagementSvstem,DBMS)是数据库系统的核心软件要在操作系统的支持下工作,解决如何科学地组织和存储数据、如何高效地获取和维护数据的系统软件问题。其主要功能包括数据定义功能、数据操纵功能、数据库的运行管理、数据组织存储、管理和数据库的建立与维护。

3.DBMS的特征

(1)数据结构化且统一管理,

(2)有较高的数据独立性。

(3)提供数据控制功能。

4.DBMS 的分类

  1. 关系数据库系统:是支持关系模型的数据库系统。
  2. 面向对象的数据库系统:是支持以对象形式对数据建模的数据库系统。
  3. 对象关系数据库系统:在传统的关系数据模型基础上,提供元组、数组、集合等更丰富的数据类型以及处理新的数据类型操作的能力,这样形成的数据模型称为对象关系数据模型。基于对象关系数据模型的DBS称为对象关系数据库系统。

二、数据库三级模式两级映像

数据库系统采用三级模式结构,这是数据库管理系统内部的系统结构。

  • 外模式:也称用户模式或子模式,是用户与数据库系统的接口,是用户用到的那部分数据的描述,由若干个外部记录类型组成。描述外模式的数据定义语言称为外模式DDL。
  • 概念模式:也称模式,是数据库中全体数据的逻辑结构和特征的描述,它由若千个概念记录类型组成,只涉及行的描述,不涉及具体的值。概念模式的一个具体值称为模式的一个实例,同一个模式可以有很多实例。
  • 内模式:也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式定义所有的内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。描述内模式的数据定义语言称为内模式DDL。

外模式/模式映像:该映像存在于外部级和概念级之间,实现了外模式到概念模式之间的相互转换

模式/内模式映像:该映像存在于概念级和内部级之间,实现了概念模式到内模式之间的相互转换。

DBMS的两级映像功能保证了数据的独立性。

三、数据库的分析与设计过程

四、数据模型

1、概念

模型就是对现实世界特征的模拟和抽象。

数学模型是对现实世界数据特征的抽象。

数据模型是用来描述数据的一组概念和定义。

数据模型的三要素是数据结构、数据操作、数据的约束条件。

数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。

数据操作:是对数据库中各种对象的实例(值)允许执行的操作的集合,包括操作及操作规则。数据操作是对系统动态特性的描述。

数据的约束条件:是一组完整性规则的集合。对于具体的应用数据必须遵循特定的语义约束条件,以保证数据的正确、有效、相容。

2、E-R模型

3、关系模型

关系数据库系统采用关系模型作为数据的组织方式,在关系模型中用表格结构表达实体集以及实体集之间的联系,其最大特色是描述的一致性。

关系模型是由若千个关系模式组成的集合。一个关系模式相当于一个记录型,对应于程序设计语言中类型定义的概念。

关系模型的优点是:概念单一,存储路径对用户是透明的,所以具有更好的数据独立性和安全保密性,简化了程序的开发和数据库的建立工作。

4、例题

五、关系代数

1、关系模式相关名词

教学数据库的4 个关系模式如下:

候选码(键):若关系中的某一属性或属性组的值能唯一标识一个元组,则称该属性或属性组为候选码。

主码(键):若一个关系有多个候选码,则选定其中一个为主码。

主属性:包含在任何候选码中的诸属性称为主属性。不包含在任何候选码中的属性称为非主属性。

外码(键):如果公共属性在一个关系中是主属性,那么这个公共属性被称为另一个关系的外码。由此可见,外码表示了两个关系之间的相关联系

全码:若关系模式的所有属性组都是这个关系模式的候选码,则称为全码。

2.七种基本运算

1.并

2.交

3.差

4.笛卡尔积

5.投影

6.选择

7.联接

3.关系代数表达式查询优化的原则

  1. 提早执行选取运算。对于有选择运算的表达式,应优化成尽可能先执行选择运算的等价表达式,以得到较小的中间结果,减少运算量以及从外存读块的次数。
  2. 合并乘积与其后的选择运算为连接运算。
  3. 将投影运算与其后的其他运算同时进行,以避免重复扫描关系。
  4. 将投影运算和其前后的二目运算结合起来,因为没有必要为去掉某些字段再扫描一遍关系。
  5. 在执行连接前对关系适当地预处理,就能快速地找到要连接的元组。
  6. 存储公共子表达式。对于有公共子表达式的结果应存于外存(中间结果),这样,当从外存读出它的时间比计算的时间少时,就可节约操作时间。.

六、数据库完整性约束

1、概念

完整性规则提供了一种手段来保证当授权用户对数据库作修改时不会破坏数据的一致性,因此,完整性规则是为了防止对数据的意外破坏。

关系模型的完整性规则是对关系的某种约束条件。完整性共分为3类:

(1)实体完整性:规定基本关系R的主属性A不能取空值。

(2)参照完整性:若F是基本关系R的外码,它与基本关系S的主码相对应(基本关系R和S不-定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值),或者等于S中某个元组的主码值。

(3)用户定义完整性:就是针对某一具体的关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求,由应用的环境决定。

2、关系的三种类型

下面介绍关系的三种类型:

(1)基本关系(通常又称为基本表、基表):它是实际存在的表,际存储数据的逻辑表示。

(2)查询表:查询结果对应的表

(3)视图表:是由基本表或其他视图表导出的表。由于它本身不独立存储在数据库中,数据库中只存放它的定义,所以常称为虚表。

七、关系型数据库SQL简介

SQL是在关系数据库中最普遍使用的语言,它不仅包含数据查询功能还包括插入、删除、更新和数据定义功能。

SQL具有综合统一、高度非过程化、面向集合的操作方式,两种使用方语言简洁且易学易用等特点。式,

SQL支持关系数据库的三级模式结构:视图对应外模式、基本表对应式、存储文件对应内模式。

八、关系数据库的规范化

1.函数依赖

2.求候选码(键)

第一步:将关系模式的函数依赖关系用“有向图”的方式表示。

第二步:找入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键。

第三步:若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间结点(既有入度,也有出度的结点)并入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键。

例题:

3.规范化理论(非规范化存在的问题)

4.规范化理论(概念)

1、1NF(第一范式)

若关系模式R的每一个分量都是不可再分的数据项,则关系模式R属于第一范式(1NF)

2、2NF(第二范式)

若关系模式R

1NF,且每一个非主属性完全依赖于主键,则关系模式R

2NF换句话说,当1NF消除了非主属性对码的部分函数依赖,则称为2NF。

3、3NF(第三范式)

4、BCNF(巴科斯范式)

5.关系模式分解

对一个给定的模式进行分解,使得分解后的模式是否与原来的模式等价有3种情况:

1、分解具有无损连接性

2、分解要保持函数依赖

3、分解既要有无损连接性,又要保持函数依赖。

无损联接分解:指将一个关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的关系模式。

九、数据库的控制功能

1.事务管理

事务是一个操作序列,是数据库环境中不可分割的逻辑工作单位。

事务的4个特性是:原子性、一致性、隔离性和持久性。

原子性:事务的所有操作在数据库中要么全做,要么全都不做。

一致性:一个事务独立执行的结果将保持数据的一致性,即数据不会因为事务的执行而遭受破坏。

隔离性:一个事务的执行不能被其他事务干扰。

持久性:一个事务一旦提交,它对数据库中数据的改变必须是永久的,即便系统出现故障时也是如此。

2.并发控制

并发操作是指在多用户共享的系统中,许多用户可能同时对同一数据进行操作。

并发操作带来问题的原因是事务的并发操作破坏了事务的隔离性。

DBMS的并发控制子系统负责协调并发事务的执行,保证数据库的完整性不受破坏,避免用户得到不正确的数据。

3.S锁,X锁

并发控制的主要技术是封锁。

(1)排他锁(X锁):又称写锁,若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他事务都不能再对A加任何类型的锁,直到T释放A上的锁。

(2)共享锁(S锁):又称读锁,若事务T对数据对象A加上S锁,则只允许T读取A,但不能修改A,其他事务只能再对A加S锁,直到T释放A上的S锁。

4.备份和恢复

备份:

人为错误、硬盘损坏、计算机病毒、断电或是天灾人祸等都有可能造成数据的丢失,所以应该强调备份的重要性。

(1)静态转储和动态转储。静态转储是指在转储期间不允许对数据库进行任何存取、修改操作;动态转储是指在转储期间允许对数据库进行存取、修改操作,因此,转储和用户事务可并发执行。

(2)海量转储和增量转储。海量转储是指每次转储全部数据;增量转储是指每次只转储上次转储后更新过的数据。

(3)日志文件。在事务处理的过程中,DBMS把事务开始、事务结束以及对数据库的插入、删除和修改的每一次操作写入日志文件。一旦发生故障,DBMS的恢复子系统便利用日志文件撤销事务对数据库的改变,回退到事务的初始状态。因此,DBMS利用日志文件来进行事务故障恢复和系统故障恢复,并可协助后备副本进行介质故障恢复。

数据恢复有3个步骤:

(1)反向扫描日志文件,查找该事务的更新操作。

(2)对事务的更新操作执行逆操作。

(3)继续反向扫描日志文件,查找该事务的其他更新操作,并做同样的处理,直到回到事务的开始标志。

十、数据仓库与数据挖掘基础

十一、 大数据基本概念

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spark 的容错机制:保障数据处理的稳定性与高效性

Spark 的介绍与搭建:从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交:本地与集群模式全解析-CSDN博客 Spark on YARN:Spark集群模式…

NLP论文速读(NeurIPS2024)|使用视觉增强的提示来增强视觉推理

论文速读|Enhancing LLM Reasoning via Vision-Augmented Prompting 论文信息: 简介: 这篇论文试图解决的问题是大型语言模型(LLMs)在处理包含视觉和空间线索的推理问题时的局限性。尽管基于LLMs的推理框架(如Chain-of-Thought及其…

在 RHEL 8 | CentOS Linux release 8.5.2111上安装 Zabbix 6

1. 备份YUM源文件 cd /etc/yum.repos.d/ mkdir bak mv C* ./bak/ wget -O /etc/yum.repos.d/CentOS-Linux-BaseOS.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo yum clean all yum makecache2. 将 SELinux 设置为宽容模式,如下所示。 sudo s…

在 Mac 和 Windows 系统中快速部署 OceanBase

OceanBase 是一款分布式数据库,具备出色的性能和高扩展性,可以为企业用户构建稳定可靠、灵活扩展性能的数据库服务。本文以开发者们普遍熟悉的Windows 或 Mac 环境为例,介绍如何快速上手并体验OceanBase。 一、环境准备 1. 硬件准备 OceanB…

【jenkins】jenkins使用pipeline配置django项目

目录 一、部署jenkins 二、配置 2.1 获取gitee账户凭证 2.2 安装pipeline插件 三、创建一个流水线项目 四、选择创建的项目 4.1 源码设置 4.2 配置 前言:个人使用,比较简单,做个笔记,这里我使用的是gitee作为仓库 一、部署…

qt QSyntaxHighlighter详解

1、概述 QSyntaxHighlighter是Qt文本处理框架中的一个强大工具,它专门用于实现文本编辑器中的语法高亮功能。通过自定义高亮规则,QSyntaxHighlighter可以实现对代码编辑器、富文本编辑器中的关键字、注释等内容的高亮显示。这一功能对于提升代码的可读性…

macOS 设置固定IP

文章目录 以太网Wifi![请添加图片描述](https://i-blog.csdnimg.cn/direct/65546e966cae4b2fa93ec9f0f87009d8.png) 基于 macOS 15.1 以太网 Wifi

从0开始深度学习(28)——序列模型

序列模型是指一类特别设计来处理序列数据的神经网络模型。序列数据指的是数据中的每个元素都有先后顺序,比如时间序列数据(股票价格、天气变化等)、自然语言文本(句子中的单词顺序)、语音信号等。 1 统计工具 前面介绍…

SpringBoot(八)使用AES库对字符串进行加密解密

博客的文章详情页面传递参数是使用AES加密过得,如下图所示: 这个AES加密是通用的加密方式,使用同一套算法,前端和后端都可以对加密之后的字符串进行加密解密操作。 目前线上正在使用的是前端javascript进行加密操作,将加密之后的字符串再传递到后端,PHP再进行解密操作。…

JVM双亲委派与自定义类加载器

一. 类加载过程 Java Application运行前需要将编译生成的字节码文件加载到JVM中,JVM类加载过程如下: 1. 加载 加载阶段是类加载的第一步,在加载阶段JVM会查找并加载类的字节码文件,这个过程通常从类路径(Classpath…

多媒体信息检索

文章目录 一、绪论二、文本检索 (Text Retrieval)(一) 索引1.倒排索引2.TF-IDF (二) 信息检索模型 (IR模型,Information Retrieval)1.布尔模型 (Boolean模型)(1)扩展的布尔模型 (两个词)(2)P-Norm模型 (多个词) 2.向量空间模型 (Vector Space Model,VSM)…

Python | Leetcode Python题解之第559题N叉树的最大深度

题目: 题解: class Solution:def maxDepth(self, root: Node) -> int:if root is None:return 0ans 0queue [root]while queue:queue [child for node in queue for child in node.children]ans 1return ans

【Pikachu】SQL-Inject实战

困难、痛苦、挫折总是接踵而至,这正是世间的常理。要是输了,就只能说明我不过是如此程度的男人。 1.Sql Inject(SQL注入)概述 Sql Inject(SQL注入)概述 在owasp发布的top10排行榜里,注入漏洞一直是危害排名第一的漏洞,其中注入…

VSCode中python插件安装后无法调试

问题 VSCode中python插件安装后无法调试,如下,点击调试,VScode中不报错,也没有调试 解决方法 1、查看配置 打开所在路径 2、拷贝 将整个文件夹拷贝到vscode默认路径下 3、问题解决 再次调试,可以正常使用了…

官方压测工具memtier-benchmark压测redis

1 概述 memtier_benchmark是一种高吞吐量的性能基准测试工具,主要用于Redis和Memcached。它是 Redis官方开发团队开发的,旨在生成各种流量模式,以便测试和优化以上两个数据库的性能。 memtier_benchmark的一些关键特点如下: 多…

海外云手机在出海业务中的优势有哪些?

随着互联网技术的快速发展,海外云手机已在出海电商、海外媒体推广和游戏行业都拥有广泛的应用。对于国内的出海电商企业来说,短视频引流和社交平台推广是带来有效流量的重要手段。借助云手机,企业能够更高效地在新兴社交平台上推广产品和品牌…

kafka 的一些问题,夺命15连问后续

16、kafka是如何做到高效读写 因为kafka本身就是分布式集群,可以采用分区技术,并行度高 读取数据可以采用稀疏索引,可以快速定位要消费的数据(mysql中索引多了以后,写入速度就慢了) 可以顺序写磁盘&#…

Vue Cli 脚手架目录文件介绍

小试牛刀 //vetur高亮; vuetab 快速生成 <template><div class"box">我是个盒子<button click"fn">按钮</button></div> </template><script> export default {methods:{fn(){alert("Hello Vue")}} …

基于springboot的家装平台设计与实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

Docker平台搭建方法

Docker平台搭建方法 1.1在VMware中创建两个虚拟机&#xff0c;只需要1个网卡&#xff0c;连接192.168.200.0网络。 虚拟机分配2个CPU,2G内存&#xff0c;60G硬盘&#xff0c;主机名分别为server和client,IP地址分别为192.168.200.137和192.168.200.138。server节点还兼做regis…