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

2023-11-18

目录

一、数据库模式

        1、集中式数据库

        2、分布式数据库

二、数据库设计过程

        1、E-R模型

        2、概念结构设计

        3、逻辑结构设计

三、关系代数

        1、并交差

        2、投影和选择

        3、笛卡尔积

        4、自然连接


一、数据库模式

        1、集中式数据库

                三级模式:

                (1)外模式:用户模式-视图级

                (2)概念模式:模式-表级

                (3)内模式:存储模式-文件级

                两级映射:

                (1)外模式-概念模式映射:提高数据逻辑独立性

                (2)概念模式-内模式映射:提供数据物理独立性

        2、分布式数据库

                (1)数据独立性:除了数据的逻辑独立性与物理独立性外,还有数据分布独立性(分布透明性)。

                (2)集中与自治共享结合的控制结构:各局部的DBMS可以独立地管理局部数据库,具有自治功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。

                (3)适当增加数据冗余度:在不同的场地存储同一数据的多个副本,可以提高系统的可靠性和可用性,同时也能提高系统性能。(提高系统的可用性,即当系统中某个节点发生故障时,因为数据有其他副本在非故障场地上,对其他所有场地来说,数据仍然是可用的,从而保证数据的完备性)。

                (4)全局的一致性、可串行性和可恢复性:可串行性指的是并行结果与某个串行序列结果一致。

                【分布透明性

                (1)分片透明性:分不分片,用户感受不到(不关心用户如何分布存储)。

                                分片模式分:

                                        · 水平分片:按记录

                                        · 垂直分片:按字段

                                        · 混合分片

                (2)位置透明性:数据存放在哪里,用户不用管(用户无需知道数据存放的物理位置)。

                (3)复制透明:不关心节点的复制情况。

                (4)局部数据模型透明性(逻辑透明):用户或应用程序无需知道局部场地使用的哪种数据模型。

                【两阶段提交协议2PC

                (1)2PC事物提交两个阶段

                        表决阶段,目的是形成一个共同决定

                        执行阶段,目的是实现这个协调者的决定

                (2)两条全局提交规则

                        只要有一个参与者撤销事务,协调者就必须做出全局撤销决定

                        只要所有参与者都同意提交事务,协调者才能作出全局提交决定

二、数据库设计过程

        【设计过程四步骤

        (1)需求分析

                        产出数据流图、数据字典和需求说明书

        (2)概念结构设计

                        产出E-R图

        (3)逻辑结构设计

                        产出关系模式,也就是二维表

        (4)物理设计

        1、E-R模型

        2、概念结构设计

                【集成的方法

                (1)多个局部E-R图一次集成。

                (2)逐步集成,用累加的方式一次集成两个局部E-R。

                【集成产生的冲突及解决办法

                (1)属性冲突:包括属性域冲突和属性取值冲突。(同一对象

                (2)命名冲突:包括同名异义和异名同义。(同一对象

                (3)结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同。

        3、逻辑结构设计

                【实体完整性约束】主键,唯一且非空。

                【参照完整性约束】外键,可以为空,否则就是其他的主键为外键。

                【用户自定义完整性约束】

                【触发器】对某个变化的数据,可以是表、字段等建立监听,一旦数据发生变化,做相应操作,可以做数据同步。可以解决复杂的数据一致性问题,安全性不是很强。

                【简单属性】不可再分的属性

                【复合属性】可再分的属性

                【派生属性】例:可以通过身份证号推导出具体年龄,那年龄就是身份证号的派生属性

三、关系代数

        1、并交差

 

        2、投影和选择

        3、笛卡尔积

                属性列数是二者只和,元组行数是二者乘积。

 

        4、自然连接

                 答案:A

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

系统架构设计师-数据库系统(1) 的相关文章

  • 服务计算:简单的web程序

    CloudGo 框架选择 看了go的一些框架如beego和iris觉得挺好的 本来想用 但是虚拟机出了点问题装不成 windows上装成了没ab指令 所以使用官方的net http库做简单的实验 看完beego和iris的特性我还是比较想用
  • 什么是项目管理?项目经理应该如何进行管理?

    项目管理 一是指一种管理活动 一种有意识地按照项目的特点和规律 对项目进行组织管理的活动 二是指一种管理学科 以项目管理活动为研究对象的一门学科 它是探求项目活动科学组织管理的理论与方法 就是把各种知识 技能 手段和技术应用于项目活动之中
  • 系统架构演变详解

    文章目录 1 单体架构 2 垂直架构 3 分布式架构 4 SOA架构 5 微服务 6 集群 分布式和微服务的区别 1 单体架构 在学习 Dubbo 之后 我们先了解一下系统架构的演变过程 随着用户量的不断增加 业务功能的扩展逐步 系统架构变
  • 软件设计风格(干货)-架构师之路(九)

    一 软件架构风格概念 Architecture架构 体系结构 软件体系结构风格是 描述某一特定应用领域中 系统组织方式 的惯用模式 架构风格定义一个系统家族 即 一个架构的定义 一个词汇表和一组约束 词汇表包含 一些构建和连接类型 而一组约
  • 系统架构设计师 8:系统质量属性与架构评估

    软件系统属性包括功能属性和质量属性 软件架构重点关注的是质量属性 为了精确 定量地表达系统的质量属性 通常会采用质量属性场景的方式进行描述 在确定软件系统架构 精确描述质量属性场景后 就需要对系统架构进行评估 软件系统架构评估是在对架构分析
  • 软件工程期末试题及答案(史上最全)

    软件工程期末试题及答案 文章目录 软件工程期末试题及答案 一 填空题 二 选择题 三 判断题 四 简答题 五 分析题 六 画图题 一 填空题 在信息处理和计算机领域内 一般认为软件是 文库 程序 文档 和 数据 数据流图的基本组成部分有 数
  • 软件质量保证与测试技术实验报告(二)黑盒测试用例设计

    1 实验名称 黑盒测试用例设计 2 实验目的 学会用等价类划分法和边界值法设计测试用例 进行功能测试 3 实验内容 题目1 NextDate程序的功能是按年 月 日的顺序输入一个日期 输出为输入日期后一天的日期 请使用等价类和边界值法对Ne
  • 程序员要不断学习

    2016 10 20 计算机技术的发展速度还是很快的 当个人电脑赶上10年前的超算时 我们不得不感叹硬件的发展编程开发带来了很大的影响 对世界带来了很大的影响 知识和工具的更新速度还是比较快的 这就要求程序员始终需要学习 我在知乎上看到一个
  • 软考:中级软件设计师:程序语言基础:表达式,标准分类,法律法规,程序语言特点,函数传值传址

    软考 中级软件设计师 程序语言基础 表达式 提示 系列被面试官问的问题 我自己当时不会 所以下来自己复盘一下 认真学习和总结 以应对未来更多的可能性 关于互联网大厂的笔试面试 都是需要细心准备的 1 自己的科研经历 科研内容 学习的相关领域
  • Go 语言输出文本函数详解

    Go语言拥有三个用于输出文本的函数 Print Println Printf Print 函数以其默认格式打印其参数 示例 打印 i 和 j 的值 package main import fmt func main var i j stri
  • 软件开发流程分析

    软件开发流程分析 相关概念 1 原型设计 2 产品设计 3 交互设计 4 代码实现 详细步骤 相关概念 前端 自研API 调用第三放API 后端 自研API 第三方API 数据库 Mysql 数据采集 数据迁移 服务器 JAVA Nginx
  • WMS系统出库扫描:提升仓储管理效率与准确性

    WMS系统中的出库扫描功能是关键环节之一 它通过扫描物料或货物的条形码或二维码 实现实时 准确地记录和更新库存信息 一 WMS系统出库扫描的重要性 1 实现库存准确性 通过出库扫描 WMS系统能够准确记录物料或货物的出库信息 实时更新库存数
  • MES系统工单进度查询:提升生产控制与监控

    在MES系统中 工单进度查询是一个至关重要的功能 它为企业提供了实时 准确地追踪和监控生产工单进度的能力 一 MES系统工单进度查询的重要性 1 实时监控生产进度 通过工单进度查询 企业能够随时了解每个工单的进展情况 包括已完成的工序 正在
  • 《系统架构设计师教程(第2版)》第2章-计算机系统基础知识-07-系统性能

    文章目录 1 性能指标 1 1 计算机的性能指标 1 2 路由器的性能指标 了解即可 1 3 交换机的性能指标 了解即可 1 4 网络的性能指标 1 5 操作系统的性能指标 1 6 数据库管理系统的性能指标
  • 嵌入式培训机构到底怎么选?培训了能找到工作吗

    嵌入式作为一种广泛应用于企业级开发的编程语言 对于想要从事软件开发行业的人来说 掌握嵌入式技能是非常重要的 而参加嵌入式培训机构是一个快速提升技能的途径 然而 很多人可能会担心 参加嵌入式培训了能找到工作吗 如何选择靠谱的嵌入式培训机构 要
  • 【软件测试】学习笔记-脚本与数据的解耦 + Page Object模型

    本篇文章介绍GUI测试中两个非常重要的概念 测试脚本和数据的解耦 以及页面对象 Page Object 模型 测试脚本和数据的解耦 GUI自动化测试适用的场景 尤其适用于需要回归测试页面功能的场景 如果在测试脚本中硬编码 hardcode
  • 《Spring 测试指南》:JPA、MockMvc 和 @SpringBootTest 详解

    测试 Spring 提供了一组测试工具 可以轻松地测试 Spring 应用程序的各个组件 包括控制器 服务 存储库和其他组件 它具有丰富的测试注释 实用程序类和其他功能 以帮助进行单元测试 集成测试等 JPA 测试 Spring JPA J
  • Python 中多态性的示例和类的继承多态性

    单词 多态 意味着 多种形式 在编程中 它指的是具有相同名称的方法 函数 操作符 可以在许多不同的对象或类上执行 函数多态性 一个示例是 Python 中的 len 函数 它可以用于不同的对象 字符串 对于字符串 len 返回字符的数量 示
  • 如何设计一个高并发系统?

    所谓高并发系统 是指能同时处理大量并发请求 并及时响应 从而保证系统的高性能和高可用 那么我们在设计一个高并发系统时 应该考虑哪些方面呢 1 搭建集群 如果你只部署一个应用 只部署一台服务器 那抗住的流量请求是非常有限的 并且 单体的应用
  • C# Break 和 Continue 语句以及数组详解

    C Break 它被用于 跳出 switch 语句 break 语句也可用于跳出循环 以下示例在 i 等于 4 时跳出循环 示例 for int i 0 i lt 10 i if i 4 break Console WriteLine i

随机推荐

  • IDEA Cannot resolve plugin org.apache.maven.pluginsmaven-jar-plugin2.4

    起因 最近在弄Maven项目 在使用IDEA创建Maven项目得时候一直报错 搞的我很头疼 网上搜索答案 都是修改Setting xml 配置本地仓库 然后我测试了好多次都不管用 但是根据错误信息他的确是Maven仓库配置得问题和IDEA
  • 初识GoogleTest

    1 初识GoogleTest 首先要了解googletest是做什么的 主要是单元测试框架 第二是googletest有什么优势 测试过程独立可以重复 测试组织与代码结构保持比较好的一致性 支持跨平台 失败后能够提供完整错误信息 同时支持失
  • 来谈谈 BlockingQueue 阻塞队列实现类 java.util.concurrent.LinkedBlockingQueue(JDK1.8 源码分析)

    LinkedBlockingQueue源码刨析 文章目录 LinkedBlockingQueue源码刨析 前言 一 LinkedBlockingQueue源码部分 1 构造方法 2 成员变量 3 主要方法 1 入队操作 offer方法 pu
  • 毕设草稿保存

    这里写目录标题 参数大小 MobileViT xxs参数 MobileViT xs参数 MobileViT s参数 MobileViT SE模块 无SE模块时 有预训练文件 无预训练文件 有预训练文件且加SE模块之后 无预训练文件且加了SE
  • 【数据结构】——八大排序

    文章目录 1 插入排序 2 冒泡排序 3 希尔排序 4 选择排序 5 快速排序 快排优化 递归改非递归 6 堆排序 7 归并排序 递归归并排序 改成非递归 8 计数排序 9 题目 总结 排序的时间检验 对于不同排序的时间复杂度分析 1 插入
  • 大模型PEFT技术原理(三):Adapter Tuning及其变体

    随着预训练模型的参数越来越大 尤其是175B参数大小的GPT3发布以来 让很多中小公司和个人研究员对于大模型的全量微调望而却步 近年来研究者们提出了各种各样的参数高效迁移学习方法 Parameter efficient Transfer L
  • [Centos] 如何查看linux系统架构(amd64、arm、arm64

    这几天搭建一个基于扣扣的聊天机器人项目时总会无法运行 试想是架构选错了 一直在网上收集查看架构的详细方法 上链接 https www cnblogs com liyuanhong articles 4859816 html
  • 用python实现PyEcharts中的条形图,直方图

    用python实现PyEcharts中的条形图 直方图 笔记仅是个人的学习笔记总结 如有雷同请见谅 条形图 1 普通使用 from pyecharts charts import Bar 引用Faker来生成数据 from pyechart
  • IOS编程教程(十一):在故事板联线(Segue)中的不同视图控制器里传值

    这是我们演示故事板系列的第二篇文章 在前一个教程中 我们介绍了故事板 那是一个在Xcode中方便设计友好用户界面的功能 如果你跟着教程走 从开始到现在 你应该已经建立了一个简单的菜单应用程序的导航界面 但是上一篇我们有一件事没讨论 那就是如
  • table.getn(tableName) 的用法注意。

    转自 http blog sina com cn s blog 4a2e9af90100cv1z html 1 table getn tableName 等同于操作符 作用 得到一个table的大小 注意 该table的key必须是有序的
  • 启航2021

    1 企业数字化升级之路 附下载地址 点击标题 快速进入下载页面 近年来创新技术的不断升级迭代和突如其来的新冠疫情对各 各业数字化转型的推动 让企业管理者普遍认同数字化 智能化的企业运营模式 能够有效助 企业抗击 险 提升效能 获得 远发展
  • matlab-knn使用

    play with knn 1 什么是knn 1 1 什么是knn 1 2 knn适用范围 2 knn实验前的准备 2 1 knn的实验要点 3 knn的matlab实验 使用UCI数据集 3 0 KNN函数自带用例 3 1 UCI数据集
  • 3.docker仓库(Nexus、Harbor)的安装

    本文目录 前言 1 Aliyun 镜像仓库 2 Nexus 1 Nexus 私服搭建 2 登录控制台 3 配置nexus仓库 4 配置nexus仓库地址为安全的镜像地址 5 镜像推送至nexus仓库 6 拉取nexus仓库镜像 3 Harb
  • c++顺序表与链表的区别

    C Lists 链表 Lists将元素按顺序储存在链表中 与 向量 vectors 相比 它允许快速的插入和删除 但是随机访问却比较慢 说起这个访问速率呢 给大家举个很简单的例子 向量 vectors 也就是顺序表 它的存储方法就类似于c语
  • Exception in thread "main" java.lang.NoClassDefFoundError: XXX

    Exception in thread main java lang NoClassDefFoundError XXX编译时没有报错 一运行就不听话网上找了一大堆 各种解决方案都不是适合我 但是一片文章列举出了可能产生的原因https bl
  • Cpp关键字破解(三)【volatile】篇

    关键字总结 volatile 文章目录 关键字总结 volatile 0 前言 1 概念 2 作用 3 使用场景 4 volatile成员函数 5 代码体验 0 前言 参考几位前辈博客 汇总整理了一下 C 中volatile关键字的使用详解
  • Node.js文件系统模块——读写文件操作

    文章目录 前言 一 导入fs模块 1 readFile readFileSync 2 writeFile writeFileSync 3 appendFile appendFileSync 二 处理文件路径 1 dirname动态拼接路径
  • mysql的逻辑架构

    以一次查询为例 看一下从客户端发来sql 到执行完 整个过程mysql服务器做了哪些事 从整体上 分为三步 连接 对sql语句进行解析和优化 驱动引擎把数据交由文件系统存储 每一部分具体下来 就是这样一幅图 了解一条sql语句从客户端到服务
  • c语言中“

    一个竖杠 表示运算的或 二个竖杠 表示逻辑的或 c语言的位运算 取反 0取反是1 1取反是0 lt lt 是左移 比如1 lt
  • 系统架构设计师-数据库系统(1)

    目录 一 数据库模式 1 集中式数据库 2 分布式数据库 二 数据库设计过程 1 E R模型 2 概念结构设计 3 逻辑结构设计 三 关系代数 1 并交差 2 投影和选择 3 笛卡尔积 4 自然连接 一 数据库模式 1 集中式数据库 三级模