系统架构设计师-数据库系统(3)

2023-09-20 17:17:21

目录

一、数据控制

        1、安全性

        2、完整性

        3、并发控制

        4、故障恢复

二、数据库设计概述

        1、数据库设计关注的问题

        2、数据库性能优化

        3、规范化与反规范化


一、数据控制

        1、安全性

        2、完整性

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

                (2)参照完整性约束:关系与关系间的引用,其他关系的主键或空值。

                (3)用户自定义完整性约束:应用环境决定。

                【触发器】:可以完成一些复杂的完整性约束。例如:对表A的某行或某个字段进行监听,如果发生变化就可以同步做更新。

        3、并发控制

         【事务】

        (1)原子性 

                事务中包含的各项操作在一次执行过程中,只允许出现两种状态之一,要么都成功,要么都失败。任何一项操作失败都会导致整个事务的失败,同时其它已经被执行的操作都将被撤销并回滚,只有所有的操作全部成功,整个事务才算是成功完成。

        (2)一致性

                事务的执行不能破坏数据库数据的完整性和一致性,一个事务在执行前和执行后,数据库都必须处在一致性状态。例如:从A账号向B账号转钱,不可能A账户扣了钱,B账户却没收到钱。                

        (3)隔离性

                在并发环境中,并发的事务是相互隔离的,一个事务的执行不能被其它事务干扰。不同事务并发操作相同数据时,每个事务都有各自完整的数据空间。 

        (4)持续性(持久性)

                事务一旦提交后,数据库中的数据必须被永久保存下来。即使服务器系统崩溃或服务器宕机等故障,只要数据库重新启动,就一定能够将其恢复到事务成功结束后的状态。

        【封锁协议

                S封锁:共享锁,读锁,可重复加锁。

                X封锁:排他锁,写锁,不可重复加锁,如已加别的锁需等待解锁后在进行加锁。

        (1)一级封锁协议:只有X锁,只能加一次。可以解决丢失更新问题

        (2)二级封锁协议:有S锁也有X锁,读完立即释放S锁。可以解决脏数据的读出

        (3)三级封锁协议:有S锁也有X锁,事务结束才释放S锁。可以解决不可重复读问题

        (4)两段锁协议:加解锁操作在整个事务的代码段中分开,前半段都是加锁,后半段都是解锁。

        4、故障恢复

                (1)冷备份

                        也称为静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来。

                (2)热备份

                        也称为动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出来。

                【完全备份】:备份所有数据。

                【差量备份】:仅备份上一次全备份之后变化的和数据。

                【增量备份】:备份上一次备份之后变化的数据。

                【日志文件】:事务日志是针对数据库改变所作的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中。

                例如下计划:

                        周日全备,周一周二根据周日数据进行增备,周三根据周日数据进行差备,周四根据周三数据进行增备,周五根据周日数据进行差备,周六根据周五数据进行增备。

                【故障及解决方法

二、数据库设计概述

        1、数据库设计关注的问题

                性能数据一致性、安全

        2、数据库性能优化

                理论上看:在数据库优化设计方面,同等条件下,自然连接的性能优于笛卡尔积。

        3、规范化与反规范化

                【规范化

                随着规范化范式级别的提升,查询效率降低了。

                【反规范化

                【反规范化优缺点

                        优点:连接操作少,检索快统计快,需要查的表减少,检索容易。

                        缺点

更多推荐

Linux文件操作基础:快速入门指南和实用技巧

文章目录linux文件操作基础I.查看文件和目录1.`ls`命令用法`ls`命令详细介绍`pwd`命令用法:`pwd`命令详细介绍`cd`命令用法:`cd`命令详细介绍:II.创建文件和目录`touch`命令用法`touch`命令详细介绍III.复制、移动和重命名`cp`命令用法`cp`命令详细介绍IV.删除文件和目录

无人机(UAV)隐蔽通信(covert communication)的联合功率分配和轨迹设计

文章目录摘要Introduction本文是JointPowerAllocationandTrajectoryDesignforUAV-EnabledCovertCommunication一文的阅读笔记摘要在本文中,我们研究了无人机(UAV)网络中的隐蔽通信,其中无人机将信息传输给多个地面用户(GU),而不会被隐藏探测器

计算机竞赛 深度学习 机器视觉 车位识别车道线检测 - python opencv

0前言🔥优质竞赛项目系列,今天要分享的是🚩深度学习机器视觉车位识别车道线检测该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!🥇学长这里给一个题目综合评分(每项满分5分)难度系数:3分工作量:3分创新点:4分🧿更多资料,项目分享:https://gitee.com/dancheng-senior/postgr

走进人工智能|自主无人系统 从概念到现实的飞跃

前言:自主无人系统是具备自主感知、决策和执行能力的智能系统,无需人类干预即可完成任务的技术体系。文章目录序言AUS的现有应用从概念到现实的飞跃`技术发展历程`目前形式领跑人困难和挑战总结自主无人系统(AutonomousUnmannedSystems,简称AUS)是当代科技领域的重要发展方向之一。它代表了人工智能、机器

云原生之深入解析Kubernetes Pod的网络状态监控

一、前言在Kubernetes系统里,由kubelet内置的cadvisor组件收集每个容器资源监控信息,但官方基于性能相关的考虑,如果抓取这些每个容器中网络相关的指标,将会耗费大量的CPU内存资源,cadvisor中默认给关掉了网络等相关指标的收集。https://github.com/google/cadvisor

vue中使用vue-property-decorator

一、前言Vue.js是一个非常受欢迎的前端框架,它能够快速构建交互性强的单页面应用。而vue-property-decorator是一个用于Vue.js的装饰器库,可以帮助我们更方便地编写Vue.js组件。下面来详细讲解vue-property-decorator的用法。vue-class-component是vue的

更快更强更稳定:腾讯向量数据库测评

向量数据库:AI时代的新基座人工智能在无处不在影响着我们的生活,而人工智能飞速发展的背后是需要对越来越多的海量数据处理,传统数据库已经难以支撑大规模的复杂数据处理。特别是大模型的出现,向量数据库横空出世。NVIDIACEO黄仁勋在NVIDIAGTCKeynote演讲中首次提到了向量数据库,并强调它在构建专有大型语言模型

【操作系统】进程控制与进程通信

🐌个人主页:🐌叶落闲庭💨我的专栏:💨c语言数据结构javaEE操作系统Redis石可破也,而不可夺坚;丹可磨也,而不可夺赤。操作系统一、进程控制1.1什么是进程控制1.2如何实现进程控制(“原语”实现)1.2.1如何实现原语的“原子性”1.3进程的创建1.4进程的终止1.5进程的阻塞1.6进程的唤醒1.7进程的

阶段性总结:跨时钟域同步处理

对时序图与Verilog语言之间的转化的认识:首先明确工程要实现一个什么功能;用到的硬件实现一个什么功能。要很明确这个硬件的工作时序,即:用什么样的信号,什么变化规则的信号去驱动这个硬件。然后对工程进行模块划分,顶层尽量不要有逻辑设计,尽量只放在子模块里,尽量提升模块复用性。按照模块划分,画出子模块的时序图。重点:再画

全量数据采集:不同网站的方法与挑战

简介在当今数字化时代中,有数据就能方便我们做出很多决策。数据的获取与分析已经成为学术研究、商业分析、战略决策以及个人好奇心的关键驱动力。本文将分享不同网站的全量数据采集方法,以及在这一过程中可能会遇到的挑战。部分全量采集方法1.撞店铺ID(限店铺ID是数字)通过循环店铺ID,我们能够收集店铺内所有在售商品的信息。这一方

SWC 流程

一个arxml存储SWC(可以存多个,也可以一个arxml存一个SWC)一个arxml存储composition(只能存一个)一个arxml存储systemdescription(通过importdbc自动生成system)存储SWC和composition的arxml文件分开,有效的实现了swc的复用。因为SWC的创

热文推荐