3.数据库

数据库基础

数据库系统(DBS)组成

  • 数据库:(数据)
  • 硬件:
  • 软件:管理系统(狭义数据库),操作系统
  • 人员:管理员,开发,用户

三级模式-两级映像

  • 三级模式
    • 外模式:视图
    • 模式:表
    • 内模式:物理存储
  • 两级映射
    • 外模式与模式映射:逻辑映射
    • 模式与内模式映射:物理映射

数据库设计

  • 需求设计:分析需求产生数据流图,数据字典,需求说明书
  • 概念结构设计:将E-R图,实体属性图
  • 逻辑结构设计:将E-R图转换为关系模式
  • 物理设计:根据表结构生成物理数据库

数据模型

数据模型三要属:数据结构,数据操作,数据约束

E-R模型
  • 实体-联系模型,椭圆表示属性,长方形表示实体,菱形表示联系
  • 联系类型:1:1,1:N,M:N
  • 属性分类:简单属性和复合属性,单值属性和多值属性,NULL属性,派生属性
关系模型

即数据库的表,包含实体属性,标识实体的主键与外键

模型转换
  • 每个实体对应一个关系模式
  • 1:1联系:联系作为一个属性,一方作为另一方的属性存在
  • 1:N联系:联系可以作为一个关系模式,也可以在N端中加入1端实体的主键
  • M:N联系:联系必须作为一个关系模式,其主键时M和N的联合主键

关系代数运算

  • 简单运算:并(∪),交(∩),差(-)
  • 笛卡尔积(*):S1*S2,S1中每条记录依次与S2所有记录合成一条记录,合成后,属性有S1+S2列,记录有S1*S2条
  • 投影(Π):选着某一列的值,运算对象可以用列名,也可以用列号
  • 选择(δ):根据条件选择某条记录
  • 自然连接(⋈):显示列名相同,且值相同的记录,列名相同的列只显示一次

数据库约束条件

函数依赖

  • X可以唯一确定Y,则X确定Y,或Y依赖于X
  • 部分函数依赖:(A,B)可以确定C,(A,B)中的一部分也可以确定C
  • 传递函数依赖:A可以确定B,B可以确定C,则A可以确定C

键与约束

  • 超键:可以唯一标识记录的属性的集合
  • 候选键:超键去掉冗余属性,剩余的属性就是候选键下·主键:任选一个候选键,都可作为主键
  • 外键:其他表中的主键
  • 主属性:构成某一个候选键的属性
约束
  • 实体完整性约束:即主键约束,主键值不能为空,且不能重复
  • 参照完整性约束:即外键(外表的主键)约束,要么在外表中真实存在 ,要么为空,不能是外表中不存在的值
  • 用户自定义完整性约束:对属性的自定义约束

范式

  • 第一范式(1NF):每一列都是一个不可分的数据项也就是表中不能有小表

  • 第二范式(2NF):在1NF的基础上,每个非主属性完全函数依赖于候选键,即主键由单个属性构成,

  • 第三范式(3NF):在2NF的基础上,非属性不存在传递依赖

  • BC范式:在3NF的基础上,主属性有不存在部分函数依赖与传递函数依赖 ,每个依赖的决定因素必定包含候选键

范式的优缺点

  • 范式的目的:降低依赖

  • 范式化的优点:重复数据很少甚至没有,节约空间,更新不需要修改多张表,有利于数据库维护

  • 范式化的缺点:查询时,需要大量的关联,浪费性能

模式分解

  • 有损依赖:有列消失了
  • 无损依赖:没有列消失
  • 保持函数依赖:分解之后,任然可维护原有的依赖集,即去除传递依赖后,分解后任意一个依赖关系的依赖项与被依赖项,必须在某个分解子集中同时出现
  • 分解后具有无损连接性的充分必要条件:R1∩R2->(R1-R2),或者R1∩R2->(R2-R1)

数据库应用技术

事务管理

事务的四种特性
  • 原子性
  • 一致性,数据前后时一致的
  • 隔离性,过程是互不干扰的
  • 持续性,结果是持续的
三个问题
  • 丢失更新:典型的 a=a++ 并发问题
  • 不可重复读:if (a == 1)else if( a == 2),执行此过程是a由2变成1,程序逻辑错误
  • 读脏数据:事务1回滚数据(则回滚前为脏数据),但是脏数据被事务2读取,并进行处理,处理完回数据库一看,完蛋,数据对不上了
三级封锁协议
  • 一级:修改时加排它锁(X锁),事务结束释放
  • 二级:修改时加排他锁,事务结束释放,读取时加共享锁(S锁),读完释放
  • 三级:修改时加排他锁,事务结束释放,读取时加共享锁(S锁),事务结束释放

数据库安全

数据库故障
  • 事务内部故障:逻辑错误,运算溢出
  • 系统故障:操作系统故障,停电
  • 介质故障:物理介质损坏,几率小破坏性大
  • 计算机病毒:
数据库备份
  • 冷备份(静态转储),速度快,简单,缺点:数据库停机,整库备份
  • 热备份(动态转储),无冷备份缺点,缺点,不能出错
  • 完全备份:整库备份
  • 差量备份:备份上一次完全备份不同的数据
  • 增量备份:备份与上一次备份不同的数据
  • 日志文件:记录SQL输入,可以达到实时备份

数据库高级应用

分布式数据库

​ 通过分片模式与分布模式把的模式整和成一个全局的模式

image-20210426230336985

分片模式
  • 水平分片:每一条数据存放在不同地方
  • 垂直分片:每一列数据存放不同地址
分布透明性
  • 分片透明性:不知数据分片存储方式
  • 位置透明性:不知数据物理存储位置
  • 逻辑透明性:不知局部的数据模型
  • 复制透明性:不知复制的数据来源、
数据仓库
  • 数据来源:从普通数据库清洗而来,经历了抽取,清理,装载,刷新
  • 特点:面向主题,相对稳定,一般不做修改,在特定事件做大量操作
  • 用途:数据分析,反映历史的变化
数据挖掘
  • 目的:发掘数据间的关系,发现剩余价值
  • 手段(分析方法):
    • 关联分析:分析同时发生的事情,总结多个事件关联性
    • 序列分析:将事件根据发生的时间构建序列,总结事件的周期性
    • 分类分析:将一组数据根据一些特点,进行分类,然后总结出数据的特征,
    • 聚类分析:将拥有共同特点的多组数据,进行聚合,总结出这些组的特征
商业智能
  • 数据预处理:抽取(E)、转换(T)、加载(L)
  • 建立数据仓库:
  • 数据分析:联机分析处理(OLAP)与数据挖掘
  • 数据展示:结果可视化展示
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值