美文网首页
系统分析师-第四章(数据库系统 A)

系统分析师-第四章(数据库系统 A)

作者: 哓晓的故事 | 来源:发表于2017-09-16 18:23 被阅读0次

    数据库管理系统概述

    • 技术发展:人工管理->文件系统->数据库->高级数据库
    • 数据库是 在计算机内有组织、可共享的数据集合
    • 数据库管理系统(DBMS)
      • 数据库的定义和建立
      • 数据库的操作
      • 数据库的控制
      • 数据库的维护
      • 故障恢复
      • 数据通信
    • 数据库系统(DBS)
      • 构成:硬件、软件、数据库 和 数据库管理员DBA
      • 分类
        • 集中式
        • 客户/服务器
        • 并行式
        • 分布式

    数据库模式

    • 三级模式 [用户模式->概念模式->内模式->物理数据库]
      • 外/用户模式 用户通过外模式操作数据库中的数据,一个应用对应一个外模式 [用户视图]
      • 内模式 描述数据物理结构和存储方式,一个数据库只有一个内模式 [内部视图]
      • 概念/逻辑模式 描述数据库的逻辑结构,一个数据库只有一个概念模式 [DBA视图]
    • 三个级别
      • 用户级->用户模式 [多视图]
      • 概念级->概念模式 [一个DBA视图]
      • 物理级->内模式 [一个内部视图]
    • 两级映射
      • 逻辑独立性外模式/概念模式映射
      • 物理独立性概念模式/内模式映射
      • 实现难度:逻辑独立性 > 物理独立性

    数据模型

    • 关系模型分类
      • 概念数据模型 (实体关系[E-R]模型)
        • 数据库设计
      • 基本数据模型 (结构数据模型)
        • DBMS实现
    • 基本数据模型
      • 三要素:数据结构数据操作完整性约束
      • 层次模型 树形结构,指针实现,1:n
      • 网状模型 有向图结构,m:n
      • 关系模型 表格结构,严格数据概念
      • 面向对象模型
    • 关系模型
      • 域 D 一组具有相同数据类型的值集合
        • 同一个域可能对应多个列,比如 name、desc 都是 varchar 域
        • 每列的名字 叫做属性
      • 笛卡尔积
        • D1 X D2 X ..., Dn= {(d1, d2 ..., dn) | dj∈Dj, j=1,2...,n}
        • (d1, d2 ..., dn) 叫做元组(行)
        • 元组中的每一个d叫做分量
      • 关系
        • D1 X D2 X ..., Dn 的子集叫做在域上的关系,用R(D1, D2 ..., Dn)表示,R是关系名n是关系的目或者度
        • 关系是一个二维表,列上的名字叫做 属性
        • 属性能唯一标识一个元组,称候选码,如果有多个候选码,选一个作为主键(构成主键的属性称为主属性)
        • 所有属性都是候选码,称为全码
        • 类型
          • 基本关系(基本表) 实表,实际存储数据的逻辑表示
          • 查询表 查询结果返回的表
          • 视图表 虚表,不对应实际存储数据
      • 五元组 R(U, D, DOM, F)
        • U 是属性名集合
        • D 是U中属性来自的域,DOM 是U->D的映射
        • F 是属性之间数据的依赖关系
        • R(A1, A2 ..., An) R 是关系名,Ax是属性名
    • 关系模式 是型(静态的),关系 是值(动态的)
    • 规范化理论
      • 函数依赖
        • 完全依赖 X->Y成立,但是X'->Y不成立,那么Y完全依赖于X
        • 部分依赖 X->Y成立,但是X'->Y成立,那么Y部分依赖于X
        • 传递依赖 X->Y成立,Y->X不成立,Y->Z成立,那么 Z传递依赖于X
        • 推理规则
          1)自反率 若Y⊆X⊆U,则X->Y在R上成立
          2)增广律 若X->Y在R上成立,Z⊆U,则XZ->YZ在R上成立
          3)传递律 若X->Y,Y->Z在R上成立,则X->Z在R上成立
          推理规则:
          1)合并规则 若X->Y,X->Z在R上成立,则X->YZ在R上成立
          2)伪传递规则 若X->Y在R上成立,Z⊆Y,则X->Z在R上成立
          3)分解规则 若X->Y,WY->Z在R上成立,则WX->Z在R上成立
      • 在R(U,F)中 F包含的函数依赖叫做F的闭包=F+
      • 极小/最小函数依赖
        • 只有一个属性
        • 不存在一个函数依赖X->A,使得F与F-{X-A}等价
        • 不存在一个X->A的真子集Z使得F-{X-A} V {Z->A} 与F等价
    • 范式
      • 第一范式 1NF 所有属性不可再分,原子性
      • 第二范式 2NF 所有非主属性完全依赖于候选键
      • 第三范式 3NF 所有非主属性都不传递依赖于候选键
      • BCNF范式 关系R是1NF,且所有属性都不传递依赖于R的候选键
    • 关系模式分解
      • 无损连接分解 R1∩R2=R1-R2 或者 R1∩R2=R2-R1
        • 分解后是否保持函数依赖性
      • 有损连接分解

    数据操作

    • 查询和更新
    • 集合运算 (交,并,差,笛卡尔)
    • 关系运算
      • 投影(select 指定列)
      • 选择(where)
      • **连接(笛卡尔) **
        • 等值连接
        • 自然连接[A,B集合属性值相等的行并且保留一份属性,自由属性保留]
      • 外链接
        • left join
        • right join
        • inner join
    C2A64584-9385-4120-960E-A542E8FED7E4.png
    • 元组演算
    5491A47E-A5A7-4BF2-8047-8371C894D32A.png
    • 数据库访问接口(网络透明性[支持各种网络类型]、服务器透明性[统一SQL]、语言透明性[任何编译语言])
      • 专用接口 速度快,不通用
      • ODBC
        • 构成
          • 应用程序、驱动程序管理器、驱动程序、数据源
        • 级别
          • 核心级,扩展1级、扩展2级
      • JDBC

    数据库控制功能

    • 事务不可再分逻辑工作单位,要么都做,要么都不做
      • BEGIN TRANSACTION,COMMIIT,ROLLBACK
    • 关系型数据库 ACID 四特性:
      • 原子性(Atomicity)
      • 一致性(Consistency)
      • 隔离线(Isolation)
      • 持久性(Durability)
    • 并发控制
      • 问题
        • 丢失更新 -> T1,T2并行修改,有一个被覆盖
        • 不一致分析(读过时数据,不可重复读) T1读数据后进行操作的中间,T2读取后并修改了数据,T1做校验时发现前后不一致
        • 依赖于未提交更新数据(读脏数据) T1提交后,T2读取,这时候T1回滚数据,T2没有被通知到,还是用旧手
      • 解决方法是 加锁
        • S锁(share共享锁/读锁)
        • X锁(排他锁)
      • 封锁协议
        • 一段封锁协议 解决丢失更新,修改时加X锁
        • 二段封锁协议 解决丢失更新,解决不一致分析/不可重复读,读时加S锁,读完就释放,再做事务操作
        • 三段封锁协议 解决丢失更新,解决不一致分析/不可重复读,读脏数据 读时加S锁,直到事务完成,才释放S锁
        • 两段锁协议
          • 会出现死锁问题
      • 封锁粒度(属性集(列锁),元组(行锁),关系(表锁),索引项,数据库,物理页/块...)
        • 粒度越细,并发越高,开销越大
        • 粒度越粗,并发越小,开销越小
      • 死锁
    • 备份与恢复
      • 数据库故障分类
        • 事务内部故障
        • 系统范围内故障
        • 介质故障
        • 计算机病毒
      • 解决手段
        • 数据备份(数据转存[磁带/存储备份])
          • 静态备份 -> 必须停服务,降低可用性
          • 动态备份 -> 无法保证数据正确性
          • 增量备份
          • 全量备份
        • 日志文件
          • 先写日志原则,回放了所有对数据库的操作
          • 重做(redo)日志
        • 数据恢复
          • 不同故障的解决手段不同
          • 回放日志
    • 数据库安全性
      • DBMS提供的用户身份识别,视图,权限控制,审计
      • 系统应用提供
      • 用户认证
        • 密码口令
        • 强身份认证(用户证书,智能卡,用户指纹等...)
      • 用户角色 (superadmin,DBA,普通用户)
      • 数据授权
        • 数据库级别、表级、属性级、行级
        • 存取控制两原则:
          • 隔离原则 用户只能操作自己的角色/用户分配到权限的数据
          • 控制原则 用户只能以被分配到的方法去操作数据
          • 静态(默认)/动态(手动) 授权
      • 数据视图 虚拟表,访问数据不具备独立对象存储
      • 审计 事后监督,记录用户的访问行为和系统状态
        • 跟踪 不同于审计,更类似于行为分析和系统调试,不会记录
        • 用户审计 由DBMS审计系统记录至日志文件
        • 系统审计 由DBA执行,内容主要是系统命令及数据库使用情况
    • 数据库完整性
      • 完整性约束
        • 静态约束 语法、语义限制和数据间的逻辑约束
        • 动态约束 动态列级约束,动态元组(行)约束,动态关系(表)约束
      • 完整性控制
        • 实体完整性 主码不为空
        • 参照完整性 外码不为空
          • 删除
            • 级联删除
            • 受限删除
            • 置空删除
        • 用户定义完整性
        • 触发器(除了保证完整性,还保证安全性
    • 数据库性能
      • SQL性能优化
      • 数据库性能优化
        • 监控系统指标
        • 调整参数
        • 跟踪参数及结果,是否符合预期
      • 查询优化

    数据库设计及建模

    • 数据库设计
      • 规划 -> 需求分析 -> 概念设计 -> 逻辑设计 -> 物理设计 -> y应用程序设计 -> 运行维护
    • 实体联系模型(E-R图)
      • 强调的是语义
      • 实体(正方形) - 属性(椭圆) - 联系概念上
      • 一个实体E-R图可以拆分成多个子系统E-R图
        • 冲突:属性冲突、命名冲突、结构冲突
        • 冗余:根据数据字典数据流图消除冗余

    分布式数据库系统

    • 特征
      • 独立性
      • 集中与自治共享结合的数据结构
      • 适当增加数据冗余
    • 目标
      • 适应部门结构,降低费用
      • 充分利用资源
      • 提高可靠性和可用性
    • 存储方案
      • 集中式、分割式、全复制、混合式
    • 数据分片
      • 水平分片、垂直分片、混合分片
    • 组成结构:全局外模式 -> 全局概念模式 -> 分片模式 -> 分布式
    • 分布式数据库管理系统
      • LDBMS 局部DBMS
      • GDBMS 全局DBMS
      • 全局数据字典
      • 通信管理

    关系型数据库系统(RDBS)

    • 关系型数据库三要素
      • 数据结构
      • 数据操作
      • 数据约束条件

    数据仓库(DataWareHouse)

    • OLTP(传统关系型数据库)
      • 事件驱动
    • OLAP(数据仓库)
      • 决策驱动
      • 是核心,多维数据分析根据集合
      • 多维度分析与跨维度分析
        • 钻取 上钻、下钻
        • 剩余维度为2切片,剩余维度是3切块
        • 旋转 行列互换
      • 系统架构
        • 基于关系型数据库 ROLAP
          • 事实表(存储数据和维关键字)
          • 维度表(存储维表信息)
          • 模型:星型模型(事实表和维表用主外键关联)雪花模型(多表表示, 星型模型的扩展)
        • 基于多维数据库 MOLAP
          • 模型:形成立方体(cube)结构,对立方体进行旋转、切片、切块
        • 基于混合数据库 HOLAP
    • BI = 数据仓库(DataWareHouse) + 联机分析处理 + 数据挖掘(DataDeep)
    • 特征
      • 面向主题
      • 集成
      • 相对稳定(非易失)
      • 随时间变化
    • 分类
      • 企业级仓库
      • 数据集市 -> 特定用户\企业数据的一个子集
      • 虚拟仓库 -> 视图集合
    • 聚集和立方
      • 聚集 对数据的预处理
      • 立方 是聚集的结果组合,超过3时,成为超立方体
    • 数据仓库参考框架:数据源、数据准备去、数据仓库服务器、数据集市/知识挖掘库、管理应用工具
    • 数据仓库体系结构: 数据源、数据的存储和管理、OLAP服务器、前端工具
    • 数据仓库构建步骤:规划->需求分析->问题分析->数据ETL->

    数据挖掘

    相关文章

      网友评论

          本文标题:系统分析师-第四章(数据库系统 A)

          本文链接:https://www.haomeiwen.com/subject/vwmyjxtx.html