数据库基础

三层模式-两级映射
内模式:数据以什么格式存储到物理文件,如何优化。数据存放。物理级数据库
映射:不改应用程序
概念模式:表。根据业务、应用分。概念级数据库
映射:改表,不改应用程序
外模式:视图。处理之后显示、不要显示全部的信息、提高安全性、灵活性。用户级数据库
数据库设计:
整个设计过程的流程及每个阶段的产出物。
需求分析:整个系统对数据的要求(产出物:数据流图、数据字典、需求说明书)
概念结构设计:产出物:E-R模型,和数据库管理系统无关的模型,可以用SQL Server、Oracle、My SQL,是一种数据的表达。
转成关系模式:转成文字表达(表)的格式
逻辑结构设计:产出物:关系模式(规范化理论)
物理设计
局部E-R图合成全局E-R图
逐步集成:2+1+1+1
一次集成
冲突:属性冲突(属性域、属性取值)、命名冲突(同名异义、异名同义)、结构冲突(抽象级别不同,表和列)
联系
1-1 1-n 可以转换为2-3个关系模式
n-n 可以转换为3个关系模式
关系代数
笛卡尔积:s1×s2 不会去掉相同字段
投影:选列 πsno,sname(s1)或π1,2(s1)
选择:6.
连接:蝴蝶
等值连接:=
自然连接:不写条件:默认相同的字段做等值,去掉相同字段。
关系代数:除法运算
选课表RS(学生名、课程名) 课程表S(课程名)
RS÷S :解决的问题:找出选择了所有课程的学员名单
规范化理论--函数依赖
学号->姓名
部分函数依赖:主键的一个部分可以确定其他某一个属性
传递函数依赖:A->B->C (B×->A)
规范化理论--价值与用途
非规范化的关系模式可能存在的问题:数据冗余、更新异常、插入异常、删除异常等。
安全和性能冲突
规范化理论--键
超键:唯一标识元组(可以是单个键或是键的组合,可能存在冗余属性)
候选键:超键消除多余属性后能够唯一标识元组的键
主键:候选键任选一个
外键:其他关系的主键
规范化理论--求候选键
图示法:
将关系模式化为“有向图”的形式
找出入度为0的结点,尝试遍历这个图
如果没有入度为0的结点,找中间结点(既有入度,也有出度)
AB:表示组合键是候选键
A和B:表示有两个候选键
规范化理论--范式
1NF:属性值都是不可分的原子值
2NF:消除非主属性对候选键的部分依赖
3NF:消除非主属性对候选键的传递依赖(如果没有非主属性,则至少为3NF)
BCNF:消除主属性对候选键的部分依赖和传递依赖(每个决定因素必定包含某个候选码)
规范化程度越高,数据密度越小。
规范化理论--模式分解
保持函数依赖的分解:所有的函数依赖都保持到新的关系模式中,没有缺失
无损分解:可以还原(如rar),通过连接关系又可以还原成原始表
  ·表格法:行:拆分后的表;列:原始属性  连接之后有一行包含全部的属性,则是无损的
  ·公式法:适合一分为二 R1和R2交集->(R1-R2)或(R2-R1)在原始的关系中,则是无损的
有损:不能还原
数据库并发控制
事务:封装多个操作,如转账(要么全做,要么全不做)。原子性、一致性(执行前后的状态一致)、隔离性(互不影响)、持续性(执行后的影响是持续的)
并发:为了提高效率
并发可能产生的问题:丢失更新、不可重复读、读“脏”数据
解决方案:
封锁协议:
  读锁加上去之后还能加读锁。写锁上面不能加锁。
  一级:读之前加X锁(其他事务不能对数据进行写操作)。防止丢失更新。
  二级:读之前加X锁(写锁)和S锁(读锁)。防止丢失更新和读脏数据
  三级:读之前加X锁和S锁,直到事务结束才释放。都能防止。
  两段锁协议:可串行化,可能发生死锁。
封锁机制
数据库完整性约束:
实体完整性(主键)、参照完整性(外键/空)、用户自定义完整性
触发器完成更加复杂的要求
数据库安全:
措施:
用户标识和鉴定:身份认证
存取控制:对用户进行授权
密码的存储和传输:对远程终端信息用密码保护
视图的保护:对视图进行授权,不同权限的用户使用不同的视图
审计:用户对数据库的操作记录下来,用日志
数据库备份和恢复:
冷备份:静态备份,在数据库停止状态下备份(拷贝文件)
热备份:动态备份,运行时备份
完全备份:备份所有数据
差量备份:上一次完全备份后变化的数据(变化量较大,但是恢复方便)
增量备份:上一次备份后变化的数据(备份速度快,但是恢复慢,要把每一个增量版全部执行一遍)
静态海量转储:系统无运行事务时进行,转储全部数据库
静态增量转储:转储上一次转储后更新过的数据
动态海量转储:转储其间允许对数据库进行存取或修改,全部
动态增量转储:转储更新过的数据
日志文件:对数据库的任何操作先写日志,再写数据文件。以防数据恢复不完整。
数据库故障与恢复:
事务本身的可预期故障:本身逻辑的问题,可设置rollback语句
不可预期的故障:算数溢出、违反存储保护,可通过日志,撤销修改,回退到原始状态
系统故障:数据库或操作系统停止运转,可通过检查点方法
介质故障:外存被破坏,可使用日志重做业务
分布式数据库--体系结构
集中式数据库(原有的)根据联网的需求发展成为分布式数据库。
分片透明性:水平分片:某段数据存在不同的位置
  垂直分片:把表不同的列存在不同的位置
  混合分片
数据库优化
集中式数据库:硬件系统、系统软件、数据库设计(表与视图,索引,SQL优化(限制条件顺序修改,如先做判断筛选,然后做等值连接、以不相干子查询代替相干子查询、只检索需要的列、用带IN的条件子句代替OR子句、把数据库连接存在缓冲池中))、应用软件(数据库连接池)
分布式数据库:通信代价:全局查询树的变换、多副本策略、查询树的分解、半连接和直接连接
数据仓库与数据挖掘
广泛应用于BI:商业智能
数据仓库:面向主题(数据库:面向业务)、集成的、相对稳定的(非易失的)、反映历史变化(随着时间变化,数据导入)
数据源:抽取、清理(数据格式统一、冗余数据清除)、装载(放入数据仓库)、刷新(定期添加数据)
数据仓库:数据集市:先建部门级,再建企业级
OLAP服务器:(分析处理工作):查询、报表、分析、数据挖掘工具
数据挖掘:决策树、神经网络、遗传算法、关联规则挖掘算法
分类:关联分析(挖掘出隐藏在数据间的相互关系)、序列模式分析(分析数据间的前因后果)、分类分析(分成不同类别)、聚类(共性聚合成大的类别)分析
联邦数据库
特征:分布性、异构性、自治性、透明性
分类:紧耦合、松耦合
NoSQL:not only SQL
并发性能高;海量数据存储、查询效率高;向外扩展(把集群的100台机器扩展为200台);特定应用领域;键值索引
不足:
成熟度不够;开源数据库产品的支持度不够;数据挖掘和商务智能支持不足;数据库专家少
反规范化技术(逆规范化技术):
规范化程度越高,拆分表,每个表粒度过小,关联多表查询,增加处理时间和查询时间
技术手段:
增加冗余列、增加派生型冗余列(以空间换时间,牺牲一些规范程度)、重新组表、分割表
大数据技术:
数据量大、速度快、多样性、数据有价值
(volume,velocity,variety,value)
高度可扩展性、高性能、高容错性、支持异构环境、较短的分析延迟、易用且开放的接口、较低成本、向下兼容性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值