系统架构设计师③:数据块系统

news2024/11/26 2:28:51

系统架构设计师③:数据块系统

数据库模式

数据库模式是指数据库的结构和组织方式,它描述了数据库中数据的逻辑结构和组织方式,是数据库设计的核心组成部分。以下是关于数据库模式的详细解析:

一、定义与组成

定义:数据库模式定义了数据库中数据的结构和关系,为用户提供了有效地访问和操作数据库的方式。
组成:数据库模式主要由三个部分组成,分别是实体、属性和关系。实体是现实世界中的一个对象,如人、物、事、概念等;

属性是用来描述实体的某一特性,如学生的姓名、学号、性别等;
关系则是描述实体之间的联系,如学生和班级之间的关系。

二、类型与层次

类型:数据库模式主要包括物理数据库模式、概念数据库模式和外部数据库模式三种。

物理数据库模式:指数据库在物理存储设备中的数据组织方式,主要关注数据如何在磁盘或其他物理存储设备上存储,包括数据分布的方式、存储的路径、访问数据的方法等。

概念数据库模式:指数据库的全局视图,展示了数据库中所有数据类型及其之间的关系,是从全局视角对数据库进行描述的。

外部数据库模式:指数据库用户的视图,是对数据库的局部视图的描述,一般是对概念模式的一个子集,包含了用户需要使用的数据元素和数据结构。

层次:数据库模式还包括外模式、概念模式和内模式三个层次。
外模式:用户能够看到和操作的数据库的逻辑结构,定义了用户能够使用的数据和操作方式。
概念模式:数据库的全局逻辑结构,定义了数据库中所有表的结构和关系。
内模式:数据库的物理存储结构,定义了数据在磁盘上的存储方式和组织方式。

三、作用与意义

数据结构与组织:数据库模式定义了数据库中数据的结构和组织方式,使得数据能够按照一定的规则进行存储和访问。

数据完整性:通过约束(如主键约束、外键约束、唯一约束等)和触发器等技术手段,确保数据的准确性和一致性,防止数据出现错误或不一致的情况。

数据共享与独立性:数据库中的数据可以被多个用户、多个应用程序共享访问,同时数据库系统通过三级模式和两级映像实现了数据的逻辑独立性和物理独立性,降低了应用程序对数据的依赖性。
在这里插入图片描述
数据库视图:它一个虚拟表(逻辑上的表),其内容由查询定义(仅保存SQL查询语句)同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并没有真正存储这些数据,而是通过查询原始表动态生成所需要的数据。

视图的优点:
①视图能简化用户操作
②视图使用户能以多种角度看待同一数据
③视图对重构数据库提供了一定程度的逻辑独立性
④视图可以对机密数据提供安全保护

物化视图:它不是传统意义上虚拟视图,是实体化视图,其本身会存储数据。同时当原始表中的数据更新时,物化视图也会更新。

分布式数据库

分布式数据库特点:

①高可用性:由于数据被分布在多个节点上,当某个节点发生故障时,系统可以自动切换到其他可用节点,保证系统的正常运行。

②可扩展性:分布式数据库系统可以轻松地扩展到数千个节点,从而可以处理大规模的数据和请求。

③容错性:系统具备容错机制,能够在部分节点故障时保持整体运行。

④可移植性:支持多种数据库管理系统和操作系统,便于在不同环境间迁移。

⑤一致性:支持多种复制和数据同步策略,确保不同节点之间的数据一致性。

⑥数据安全性:采用多层次的安全性措施,确保数据的保密性、完整性和可用性。

⑦低延迟:由于数据分布在多个节点上,系统可以在靠近用户的节点上快速响应请求,提供低延迟的服务。

在这里插入图片描述

分布式数据库的透明性

分布透明性:

分片透明性

分片透明:是指用户不必关心数据是如何分片的,它们对数据的操作在全局关系上进行,即如何分片对用户是透明的。
复制透明:用户不用关心数据库在网络中各个节点的复制情况,被复制的数据的更新都由系统自动完成。
分片方式:
①垂直分片
②混合分片
③水平分片

位置透明性

位置透明:是指用户不必知道所操作的数据放在何处,即数据分配到哪个或哪些站点存储对用户是透明的

局部数据模型透明性

局部映像透明性(逻辑透明):是最低层次的透明性,该透明性提供数据到局部数据库的映像,即用户不必关心局部DBMS支持哪种数据模型、使用哪种数据操纵语言,数据模型和操纵语言的转换是由系统完成的。因此,局部映像透明性对异构型和同构异质的分布式数据库系统是非常重要的。

两阶段提交协议 2PC

2PC事务提交的两个阶段

表决阶段,目的是形成一个共同的决定
执行阶段,目的是实现这个协调者的决定

两条全局提交规则

只要有一个参与者撤销事务,协调者就必须做出全局撤销决定(一致性)
只有所有参与者都同意提交事务,协调者才能做出全局提交决定(同步性)

数据库设计过程

数据库设计流程可如下图所示:

在这里插入图片描述

概念结构设计

在这里插入图片描述
集成的方法:
①多个局部E-R图一次集成。
②逐步集成,用累加的方式一次集成两个局部E-R。

集成产生的冲突及解决办法:
①属性冲突:包括属性域冲突和属性取值冲突。
②命名冲突:包括同名异义和异名同义。
③结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同

关系模型基本概念

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

层次模型
网状模型
面向对象模型
关系模型

完整性约束

实体完整性约束:规定基本关系的主属性不能取空值。
参照完整性约束:关系与关系间的引用,其他关系的主键或空值。
用户自定义完整性约束:应用环境决定。

触发器

逻辑结构设计

在这里插入图片描述

规范化理论-范式

在这里插入图片描述
第一范式(1NF):在关系模式R中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,则称关系模式R是第一范式。
第二范式(2NF):当且仅当实体E是第一范式(1NF),且每一个非主属性完全依赖主键(不存在部分依赖)时,则称实体E是第二范式。
第三范式(3NF):当且仅当实体E是第二范式且E中没有非主属性传递依赖于码时,则称实体E是第三范式。

并发控制——事务的ACID特性

事务的特点 :原子性,一致性,隔离性 ,持续性。

原子性(Atomicity):是指事务包含的所有操作要么全部成功,要么全部失败回滚。这些操作是一个整体,不能部分地完成。

一致性(Consistency):是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。

隔离性(lsolation):是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的。

持久性(Durability,永久性):是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,无论发送何种故障,都不应对其有任何影响。

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

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

相关文章

4款专业电脑数据恢复软件,帮你保障数据安全。

电脑里面会出现的数据丢失场景有很多,像硬盘故障、回收站清空、电脑格式化、系统崩溃、病毒入侵等等;如果发现数据丢失后,建议应停止使用电脑,避免新的数据写入覆盖丢失的数据。然后再尝试进行数据找回,如果想自己进行…

系统分析师16:系统测试与维护

1 内容概要 2 软件测试类型 2.1 测试类型 动态测试【计算机运行】 白盒测试法:关注内部结构与逻辑灰盒测试法:介于两者之间黑盒测试法:关注输入输出及功能 静态测试【人工监测和计算机辅助分析】 桌前检查代码审查代码走查以上三个都是做的…

【C++11】新特性

前言: C11 是C编程语言的一个重要版本,于2011年发布。它带来了数量可观的变化,包含约 140 个新特性,以及对 C03 标准中约600个缺陷的修正,更像是从 C98/03 中孕育出的新语言 列表初始化 C11 中的列表初始化&#xff0…

社群团购中的用户黏性价值:以开源小程序多商户AI智能名片商城源码为例

摘要:本文探讨社群团购中的用户黏性价值,分析其与传统团购网站的区别,并阐述开源小程序多商户AI智能名片商城源码在增强社群团购用户黏性方面可能发挥的作用。 一、引言 在当今的商业环境中,社群团购逐渐成为一种重要的营销模式。…

新个性化时尚解决方案!Prompt2Fashion:自动生成多风格、类型时尚图像数据集。

今天给大家介绍一种自动化生成时尚图像数据的方法Prompt2Fashion。 首先创建了一组描述,比如“适合婚礼的休闲风格服装”,然后用这些描述来指导计算机生成图像。具体来说,他们使用了大型语言模型来写出这些服装的描述,接着将这些描…

毕业设计 大数据电影数据分析与可视化系统

文章目录 0 简介1 课题背景2 效果实现3 爬虫及实现4 Flask框架5 Ajax技术6 Echarts7 最后 0 简介 今天学长向大家介绍一个机器视觉的毕设项目 🚩基于大数据的电影数据分析与可视化系统 项目运行效果(视频): 毕业设计 大数据电影评论情感分析 &#x1…

运动传感器

运动传感器 当你走近一些自动开关门、自动开关灯泡或自动启动自动扶梯的地方时,你是否会产生这样的疑问:**"它是怎么做到的? **它是怎么做到的? 如果有,本教程不仅会回答,还会告诉你如何制作。 让我们…

【Redis】Hash类型的常用命令

背景:redis中存储数据采取key-value键值对的形式,而hash内部也是键值对,为了区别这两个东西,hash内部的键值对称为:field-value,而redis的为key-value,这里的value包括:field-value。…

基于pytorch的手写数字识别

import pandas as pd import numpy as np import torch import matplotlib import matplotlib.pyplot as plt from torch.utils.data import TensorDataset, DataLoadermatplotlib.use(tkAgg)# 设置图形配置 config {"font.family": serif,"mathtext.fontset&q…

如何在华为云服务器查看IP地址,及修改服务器登录密码!!!

1.在华为云服务器查看IP地址 (1).第一步: 先找到控制台 (2).第二步: 点击华为云Flexus云服务 (3)第三步: 找到公网IP,就找到华为云服务器IP地址啦。 注意:在操作以上步骤的前提是要已注册华为云账号及购买云服务器…

PPPoE协议个人理解+报文示例+典型配置-RFC2516

个人认为,理解报文就理解了协议。通过报文中的字段可以理解协议在交互过程中相关传递的信息,更加便于理解协议。 因此本文将在PPPoE协议报文的基础上进行介绍。 PPPoE协议发展 关于PPPoE基本原理,可参考1999年发布的《RFC2516-A Method fo…

class 031 位运算的骚操作

这篇文章是看了“左程云”老师在b站上的讲解之后写的, 自己感觉已经能理解了, 所以就将整个过程写下来了。 这个是“左程云”老师个人空间的b站的链接, 数据结构与算法讲的很好很好, 希望大家可以多多支持左程云老师, 真心推荐. 左程云的个人空间-左程云个人主页-哔哩哔哩视频…

8649 图的广度遍历

### 思路 1. **图的邻接表存储结构**:使用邻接表存储图的顶点和边信息。 2. **基本操作函数**:包括创建图、查找顶点、获取顶点值、获取第一个邻接顶点、获取下一个邻接顶点等。 3. **广度优先遍历(BFS)**:从某个顶点出…

LPDDR6 来之未远

很多朋友可能还没用上DDR5,但不好意思的是,DDR6 可能马上就要出现了。 三星和海力士较早开始DDR6 的设计,预计2025年商业化。 DDR6 速度 来源: 半导体观察 DDR6的速度将是主流的DDR4的四倍,将是现有DDR5的两倍,DDR6传输速度可达12800 Mbps。 LPDDR6 来源:快科技 L…

OpenAI董事会主席Bret Taylor的Agent公司Sierra:专注于赋能下一代企业用户体验

本文由readlecture.cn转录总结。ReadLecture专注于音、视频转录与总结,2小时视频,5分钟阅读,加速内容学习与传播。 视频来源 youtube: https://www.youtube.com/watch?vriWB5nPNZEM&t47s 大纲 介绍 欢迎与介绍 介绍Bret Taylor&#x…

功耗电流图的对比技巧

电流波形对比 使用系统画图工具的反色和透明设置项目,就可以将2张图合在一块看 方法【系统画图工具】 例如在相同的测试用例,可以对比电流和耗电量的差异

3.使用条件语句编写存储过程(3/10)

引言 在现代数据库管理系统中,存储过程扮演着至关重要的角色。它们是一组为了执行特定任务而编写的SQL语句,这些语句被保存在数据库中,可以被重复调用。存储过程不仅可以提高数据库操作的效率,还可以增强数据的安全性和一致性。此…

Python3 爬虫 中间人爬虫

中间人(Man-in-the-Middle,MITM)攻击是指攻击者与通信的两端分别创建独立的联系,并交换其所收到的数据,使通信的两端认为其正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中…

LCD屏入门(基于ESP-IDF、SPI屏)

主要参考资料: ESP32-S3 开发 SPI 屏【DIY 智能手表】: https://www.bilibili.com/video/BV1Yc411y7bb/?spm_id_from333.337.search-card.all.click&vd_sourcedd284033cd0c4d1f3f59a2cd40ae4ef9 使用 SPI 屏和 I2C 触屏运行 SquareLine Studio 提供的手表 UI 示…