【系统架构师】-第6章-数据库设计基础知识
外模式:视图、用户与数据库的接口概念模式:表内模式:存储方式,索引创建等1)外模式-模式映射:视图与表的映射,表数据发生修改,只需要修改映射,不需要修改外模式。逻辑独立性2)模式-内模式映射:物理独立性。
目录
1、三级模式-两级映像
外模式:视图、用户与数据库的接口
概念模式:表
内模式:存储方式,索引创建等
1)外模式-模式映射:
视图与表的映射,表数据发生修改,只需要修改映射,不需要修改外模式。
逻辑独立性
2)模式-内模式映射:物理独立性
2、数据库设计
1、基本步骤
1)需求分析
产生需求说明书、数据字典、数据流图
自顶向下的结构化分析SA
用户对系统要求:
1、信息要求:保存哪些信息
2、处理要求:RT、处理的安全性、完整性、处理的频率
3、系统要求:安全、释放资源、可扩充性
2)概念结构设计
过程:选择局部应用、逐一设计分E-R图、E-R图合并
属性冲突:同一属性可能会存在于不同的分E-R 图中。
命名冲突:相同意义的属性,在不同的分E-R 图上有着不同的命名或是名称相同的属性在不同的分E-R 图中代表着不同的意义。
结构冲突:同一实体在不同的分E-R 图中有不同的属性,同一对象在某一分E-R图中被抽象为实体而在另一分E-R 图中又被抽象为属性
3)逻辑结构设计
E-R图转关系模式
过程:确定数据模型、将E-R图转成指定的数据模型、确定完整性约束、确定用户视图
完整性:实体完整性(主键)、参照完整性(外键)、用户自定义完整性(触发器)
存储过程:提供第三方开发人员调用进行数据更新
4)物理结构设计
包括确定数据分布、存储结构和访问方式
5)数据库实施
设计实际的数据库和表
6)数据库运行和维护
1、数据备份
全量、增量(上一次[3个]备份之后的新增数据)、差量(上一次全量备份之后的新增数据)
3、数据模型
分类
1)关系模型
二维表的形式表示的实体-联系模型
2)概念模型
从用户角度建模,真正的实体-联系模型
3)网状模型
实体类型及其实体之间的联系,一个事物和另外几个都有联系
4)面向对象模型
面向对象的方法设计数据库,以对象为单位,每个对象包括属性和方法,具有类和继承等特点
三要素
数据结构:所研究的对象类型的集合
数据操作:对数据库中各种对象的实例允许执行的操作的集合
数据约束条件:一组完整性规则的集合
3、E-R模型
用E-R图来描述概念数据模型,
圆表示属性 (一般没有)、长方形表示实体、菱形表示联系、联系的两端要填写联系类型
1、实体:客观存在并可相互区别的事物
弱实体和强实体:弱实体依赖于强实体的存在而存在
其中员工是强实体、经理/业务员/部门经理 是弱实体
在学生管理系统中,家长就是学生的弱实体
2、属性:实体所具有的特性
简单属性、复合属性(家庭地址)、单值多值属性、NULL属性、
派生属性(由出生年月推算出年龄)
3、联系:实体内部的联系和实体之间的联系
联系类型:1对1、1对多、多对多
E-R模型转关系模型
每个强实体都对应一个关系模式
1:1联系中,联系可以放到任意的两端实体中,作为一个属性
1:N的联系中,联系可以单独作为一个关系模式,也可以在N端中加入1端实体的主键;
M:N的联系中,联系必须作为一个单独的关系模式,其主键是M和N端的联合主健
4、函数依赖
1)部分函数依赖:A可确定C,(A,B)也可确定C,(A,B)中的一部分(即A)可以确定
2)传递函数依赖
候选键:可唯一确定表中的属性,可以多个,可以联合
主键:任选一个候选键,即可作为主键。
外键:其他表中的主键。
主属性:候选键内的属性为主属性,其他属性为非主属性。
Armstrong公理系统
自反:
分解:
5、三范式
1NF:满足关系中的每一个属性不可拆分
2NF:无部分函数依赖,表中的每一个非主属性不会依赖复合主键中的某一个列
3NF:无传递函数依赖,表中不存在非主属性对码的传递依赖
6、关系代数
表与表的运算,行与列
1、笛卡尔积:S1 X S2中的所有属性
2、投影: 选择列 、数字表示(1开始)符号:π
3、选择: 选择行 ,符号:σ
4、自然连接:不包含同名属性列,符号:⋈
7、分布式数据库
分片模式
水平分片:将表中水平的记录分别存放在不同的地方。
垂直分片:将表中的垂直的列值分别存放在不同的地方。
分布透明性
分片透明性:用户或应用程序不需要知道逻辑上访问的表具体是如何分块存储的
位置透明性:应用程序不关心数据存储物理位置的改变。
逻辑透明性:用户或应用程序无需知道局部使用的是哪种数据模型
复制透明性:用户或应用程序不关心复制的数据从何而来
8、数据仓库
四大特点
1、面向主题:按照一定的主题域进行组织的。
2、集成的:数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加上、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
3、相对稳定的:数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作但修改和删除操作很少,通常只需要定期的加载、刷新。
4、反映历史变化:数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
四个层次
1.数据源:是数据仓库系统的基础,是整个系统的数据源泉。
2.数据的存储与管理:是整个数据仓库系统的核心。
3.0LAP(联机分析处理)服务器:对分析需要的数据进行有效集成,按多维模型组织,以便进行多角度、多层次的分析,并发现趋势。
4.前端工具:主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。
数据挖掘方法
1、关联分析:关联分析主要用于发现不同事件之间的关联性,即一个事件发生的同时,另一个事件也经常发生。
2、序列分析:序列分析主要用于发现一定时间间隔内接连发生的事件,这些事件构成一个序列,发现的序列应该具有普遍意义。
3、分类分析:分类分析通过分析具有类别的样本特点,得到决定样本属于各种类别的规则或方法分类分析时首先为每个记求赋予一个标记(一组具有不同特征的类别),即按标记分类记求,然后检查这些标定的记录,描述出这些记录的特征。相同的事物
4、聚类分析:聚类分析是根据“物以类聚”的原理,将本身没有类别的样本聚集成不同的组,并且对每个这样的组进行描述的过程。相似的事物
商业智能BI
包括数据预处理、建立数据仓库、数据分析和数据展现四个主要阶段。
1、数据预处理是整合企业原始数据的第一步,数据的抽取 (Extraction)、转换(Transformation)和加载(Load)三个过程(ETL 过程)
2、建立数据仓库则是处理海量数据的基础
3、数据分析是体现系统智能的关键,一般采用联机分析处理(OLAP和数据挖掘两大技术。联机分折处理不仅进行数据汇总/聚集,同时还提供切片、切块、下钻、上卷和旋转等数据分析功能,用户可以方便地对海量数据进行多维分析。数据挖掘的目标则是挖掘数据背后隐藏的知识,通过关联分析聚类和分类等方法建立分析模型,预测企业未来发展趋势和将要面临的问题;
4、在海量数据和分析手段增多的情况下,数据展现则主要保障系统分析结果的可视化。
9、反规范化
规范化操作可以防止插入异常、更新、删除异常和数据冗余,一般是通过模式分解,将表拆分,来达到这个目的。可能都要关联很多表,严重降低了查询效率
主要就是增加冗余,提高查询效率,为规范化操作的逆操作
1、增加派生性冗余列
2、增加冗余列
3、重新组表
4、分割表。
10、NoSQL
1、列式存储 Mongodb
2、键值对Redis
3、文档型 ElasticSearch
4、图数据库 Neo4j
整体框架分为4 层由下至上分为数据持久层数据分布层数据逻模型层和接口层
(1)数据持久层:定义了数据的储形式,包括基于内存、硬、内和硬盘接口、订制可插拔4种形式。
(2)数据分布层:定义了数据是如何分布的,相对于关系型数据库,NoSQL 可选的机制比较多主要有 3 种形式:
一是 CAP 支持,可用于水平扩展:
二是多数据中心支持,可以保证在横跨多数据中心时也能够平稳运行:
三是动态部署支持,可以在运行着的集群中动态地添加或删除结点。
(3)数据逻辑层:表述了数据的逻辑表现形式。
(4)接口层:为上层应用提供了方便的数据调用接口,提供的选择远多于关系型数据库。
更多推荐
所有评论(0)