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


大家好呀!我是小笙,本章我主要分享系统架构设计师 - 数据库系统(1)知识,希望内容对你有所帮助!!

数据库系统

数据库模式 ★

三种模式:外模式、概念模式、内模式

image-20240619125816416

关系的3种类型

  • 基本关系(通常又称为基本表或基表):实际存在的表,实际存储数据的逻辑表示
  • 查询表:查询结果对应的表
  • 视图表:由基表或其他视图表导出的表,本身不独立存储,数据库只存放它的定义,常称为虚表
    • 数据库视图,它一个虚拟表(逻辑上的表),其内容由查询定义(仅保存SQL查询语句)同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并没有真正存储这些数据,而是通过查询原始表动态生成所需要的数据
    • 视图的优点
      1. 视图能简化用户操作
      2. 视图使用户能以多种角度看待同一数据
      3. 视图对重构数据库提供了一定程度的逻辑独立性
      4. 视图可以对机密数据提供安全保护
    • 物化视图:它不是传统意义上虚拟视图,是实体化视图,其本身会存储数据。同时当原始表中的数据更新时,物化视图也会更新

分布式数据库 ★★★

  • 数据独立性,除了数据的逻辑独立性与物理独立性外,还有数据分布独立性(分布透明性)
  • 集中与自治共享结合的控制结构,各局部的DBMS可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用
  • 适当增加数据冗余度,在不同的场地存储同一数据的多个副本,可以提高系统的可靠性和可用性,同时也能提高系统性能。(提高系统的可用性,即当系统中某个节点发生故障时,因为数据有其他副本在非故障场地上,对其他所有场地来说,数据仍然是可用的,从而保证数据的完备性
  • 全局的一致性、可串行性和可恢复性

分布式数据库管理系统 - 组成

  • LDBMS
  • GDBMS
  • 全局数据字典
  • 通信管理(CM)

分布式数据库管理系统 - 结构

  • 全局控制集中的 DDBMS
  • 全局控制分散的 DDBMS
  • 全局控制部分分散的 DDBMS

分布透明性

  • 分片透明性:是指用户不必关心数据是如何分片的,它们对数据的操作在全局关系上进行,即如何对用户是透明的
    • 水平分片
    • 垂直分片
    • 混合分片
  • 复制透明:用户不用关心数据库在网络中各个节点的复制情况,被复制的数据的更新都由系统自动完成
  • 位置透明性:是指用户不必知道所操作的数据放在何处,即数据分配到哪个或哪些站点存储对用卢是透明的
  • 局部数据模型透明性:是最低层次的透明性,该透明性提供数据到局部数据库的映像,即用户不必关心局部DBMS支持哪种数据模型、使用哪种数据操纵语言,数据模型和操纵语言的转换是由系统完成的。因此,局部映像透明性对异构型和同构异质的分布式数据库系统是非常重要的

例题

1、分布式数据库系统除了包含集中式数据库系统的模式结构之外,还增加了几个模式级别,其中 全局概念模式 定义分布式数据库中数据的整体逻辑结构,使得数据使用方便,如同没有分布一样

  • 分片模式
  • 全局外模式
  • 分布模式
  • 全局概念模式

2、在分布式数据库中包括分片透明、复制透明、位置透明和逻辑透明等基本概念,其中 逻辑透明 是指局部数据模型透明,即用户或应用程序无需知道局部场地使用的是哪种数据模型

  • 分片透明
  • 复制透明
  • 位置透明
  • 逻辑透明

3、分布式数据库两阶段提交协议中的两个阶段是指 表决阶段、执行阶段

  • 加锁阶段、解锁阶段
  • 获取阶段、运行阶段
  • 表决阶段、执行阶段
  • 扩展阶段、收缩阶段

数据库设计阶段 ★★

image-20240620125226222

例题

1、在数据库设计的 逻辑设计 阶段进行关系规范化

  • 需求分析
  • 概念设计
  • 逻辑设计
  • 物理设计

2、在数据库设计的需求分析阶段应完成包括 数据字典和数据流图 在内的文档

  • E-R图
  • 关系模式
  • 数据字典和数据流图
  • 任务书和设计方案

ER模型 ★

实体(Entity):实体是现实世界中可区分的对象,例如人、物、事件或概念等。在数据库设计中,实体通常表示为一个表格(关系),表格中的每一行即代表一个具体的实体实例,行中的每一列对应于实体的属性

属性(Attribute):实体具有的特征或者描述,用来描述实体的各个方面。属性也可以称为字段或列,对应于数据库表中的字段。例如,一个“人”的实体可以有“姓名”、“年龄”、“性别”等属性

关系(Relationship):不同实体之间的联系或关联,用来描述实体之间的相互作用或依赖关系。关系可以是一对一、一对多或多对多的。例如,“雇员”与“部门”之间可以有“属于”关系

  • 一对一(1:1)
  • 一对多(1:n)
  • 多对多(n:m)

关系模型 ★ ★

结构

示例:学生(学号、姓名、年龄等等)

  • 目或度:关系模式中属性的个数(学号、姓名、年龄等等的个数)
  • 候选键/码:唯一标识元组,且无冗余(候选键可以由多个属性组成,但是其中的属性不可以可有可无;一组关系模式中也可以有多个候选键)
  • 主键/码:候选键中任选一个
  • 主属性与非主属性:组成候选键的属性就是主属性,其他的就是非主属性
  • 外键/码:其他关系模式里的主键
  • 全码:关系模式的左右属性组合起来就是这个关系模式的候选码

约束条件

完整性约束
  • 实体完整性约束:规定基本关系的主属性不能取空值
  • 参照完整性约束:关系与关系间的引用,其他关系的主键或空值
  • 用户自定义完整性约束:应用环境决定(用户自定义,比如工资高于xx值算高薪)
  • 触发器:复杂的完整性约束(了解)

关系代数 ★ ★ ★ ★

概述

关系的本质就是二维表(属性列,元组行)

image-20240410123910177 image-20240410124319213

注意

  • 并集合会去重
  • 投影就是修改属性列个数
  • 选择就是筛选出记录

自然连接

  • 属性列:二者属性之和去重
  • 元组行:二者同名属性列相同
image-20240410125335671

性能方面考虑:自然连接优于笛卡尔积

  • 26
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
系统架构设计师是指负责整体系统架构设计和规划的专业人员。他们需要深入了解业务需求和技术要求,设计出符合需求的系统架构,包括硬件、软件和网络等方面。以下是系统架构设计师的主要职责和要求: 1. 理解业务需求:系统架构设计师需要与业务团队沟通,深入理解业务需求,从而能够设计出符合要求的系统架构。 2. 技术规划和选型:根据业务需求,系统架构设计师需要进行技术规划和选型工作,选择合适的技术方案和工具,以支持系统的设计和开发。 3. 系统架构设计:系统架构设计师需要根据需求和选定的技术方案,设计出高效可靠、可扩展的系统架构。他们考虑到系统的安全性、性能、可用性等因素,确保系统能够满足业务需求。 4. 技术团队支持:系统架构设计师需要与开发团队紧密合作,提供技术支持和指导,确保开发工作按照设计规范进行。 5. 技术研究和创新:系统架构设计师需要关注前沿的技术动态,进行技术研究和创新,为系统架构的改进和优化提供新的思路和方向。 为了成为一名优秀的系统架构设计师,需要具备以下要求: 1. 扎实的技术功底:系统架构设计师需要熟悉各种技术,包括软件开发、网络架构数据库设计等方面的知识。 2. 分析和解决问题的能力:系统架构设计师需要具备分析和解决问题的能力,能够理清业务需求和技术要求之间的关系,找出最佳的解决方案。 3. 优秀的沟通和团队协作能力:系统架构设计师需要与业务团队和技术团队进行良好的沟通和协作,能够准确理解需求并与团队顺利合作。 4. 持续学习和创新意识:系统架构设计师需要保持对技术的持续学习和创新意识,紧跟行业的发展趋势,不断提升自己的技术水平。 总之,系统架构设计师在设计和规划系统架构方面扮演着重要的角色,他们需要具备扎实的技术功底、优秀的沟通和团队协作能力,以及持续学习和创新意识,以满足不断变化的业务需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Al_tair

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值