软件设计师-数据库

上午6分,下午15分,很重要
数据库,长期存储在计算机内的、有组织的、可共享的数据集合,数据库中的数据按照数据模型组织,描述和存储,具有较小的冗余度,较高的数据独立性和易拓展性,并可为各种用户共享。
数据库管理系统,数据库系统的核心软件,在操作系统的支持下,解决如何科学的组织和存储数据,如何高效的获取和维护数据的系统软件问题,主要功能包括数据定义功能,数据操纵功能,数据库运行管理,数据组织,存储,管理和数据库的建立与维护。特征:数据结构化且统一管理,有较高的数据独立性,提供数据控制功能。分类:关系数据库系统,支持关系模型的数据库系统;面向对象的数据库系统,支持以对象形式对数据建模的数据库系统;对象关系数据库系统:在传统的关系数据模型基础上,提供元组,数据,集合等更丰富的数据类型以及处理新的数据类型操作的能力,这样形成的数据模型称为对像关系数据模型,基于对象关系数据模型的DBS称为对象关系数据库系统。

数据库的概念

  • 数据库系统由数据库、数据库管理系统和硬件等组成,数据库系统是在文件系统的基础上发展起来的。数据库系统由于能够减少数据冗余、提高数据独立性并集中检查数据完整性,才获得广泛的引应用。数据库系统提供给用户的接口是数据库语言。SQL语言已被国际标准化组织采纳为关系型数据库的标准语言。

分布式数据系统

  • 分布式数据系统是传统集中式数据库系统的发展,因此它具有集中式数据系统的特点。分布式主要的特点有:
  • 数据的集中控制,分布式数据系统由传统的数据库发展而来,因此也具有数据集中控制的特性
  • 数据的独立性,独立性指的是数据的组成对应用程序来说是透明的。应用程序只需要考虑数据的逻辑结构,而不用考虑数据的物理存放,因而数据在物理组织上的改变不会影响应用程序
  • 数据冗余可控性,分布式数据库的数据一般存储在经常使用的场地上,但应用对两个或以上场地的同一数据有存取要求也是时常发生的,而且当传输代价高于存储代价时,可以将同一数据存储在两个(甚至更多)场地上,以节省传输的开销。由于这种冗余是在系统控制下的,所以给系统造成的不利影响是可控的。
  • 场地自治性,局部用户使用的数据可以不参与到全局数据库中去,这种局部应用独立于全局应用的特性就是局部数据库的自治性。存取的有效性分布式数据库系统的全局查询可以分解成等效的子查询,即全局查询的执行计划可分解成多个子查询执行计划,而子查询计划又是在各个场地上分布式执行的。

数据仓库

  • 面向主题,将关于主题的数据组织起来分析数据及数据之间的关系
  • 集成性,将业务系统中关于主题的数据集中起来,对数据进行一系列预处理,随时间变化的特征体是不进行分析数据更新操作,但数据仓库随时间变化会不断增加、删除和修改数据
  • 相对稳定,数据仓库中的数据一般不会修改
  • 反映历史变化,数据仓库中包含历史数据,用于支持管理决策

数据库的三级模式结构

  • 外模式,对应用户级数据库,外模式(子模式,用户模式)用以描述用户看到的或使用的那部分数据的逻辑结构,用户根据外模式用数据操作语句或应用程序去操作数据库中的数据。外模式主要描述组成用户视图的哥哥记录的组成,相互关系,数据项的特征,数据的安全和完整性约束条件。外模式是数据库用户(包括程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示,一个数据库可以有多个外模式,一个应用程序只能使用一个外模式。
  • 概念模式,对应于概念级数据库。概念模式(模式,逻辑模式)用以描述整个数据库中数据库的逻辑结构,描述现实世界中的实体及其性质与联系,定义记录,数据项,数据完整性条件及记录之间的联系,是数据项值的框架。数据库系统概念模式通常还包含含有访问控制,保密定义,完整性检查等方面的内容,以及概念、物理之间的映射。概念模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一种概念模式。
  • 内模式,对应物理级数据库。内模式是整个数据库的最底层表示,不同于物理层,它假设外设是一个无限的线性地址空间。内模式定义的存储记录的类型,存储域的表示以及存储记录的物理顺序,指引元、索引和存储路径等数据的存储组织。内模式是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。
  • 数据库的两级独立性是指物理独立性和逻辑独立性。三个抽象级间通过两级映射(外模式/模型映射,模式/内模式映射)进行相互转换,使得数据库的三级形成统一的整体
  • 物理独立性,指的是用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变时,应用程序不需要改变,物理独立性存在于概念模式和内模式之间的映射转换,说明物理组织发生变化时应用程序的独立程度。
  • 逻辑独立性指用户的应用程序与数据库中的逻辑结构是相互独立的,当数据的逻辑结构发生改变时,应用程序不需要改变。逻辑独立性存在于外模式和概念模式之间的映射关系,说明概念模式发生变化时应用程序的独立程度,逻辑独立比物理独立性更难实现。

数据库设计的阶段

  • 需求分析,需求收集和分析,得到数据字典描述的数据需求,用数据流图描述的处理需求
  • 概念结构设计,对需求进一步综合,归纳和抽象,形成一个独立于具体DBMS的概念模型,用E-R图表示
  • 逻辑结构设计,将概念结构转换为某个DBMS所支持的数据模型。比如关系模型,并对其进行优化
  • 物理结构设计,为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构,存取方法)
  • 数据库实施,运用DBMS提供的数据语言,根据逻辑设计和物理设计的结构建立数据库编制与调试应用程序,组织数据入库,并运行测试。
  • 数据库运行与维护,性能监测,转储,恢复,数据库重组和重构

关系数据库的规范化

  • 解决数据冗余,插入异常,删除异常和更新异常等
  • 函数依赖
  • 非平凡的函数依赖,x->y,y不x
  • 平凡的函数依赖,x->y,y包含于x
  • 完全函数依赖,x->y,但是对于x的任何一个真子集,都有x’不能决定y,则称y对x完全函数依赖
  • 部分函数依赖,如果x->y,但是y不完全依赖与x
  • 依赖传递,x->y,y->z,则称z对x传递依赖
  • 码,k为R的属性组合,若K->U,且对k的任何一个真子集K’都有K’不能决定U,则K为U的候选码,若有多个候选码,则选择一个作为主码。候选码也被称为候选关键字
  • 主属性和非主属性,包含在候选码中的属性称为主属性,否则是非主属性
  • 外码,若R中的属性或属性组X非R的码,但X是另一个关系的码,则称X为外码
  • 公理。A1自反律,A2增广律,A3传递律,
  • 推理,合并规则,伪传递律,分解规则
  • 第一范式,所有的属性都是不可再分的数据项
  • 第二范式,在第一范式的基础上消除了部分依赖
  • 第三范式,在第二范式的基础上消除了传递依赖
  • 模式分解,无损连接性,保持函数依赖

E-R模型

  • 实体,用矩形表示,表示具有相同类型及相同性质(属性)的实体集合,表示考虑问题的对象
  • 属性,用椭圆形表示,表示实体类型和联系类型的属性,对于键属性,在属性下面画一条横线。
  • 联系,用菱形表示,表示同类联系的集合,
  • 不同实体集之间存在以下三种联系类型,1:1,1:n,n:m
  • 1对1联系,如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然
  • 1对多联系,如果对于实体集A中的每一个实体,实体集B中有N个实体(n>=0)与之联系,反之对于B中,A中至多有一个与之联系
  • 多对多联系,,如果对于实体集A中的每一个实体,实体集B中有N个实体(n>=0)与之联系,反之亦然
  • 实体之间的联系不仅存在两个实体之间,还存在于两个以上的实体之间

关系模型

关系运算

  • 并,RUS, R与S有相同的关系模式,并的结果是R或S
  • 差,R-S,具有相同的模式,属于R不属于S
  • 广义笛卡尔积,RXS,R中每一行和S中每一行组成新的一行
  • 投影,从R中选出若干属性列A组成新的关系,π
  • 选择,从R中选择符合关系的元组,δ
  • 交,同时属于R,S
  • 连接,笛卡尔积是无条件连接, θ连接,等值连接,自然连接(R,S中相同列全部相等的元组组合,相同属性合并成一个)
  • 除,同时从关系的水平方向和垂直方向进行运算
  • 广义投影,允许在投影列表中使用算数运算
  • 外连接,左外连接,有外连接,全连接,把左右不匹配的使用Null填充加入到连接结果

数据库备份方法

  • 静态转储,转储期间不允许对数据库操作
  • 动态转储,用户事务可并行
  • 海量转储(完全备份),每次转储全部数据
  • 增量转储(增量备份),只转储上一次完全转储或增量转储后更新过的数据
  • 差量转储(差量备份),转储上一次完全备份后发生变化的数据,优点速度快,占用空间小,
  • 日志文件,把每一次操作都写入日志,出现故障可以利用日志恢复数据库

关系模式分解

  • 判断无损分解,使用二维表格法,横表头是属性,列是关系,然后推导,两行是否有一样的表示可以推导出来,看看能不能第一行全部出现a
  • 判断保持函数依赖,需要根据关系去推导

事务

  • 开始事务,事务提交,事务回滚
  • 特性:
  • 原子性,数据库的逻辑工作单元,保证事务包含的一组更新是原子不可分的。也就是这些操作是一个整体,要么全做要么全不做,不能部分完成。
  • 一致性,使数据库从一个一致状态变到另一个一致状态,
  • 隔离性,不被其他事务干扰,一个事物的执行不能被其他事务干扰,看上去每个成功事务像串行一样
  • 持久性,一旦事务提交,改变就是永久的,无论系统发生什么故障都不应该影响已经提交的数据
  • 故障类型:事物内部故障(事务的逻辑有问题),系统故障(软故障),介质故障(硬故障),计算机病毒

并发控制

  • 并发导致的问题
  • 丢失更新,两个事务读取统一数据并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改丢失。
  • 不可重复度,事务T1读取数据后,事务T2修改了数据,事务T1无法再现前一次的读取结果
  • 读脏数据,T1修改某一数据后写会磁盘,T2读取数据后,T1因为某些原因撤销的修改,导致T2读取到的数据和数据库中的数据不一致
  • 封锁技术
  • X封锁,排他锁,如果事务A对数据A加了X封锁,那么只允许事务A读取和修改数据A,其他事物要等到事务A接触X锁之后,才能对数据A实现任何类型的锁。
  • S封锁,共享锁,事务A对数据A添加S锁,允许事务A读取数据A,但不能修改数据,在S锁解封之前都不能添加X锁。

数据完整性约束

  • 实体完整性约束,规定表的每一行在表中是唯一的实体
  • 参照完整性约束,指两个表的主关键字和外关键字的数据应一致,保证了表之间的数据一致
  • 用户自定义的完整性约束

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

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

相关文章

MySQL:CRUD

MySQL表的增删改查(操作的是表中的记录) CRUD(增删改查) C-Create新增R-Retrieve检查,查询U-Update更新D-Delete删除 新增(Create) 语法: 单行数据全列插入 insert into 表名[字段一,字段…

【stable diffusion部署】手把手教你从0基础入门Stable Diffusion

前言 在开始学之前,我想提前说一下,我所理解的AI绘画的本质,就是手替,人提出方案,AI帮你完成具体的作画过程。 写这篇文章的初衷,网上的Stable Diffusion教程太多了,但是我真正去学的时候发现…

前端单元测试框架 引入说明

1. 背景: 2. 如何选择: 2.1. 流行框架 Jest:由Facebook开源的JavaScript测试框架,应用于脸书系以及 ReactJs 系Mocha:适用于 NodeJs 和 浏览器、简易、灵活、有趣的JavaScript 测试框架Jasmine:BDD&#…

有效提升网站流量的SEO技巧分享

内容概要 在数字时代,SEO(搜索引擎优化)已经成为提升网站曝光度和吸引访问者的重要工具。SEO的核心目标是通过优化网站的各个方面,提高在搜索引擎结果页面上的排名,从而获得更多的自然流量。有效的SEO策略能够让您在激…

MacBook不额外安装软件,怎样投屏到安卓手机上?

提起iPhone或MacBook的投屏,人们总会想到airplay功能。但离开了苹果生态,其他品牌的手机电脑就未必配备airplay功能了。 如果想要将MacBook的电脑屏幕共享到安卓手机或平板上,到底要怎样做?需要安装什么软件吗? 不需要…

自定义面板,高效的游戏性能分析利器

为了更有效地聚焦并解决性能问题,UWA报告采用了分模块监控策略,确保每个模块独立成章,各司其职。然而,随着对性能分析需求的不断升级,我们已经意识到,在深入分析某些跨模块的性能瓶颈或优化点时&#xff0c…

2024第四次随堂测验参考答案

从第四次开始答案会以c语言提供&#xff0c;自行了解&#xff0c;学习 6-1 报数 报数游戏是这样的&#xff1a;有n个人围成一圈&#xff0c;按顺序从1到n编好号。从第一个人开始报数&#xff0c;报到m&#xff08;<n&#xff09;的人退出圈子&#xff1b;下一个人从1开始报…

CTF杂项基本题目思路(图片文件隐写-压缩文件-流量取证)

一、文件隐写 1.当遇到文件类型未知的文件时怎么办&#xff1f; ①linux系统可以使用file命令查看文件的类型&#xff0c;格式&#xff1a;file 文件名 ②使用winhex或者010editor查看文件头&#xff0c;从而判断文件的类型&#xff0c;①中file命令的本质也是查看文件的文件…

sa-token使用及与spring-security的对比

sa-token相关资料地址 官网: https://sa-token.cc/ gitee: https://gitee.com/dromara/sa-token github: https://github.com/dromara/sa-token 快速开始: https://sa-token.cc/doc.html#/ sa-token典型应用 这里我直接拿SpringBoot_v2&#xff08;springboot的开源后台脚手…

MySQL:left join后用on与where的区别

一、前言 前几天项目中&#xff0c;写SQL时本想通过 A left B join on and 后面的条件来使查出的两条记录变成一条&#xff0c;奈何发现还是有两条。在此记录一下&#xff0c;on与where的区别。 二、ON 原始数据展示 SELECT t1.*,t2.* FROM t_test_staff t1 left join t_te…

ANX9833FN-AA-R ANX9833 ANALOGIX QFN48 VGA视频转换器件

ANX9833概述:ANX9833是VGA显示接口适配器集成电路设计一个显示端口1.2/1.1源连接到一个VGA显示。与芯片上的单片机和记忆,ANX9833不需要任何外部配置或设置。它自动引导VGA显示接口适配器的输出,有效地处理所有类型的遗产显示器、投影仪,和电视。ANX9833提供Gbps带宽在两车道到…

2025全平台短剧系统 : 快手、抖音、微信全覆盖

之前&#xff0c;我曾详细阐述过公司短剧系统的一些功能&#xff0c;它们共同构建了一个全面、高效的短剧制作与运营平台。这些功能&#xff0c;无论是媒资管理、剧场设定&#xff0c;还是后期运营&#xff0c;都是经过深思熟虑、精心设计的&#xff0c;是一个成熟的短剧系统所…

机圈白刃战,vivo聚势成风

金秋十月&#xff0c;国产手机市场进入了空前激烈的竞争局势&#xff0c;几乎每天都有发布会&#xff0c;甚至隔段时间就有新机话题登上热搜。网友戏称&#xff0c;发布会密度高到“工作日都不够用了”。 10月14日&#xff0c;vivo X200系列率先登场&#xff0c;拉开了国产旗舰…

scp 或 ssh 报错no matching host key type found. Their offer: ssh-rsa 解决方案

报错如下&#xff1a; 解决方案&#xff1a; 在 scp 或 ssh 命令后面增加参数&#xff1a; -o HostKeyAlgorithmsssh-rsa 可以解决此问题&#xff0c; scp格式如下&#xff1a; scp -o HostKeyAlgorithmsssh-rsa [local_file_path] [user][hosts]:[remote_path]

ElasticSearch概述

ElasticSearch概述 Elaticsearch&#xff0c;简称为es&#xff0c; es是一个开源的高扩展的分布式全文检索引擎&#xff0c;它可以近乎实时的存储、检索数据&#xff1b;本身扩展性很好&#xff0c;可以扩展到上百台服务器&#xff0c;处理PB级别的数据。es也使用Java开发并使…

一文彻底了解UDHCP源码核心☝️

&#x1f344;参考学习: udhcp源码剖析&#xff08;一&#xff09;——DHCP服务器和客户端的工作流程_udhcpc源码v1.29.2-CSDN博客 前言介绍 本文深入探讨了DHCP服务器和客户端的工作流程&#xff0c;以udhcp为例&#xff0c;详细阐述了udhcpd&#xff08;服务器&#xff09;…

开启鸿蒙开发之旅:静态页面搭建

写在前面 了解了一些常用的系统组件及其属性之后&#xff0c;我准备开始搭建我第一个页面&#xff0c;本次鸿蒙Next初体验我准备模仿这款“提醒事项”APP&#xff0c;从页面搭建到基本功能实现。今天从入口页开始&#xff1a; 布局思路 整体结构 从该页面的整体布局结构来看&…

C++20 STL CookBook 7 Containers(II)

让vector在插入删除的时候仍然保证是有序的 首先&#xff0c;STL的确提供了一种办法来检查我们的目标容器是不是有序的&#xff1a;std::is_sorted - cppreference.com&#xff0c;也就是std::is_sorted。我们当然可以这样做&#xff1a; #include <iostream> #include…

二叉树搜索树(下)

二叉树搜索树&#xff08;下&#xff09; 二叉搜索树key和key/value使用场景 key搜索场景 只有key作为关键码&#xff0c;结构中只需要存储key即可&#xff0c;关键码即为需要搜索到的值&#xff0c;搜索场景只需要判断 key在不在。key的搜索场景实现的二叉树搜索树支持增删查…

人力资源招聘系统-提升招聘效率与质量的关键工具

在当今这个竞争激烈的商业环境中&#xff0c;企业要想在市场中立于不败之地&#xff0c;关键在于拥有高素质的人才队伍。然而&#xff0c;传统的招聘方式往往效率低下&#xff0c;难以精准匹配企业需求与人才特质&#xff0c;这无疑给企业的发展带来了不小的挑战。 随着科技的飞…