2024软件设计师备考讲义——(7)

数据库技术

一、数据库基础

1.数据库系统

  • DB、DBS、DBA、DBMS

2.三级模式两级映像

  • 内模式

    • 物理存储
  • 概念模式

    • 基本表
  • 外模式

    • 用户使用应用程序,视图级别
  • 外模式-概念模式的映像

    • 表和视图之间的映射
    • 若表中数据变化,只要修改映射,不用改程序
  • 概念模式-内模式的映像

    • 表和物理数据之间的映射
    • 若改了数据存储方式,只要改映射,不用改程序

3.数据库设计

  • 需求分析:数据流图、数据字典、需求说明书(文档)
  • 概念结构设计:E-R图
  • 逻辑结构设计:将E-R图转换成关系模式
  • 物理设计

4.数据模型

  • 三要素:数据结构、数据操作、数据的约束条件
  • E-R图:椭圆形(属性)、长方形(实体)、菱形(联系)、连线
  • 联系分类:1对1、1对多、多对多

5.关系代数

表与表的逻辑运算

  • 笛卡尔积RxS
  • 投影
  • 选择
  • 自然连接
    • 显示全部列,重复只显示一次
    • 显示所有属性相同且值相同的记录
  • RxS与自然连接的等价关系表达式
    • π投影列,σ选择行的条件,∧并且,∪或者

二、规范化和并发控制

1.函数依赖

  • A-->B A决定B,B依赖于A
  • 部分依赖
  • 传递依赖
  • 依赖公理

2.键与约束

  • 超键:能唯一标识此表的属性组合
  • 候选键:超键中去掉冗余属性,剩下的
  • 主键:在候选键中任选一个
  • 外键:其他表中的主键
  • 主属性:候选键中的属性为主属性,其他属性为非主属性
  • 实体完整性:主键
  • 参照完整性:外键
  • 自定义完整性:自定义表达式约束

3.范式

  • 第一范式1NF
  • 第二范式2NF,消除非主属性对于主属性的部分依赖
  • 第三范式3NF,消除传递依赖
  • BC范式BCNF,进一步消除主属性对于码的部分依赖和传递依赖

    每种情况每个依赖的左边决定因素都必然包含候选键

4.模式分解

  • 保持依赖的分解
    • 分解出来的多个关系模式保持原来的依赖集不变(要消除冗余依赖)
  • 无损分解
    • 分解后的关系模式能够还原出原关系模式
    • 对于两个关系模式的分解则有 R1∧R2 -> (R1-R2)或(R2-R1)

5.并发控制

  • 事务的特性:原子性、一致性、隔离性、持久性
  • 并发控制的问题:丢失更新、不可重复读、读脏数据

6.封锁协议

  • 排他锁X(写锁)
    • 不可再加其他任何锁
  • 共享锁S(读锁)
    • 可以继续加共享锁,不可加排他锁
  • 三级封锁协议

三、数据库新技术

1.数据库安全

  • 措施

    • 用户标识和鉴定
    • 存取控制(各种权限授权)
    • 密码存储的传输(远程终端信息)
    • 视图保护(视图授权)
    • 审计(记录操作)
  • 故障与解决

    • 事务本身可预期故障,在程序中预设rollback语句
    • 事务本身不可预期故障,通过日志恢复撤销事务
    • 系统故障,停止运转,检查点法
    • 介质故障,使用日志重做业务
  • 备份

    • 静态转储(冷备份),停机
    • 动态转储(热备份),不停机
    • 完全备份、差量备份、增量备份

2.分布式数据库

3.数据仓库

  • 面向主题、集成的、非易失的(稳定)、随时间变化(历史变化)的数据集合
  • 结构层次:数据源、数据的存储和管理、OLAP(联机分析处理)服务器、前端工具
  • 商业智能BI
    • 数据预处理ETL
    • 建立数据仓库
    • 数据分析
    • 数据展现

4.反规范化技术

  • 含义
    • 牺牲规范化来提高性能
    • 好处:降低连接操作的需求、降低外码索引数目,减少表,提高查询效率
    • 问题:数据重复存储,浪费磁盘空间;数据完整性问题;增加维护复杂性,降低修改速度
  • 具体方法
    • 增加冗余列
    • 增加派生列
    • 重新组表
    • 水平分割表
    • 垂直分割表

5.大数据

  • 特点:大量化、多样化、价值密度低、快速化
  • 与传统数据对比
    比较维度 传统 大数据
    数据量 GB或TB PB或以上
    分析需求 现有数据分析检测 深度分析(关联分析/回归分析)
    硬件平台 普通/高端服务器 集群平台
  • 大数据处理系统特征
    • 高可扩展、高性能、高容错
    • 持异构环境、较短分析延迟
    • 易用且开放接口
    • 成本较低、向下兼容性

四、SQL语言

DDL

  • 建表
  • 删表
  • 修改表
  • 建索引
  • 建视图

DML

  • 插入
  • 删除
  • 修改/更新

DQL

  • 条件查询
  • 连接查询
  • 聚合函数查询

相关推荐

  1. 软件设计师——1.备考提纲

    2024-03-31 01:18:02       12 阅读
  2. 二级C语言备考7

    2024-03-31 01:18:02       29 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-31 01:18:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-31 01:18:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-31 01:18:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-31 01:18:02       18 阅读

热门阅读

  1. 对象数组与指针与引用

    2024-03-31 01:18:02       19 阅读
  2. css之flex布局文本不换行不显示省略号的解决方法

    2024-03-31 01:18:02       18 阅读
  3. 09、Lua 运算符

    2024-03-31 01:18:02       16 阅读
  4. SpringMVC源码分析(六)--参数名称解析器

    2024-03-31 01:18:02       18 阅读
  5. Web框架开发-Django-form组件

    2024-03-31 01:18:02       19 阅读