数据库系统
- 数据:是数据库中存储的根本对象,是形容事物的符号记录
- 数据的品种:文本,图形,图像,音频,视频,等
数据库:是长期存储在计算机内,有组织的,可共享的大量数据的汇合
数据库的基本特征
- 数据依照肯定的数据模型组织,形容和存储
- 堪称各种用户共享
- 冗余度较小
- 数据独立性较高
- 易扩大
数据库系统是一个采纳了数据库技术,有组织的,动静的存储大量相干数据,方柏霓多用户拜访的计算机系统, 组成:
- 数据库
- 硬件
- 软件
- 人员
数据库管理系统DBMS :
- 实现对共享数据无效的组织、治理和存取
- 包含数据定义、数据库操作、数据库运行治理、数据的存储管理、数据库的建设和保护等。
三级模式两级映像
- 内模式:治理如何存储物理数据,对应具体物理存储文件
- 模式:又称为概念模式,就是咱们通常应用的根本表,依据利用,需要将物理数据划分为一张张表
- 外模式:对应数据库中的视图级别,将表进行肯定的解决后再提供给用户应用。
两级映像
外模式-模式映像
模式-内模式映像
数据库设计
- 需要剖析:信息要求、解决要求、零碎要求
概念结构设计:E-R 图
- 属性抵触:同一个属性可能会存在于不同的ER图中
- 命名抵触:雷同意义的属性 ,在不同的分ER图中有不同的命名
- 结构冲突:同一个实体在不同的er图中有不同的属性
- 逻辑结构设计:E-R图,转关系模式(表(针对关系型))
- 物理设计:表如何存储到硬件
- 数据库施行:建表,录数据巴拉巴拉
- 数据库运行和保护:运维
image.png
数据模型
四种根本模型
- 关系模型:是二维表的的模式示意的实体分割图
- 概念模型
- 网状模型
- 面向对象
数据模型的三要素
- 数据结构
- 数据操作
- 数据的约束条件
ER图来形容概念数据模型,
在ER模型中,应用椭圆来示意属性,长方形示意实体,菱形示意分割,分割的两端要填写分割类型
eg:
实体:客观存在并且能够互相区别的事物
弱实体:依赖于强实体存在
强实体:实在体
实体集
属性:
属性分类:简略属性,复合属性
域:属性的取值范畴成为该属性的域
码(键key):惟一标识实体的属性集
关系模型中数据的逻辑构造是一个二维表,由行列组成。
ER模型转换为关系模式:每个实体都对应一个关系模式;分割分为三种:
一对一:分割能够放到任意的两端实体中,作为一个属性,也能够转换为一个独自的关系模式
一对多:分割能够独自作为一个关系模式,也能够在N端中退出1端实体的主键
多对多:分割必须作为一个独自的关系模式,其主键只M和N端的联结主键
关系代数
并:后果是两张表中的所有记录数合并,雷同记录只显示一次
交:后果是两张表中雷同的记录
差:s1-s2 后果是两张表中 s1中有,而s2中没有的那些记录。
笛卡尔积
s1Xs2 产生的后果包含s1和s2 所有的属性列,并且s1中的每条记录顺次和s2中所有记录组合成一条记录,最终属性列为s1+s2 属性列,记录数为s1Xs2记录数
投影:理论是依照条件抉择某关系模式中的某列,列也能够用数字示意
抉择:理论是依照条件抉择某关系中的某条记录
天然链接
天然链接的结果显示全副属性列, 然而雷同的属性列只显示一次, 显示两个关系模式中属性雷同且值雷同的记录。
函数依赖
给定一个x,能确定一个y,就成为x确定y,
函数依赖:
- 局部函数依赖: a能够确定c,(a,b)也能够确定c,(a,b) 中的一部分能够确定c ,称为局部函数依赖
- 传递函数依赖 : a,b不等价, a能够确定b, b能够确定c ,则a 能够确定c
函数依赖公理零碎
- 自反律
- 增广律
- 传递律
- 合并规定
- 伪传递律
- 合成规定
键与束缚
超键: 能惟一标识此表属性的组合
候选键: 超键中去掉荣誉的属性,剩下的就是候选键
主键:选一个候选键能够作为主键
外键:其余表中的主键
主属性:候选键内的属性为主属性,其余属性为非主属性
- 实体完整性束缚:即主键束缚, 主键值不能为空,也不能反复
- 参照完整性束缚:即外键束缚,外键必须是其余表中曾经存在的主键的值,或者为空
- 用户自定义的完整性束缚:自定义表达式束缚,如设定年龄属性必须在0-100 等。
范式
- 第一范式
关系中的每一个重量必须是一个不可分的数据项 - 第二范式
如果关系R属于1NF,且每一个非主属性齐全函数依赖与任何一个候选码,则R属于2NF
局部函数依赖只存在多属性,单属性必然是2NF
第一范式不满足第二范式,能够通过合成表格实现2NF满足 - 第三范式
关系R属于2NF,且不存在传递依赖,则属于3NF - bc范式
bc范式是指 在第三范式的根底上,进一步打消主属性对码的局部函数依赖和传递依赖
在每一种状况下,每一个依赖的右边决定因素都必然蕴含候选键。
候选关键字求法:依据依赖集,找出从未在左边呈现过的属性,必然是候选键之一,以该属性为根底,依据依赖集顺次扩大,看是否便当所有属性,将无奈遍历的退出到候选集中
模式合成
范式之间的转换个别是通过拆分属性,即模式合成,将具备局部函数依赖和传递依赖的属性分离出来,
放弃函数依赖合成
对于关系模式R,有依赖集F,若对R进行合成,合成进去的多个关系模式,放弃原来的函数依赖集不变,则放弃函数依赖的合成。
- 放弃函数依赖的判断
- 如果F上的每一个函数依赖都在其合成后的某一个关系上成立,则这个合成时放弃依赖的
- 如果上述判断失败,并不能断言合成不是放弃依赖的,还要应用上面的通用办法来做进一步判断,该办法的表述如下:
对F上的每一个a->b 应用上面的过程
算法挺简单,可不必记,灵便了解即可
result:=awhile(result changed) do for each parsed Ri t = (result 交 Ri) + 交 Ri result= result 并 t done
无损合成
合成后的关系模式可能还原出原关系模式,就是无损合成,不能还原就是有损
- 当合成为两个关系模式,能够通过一下定理判断是否为无损合成
定理: 如果R的合成为p= {R1, R2} , F 为R所满足的函数依赖汇合,合成p具备无损连接性的充沛必要条件时 R1交R2 -> (R2 - R1)
并发管制
- 事务:由一系列操作组成,这些操作要么全做,要么全不做,领有四种个性
- 原子性
- 一致性
- 隔离性
- 持续性
- 事务时并发管制的前提条件,并发管制就是管制不同的事物并发执行,进步零碎效率。
- 问题:说白了就是多线程并发导致的数据竞争问题。
- 失落更新
- 不可反复读
- 读脏数据
封闭协定
- x锁,排他锁(写锁)
- s锁,共享锁(读锁)
- 二级封闭协定:在一级封闭协定的根底上加上事务T在读数据R之前必须先对其加s锁,读完之后开释S锁
- 三级封闭协定: 一级封闭协定加上事务T在读数据之前先对其加S锁,直到事务完结才开释。
读锁可反复加,写锁全锁死
数据库安全
措施
- 用户标识和鉴定
- 存取控制
- 明码存储和传输
- 试图爱护
- 审计:相似log的操作
故障关系
- 事务自身可预期的故障
- 事务自身不可预期的故障
- 系统故障
- 介质故障
数据库备份
- 动态转储:冷备份
- 动静转储:热备份
- 齐全备份
- 差量备份
- 增量备份
分布式数据库
- 部分数据库位于不同的物理地位,应用一个全局的数据库管理系统对立治理
- 分片模式
- 程度分片:将表中的程度记录别离寄存不同的中央
- 垂直分片:将表中的垂直列值,别离寄存在不同的中央
- 散布透明性:
- 分片透明性
- 地位透明性
- 逻辑透明性
- 复制透明性
仓库技术
数据仓库是一个面向主题的、集成的、非易失的、且随工夫变动额数据汇合,用于反对管理决策
面向主题:依照肯定的主题域进行组织
集成的:数据仓库中的数据在对原有扩散的数据库数据抽取、清理的根底上通过零碎加工、汇总和整顿失去的
绝对稳固的: 个别不会删除和批改
反馈历史变动
蕴含四种档次
- 数据源: 是数据仓库的根底,是整个数据的零碎数据源泉
- 数据的存储与治理: 整个数据仓库的外围
- OLAP(练级剖析解决)服务器: 数据分析
- 前端工具: 各种报表之类的货色。
商业智能
- 数据预处理
- 建设数据仓库
- 数据分析
- 数据展示
- 数据预处理:抽取、转换、加载
- 建仓
- 剖析
- 展示
反规范化技术
规范化设计后,数据库设计者心愿就义局部规范化来进步性能
- 采纳反标准技术的好处:
- 升高链接操作的需要
- 升高外码和索引的数据
- 缩小表的数目
- 进步查问效率
具体方法
- 减少冗余列
- 减少派生列
- 从新组表
- 程度宰割表
- 垂直宰割表
大数据
特点:
- 大量化
- 多样化
- 价值密度低
- 快速化
大数据和传统数据比拟
比拟难度 | 传统数据 | 大数据 |
---|---|---|
数据量 | GB TB | PB or more |
数据分析需要 | 现有数据分析检测 | 深度剖析(关联剖析,回归剖析) |
硬件平台 | 高端服务器 | 集群平台 |
要解决大数据
高度可扩大
高性能
高容错
sql 语句
略