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

news2024/11/23 12:37:40

一、基本概念

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)继续反向扫描日志文件,查找该事务的其他更新操作,并做同样的处理,直到回到事务的开始标志。

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

十一、 大数据基本概念

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

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

相关文章

Odoo:免费开源的钢铁冶金行业ERP管理系统

文 / 开源智造 Odoo亚太金牌服务 简介 Odoo免费开源ERP集成计质量设备大宗原料采购,备件设材全生命周期,多业务模式货控销售,全要素追溯单品,无人值守计量物流,大宗贸易交易和精细化成本管理等方案;覆盖…

[免费]SpringBoot+Vue3校园宿舍管理系统(优质版)【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的SpringBootVue3校园宿舍管理系统(优质版),分享下哈。 项目视频演示 【免费】SpringBootVue3校园宿舍管理系统(优质版) Java毕业设计_哔哩哔哩_bilibili 项目介绍 随着信息技术的不断发展&…

Oracle的字符串函数

Oracle Ascii()函数 在Oracle中,Ascii()函数可以返回代表指定字符的数字值代码,那么Ascii()函数具体该如何实用呢? Ascii()函数语法 ASCII( single_character )参数 single_character:指定的字符来检索NUMBER代码。 如果输入多…

cesium 3DTiles之pnts格式详解

Point Cloud 1 概述 点云(Point Cloud)瓦片格式用于高效流式传输大规模点云数据,常用于 3D 可视化中。每个点由位置(Position)和可选的属性定义,这些属性用来描述点的外观(如颜色、法线等&…

记录一次非常奇怪的MIME type of “text/html“报错

报错现象 访问指定地址,一直转圈打不开,打开游览器控制台发现有如下报错: Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of “text/html”. Strict MIME type checking i…

git新手使用教程

git新手使用教程 一、安装和初始化配置2、新建仓库3.工作区域和文件状态4.添加和提交文件5 git reset回退版本6 使用git diff查看差异7 使用git rm删除文件8 .gitignore忽略文件9 注册GitHub账号10 SSH配置和克隆仓库11 关联本地仓库和远程仓库12 Gitee的使用 由B站视频教程整理…

《TCP/IP网络编程》学习笔记 | Chapter 10:多进程服务器端

《TCP/IP网络编程》学习笔记 | Chapter 10:多进程服务器端 《TCP/IP网络编程》学习笔记 | Chapter 10:多进程服务器端进程概念及应用并发服务端的实现方法理解进程进程ID通过调用 fork 函数创建进程 进程和僵尸进程僵尸进程产生僵尸进程的原因销毁僵尸进…

推荐一款DBF文件查看器:DBF Viewer 2000

DBF Viewer 2000是一款强大、简洁且易于使用的 DBF(Clipper、dBase、FoxBase、Foxpro、Visual Foxpro、Visual DBase、VO、DB2K)文件浏览器和编辑器。 软件特点: - 能够快速、有效地浏览和编辑各种类型的 DBF 文件。 - 支持多种文件格式,包括 dBase、V…

基于构件的软件开发、软件维护、区块链技术及湖仓一体架构的应用

目录 试题一 论基于构件的软件开发方法及其应用 试题二 论软件维护方法及其应用 试题三 论区块链技术及应用 试题四 论湖仓一体架构及其应用 相关推荐 试题一 论基于构件的软件开发方法及其应用 基于构件的软件开发(Component-Based Software Development,CBSD…

SCRFD算法解读及环境安装实践

论文地址:https://arxiv.org/abs/2105.04714,accepted by ICLR-2022 工程地址:https://github.com/deepinsight/insightface/tree/master/detection/scrfd 下一篇博客,如何用SCRFD训练自己的数据 文章目录 1、算法解读2、环境安装…

在IntelliJ IDEA中创建带子模块的SpringBoot工程

前言 在项目开发中,一个工程往往有若干子工程或模块,所以主工程一般是一个容器,本文介绍在IntelliJ IDEA中创建带多模块的SpringBoot工程的详细步骤。 1、首先打开IntellJ IDEA(以下简称IDEA),创建一个新项目。假定新…

深入剖析输入URL按下回车,浏览器做了什么

DNS 查询 首先,是去寻找页面资源的位置。如果导航到https://example.com, 假设HTML页面被定位到IP地址为93.184.216.34 的服务器。如果以前没有访问过这个网站,就需要进行DNS查询。 浏览器向域名服务器发起DNS查询请求,最终得到一个IP地址。第一次请求…

提升百度排名的有效策略与技巧解析

内容概要 提升百度排名对于网站的成功至关重要。首先,了解百度排名的基本原则,掌握搜索引擎是如何评估网页质量的,是优化过程中不可或缺的一部分。搜索引擎越来越倾向于将用户需求放在首位,因此提供高质量的内容和良好的用户体验…

【GPTs】MJ Prompt Creator:轻松生成创意Midjourney提示词

博客主页: [小ᶻZ࿆] 本文专栏: AIGC | GPTs应用实例 文章目录 💯GPTs指令💯前言💯MJ Prompt Creator主要功能适用场景优点缺点 💯 小结 💯GPTs指令 中文翻译: 任务说明 您是一款为幻灯片工…

机器人领域顶刊TRO十月最新论文一览,覆盖状态估计、任务分配、人机协作等多个领域

No.1 基于可见性的近似追逃方法 论文标题:Approximate Methods for Visibility-Based Pursuit–Evasion 中文标题:基于可见性的近似追逃方法 作者:Emmanuel Antonio; Israel Becerra; Rafael Murrieta-Cid 本文提出了一种基于采样的动态规…

解决编译 fast-lio-lc 算法时遇到的error方法

1.创建工作空间和下载 fast-lio-lc功能包 mkdir -p fast_lio_lc_ws/src cd fast_lio_lc_ws/src/ catkin_init_workspace git clone https://github.com/yanliang-wang/FAST_LIO_LC.git2.进入工作空间,编译 编译 fast-lio-lc遇到的error: 🕐error: fatal error: opencv/cv…

【Qt】Macbook M1下载安装

文章目录 一、下载Xcode命令行工具二、在Cion中配置编译器三、安装Qt四、配置qmake环境五、创建Qt项目 博主已经下载了Clion,所以本文是将qt配置到Clion上 本博客所写的教程有一定的问题,因为我在官网下载后发现有一些所需的包是没有的,不知道…

Python+Pytest+Allure+Git+Jenkins接口自动化框架

一、接口基础 接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为HTTP,RPC,Webservice,Dubbo,RESTful等类型。 接口…

Docker:镜像构建 DockerFile

Docker:镜像构建 DockerFile 镜像构建docker build DockerfileFROMCOPYENVWORKDIRADDRUNCMDENTRYPOINTUSERARGVOLUME 镜像构建 在Docker官方提供的镜像中,大部分都是基础镜像,他们只提供某个简单的功能,如果想要一个功能更加丰富…

《JavaEE进阶》----20.<基于Spring图书管理系统①(登录+添加图书)>

PS:关于接口定义 接口定义,通常由服务器提供方来定义。 1.路径:自己定义 2.参数:根据需求考虑,我们这个接口功能完成需要哪些信息。 3.返回结果:考虑我们能为对方提供什么。站在对方角度考虑。 我们使用到的…