《【精编】数据库及数据仓库精要》由会员分享,可在线阅读,更多相关《【精编】数据库及数据仓库精要(52页珍藏版)》请在金锄头文库上搜索。
1、 数据库及数据仓库精要 终极目标 Ad hoc报表系统 Ad hoc释义 即时的 随意的 特殊的 前言 数据库扮演的角色也叫联机事务处理OLAP OnlineTransactionalProcessing 数据库保存由日常管理过程中涉及的业务操作创建的操作型结构化数据 数据记录系统管理行为 通过各种业务逻辑来交互 反映细粒度的事务数据 保存时间短 主要依赖关系模式建模方法论 数据仓库扮演的角色也叫联机分析处理OLAP OnlineAnalyticalProcessing 数据由联机事务处理来 经过选择和聚集 变为统计分析事实产生的因果 辅助决策制定 通过各种统计分析报表来交互 反映大范围的事实
2、数据 业务事件的累积 保存时间长 主要依赖多维模式建模方法论主题 事实和事件 请注意语义 事实是一个主题 比如 销售 配送 住院 手术等 一个主题对应了多个相互关联的关系模式 也可以叫做相关关系表 事实的实例对应着发生的事件 比如 一个执行的销售 配送 住院 手术等都是一个事件 每个事实由一组提供了事件的量化描述的度量的属性值描述 比如 销售收入 配送量 住院支出 手术时间等通过语义将数据库和数据仓库结合在一起 从报表到报表存在的问题及对策纲领 对策纲领实体 关系所代表的实体 原子化 是指实体本身不能再分解属性原子化 是指实体的属性 值域所代表的属性 本身不能再分解主键原子化 是指实体的主键本
3、身是一个唯一的ID字段联系原子化 是指实体间的联系 关系所代表的联系 都是一对多的联系命题原子化 是指语义角度的联系原子化 现实 面对单一主题 数据规模极小 仅是面对招投标业务追踪 1 第二个表是从第一个表通过高级程序员编写VBA程序实现 第一个表也是专业定岗员工通过Excel专用表单维护和更新的 背后其实还是高级程序员的工作价值体现2 信息化岗位需求及配置 高级程序员四名 六个专业业务人员 满负荷工作以应对数据变动和操作功能变动解决方案 报表列表化 去除冗余数据 建模信息化模型 数据库模型 并影射和实现为Access桌面数据库应用 问题的导入 从Excel表格出发引出的问题 结构良好的表 范
4、式 SQL语言 关系模式及E R图基本表与中间表 临时表不同 基本表及其字段之间的关系 应尽量满足第三范式 是结构良好的表 它可以消除删除行 改变行 修改行 实例 的错误和异常 它具有如下四个特性 1 原子性 基本表中的字段是不可再分解的 2 原始性 基本表中的记录是原始数据 基础数据 的记录 3 演绎性 由基本表与代码表中的数据 可以派生出所有的输出数据 4 稳定性 基本表的结构是相对稳定的 表中的记录是要长期保存的 5 基本表的每个决定因子都必须是候选建 6 非基本表必须分解为两个或多个基本表 三个基本范式 1 1NF是对属性的原子性约束 要求属性具有原子性 不可再分解 2 2NF是对记录
5、的惟一性约束 要求记录有惟一标识 即实体的惟一性 3 3NF是对字段冗余性的约束 即任何字段不能由其他字段派生出来 它要求字段没有冗余大多数结构不良好的表 会产生或包含大量的冗余数据 同时可能会出现删除行 改变行 修改行的错误和异常 这都是都是使用了SQLDMLCURD语句产生的 像中间表 报表和临时表 1 中间表是存放统计分析数据的表 它是为数据仓库 输出报表或查询结果而设计的 有时它没有主键与外键 数据仓库除外 2 临时表是程序员个人设计的 存放临时记录 为个人所用 3 基表和中间表由DBA维护 临时表由程序员自己用程序自动维护 关系是一个由行和列组成的二维表 不一定结构良好 特征为 行包
6、括实体的数据 列包含实体性质的数据 表中的单元格存储单个值 每列的所有实体类型一致 每列具有唯一名称 列的顺序任意 行的顺序任意 任意两行互不重复 这是最大的复合关系模式的条件 符合这个要求的表就是关系型表格 通过E R图将这些概念反映出来 通过名词性和动词性 完全可以描述客观世界 其中名词性描述实体 动词性描述联系或动作影响 通过动词性将不同的实体关联在一起 第一目标或者叫基础目标 统计 汇总及分析报表的工作尽量地自动用Excel或Spreadsheet做 几乎不需人为干预 目录 E R模型的概念与表示实体 联系方法 概念模型及设计 关注现实世界 关系模式的规范化 消除数据冗余 避免操作异常
7、 E R图向关系表 Schema 的转换 逻辑模型及设计 关注信息世界 多维模式与统计分析的关系Excel或Spreadsheet在统计分析中的角色统计分析系统 多维模式建构 的演进终极目标 Ad hoc报表系统 关于现实世界事实及描述的定义 事实包括以下四个方面 第一 事实是指 某物具有某种性质或某些事物具有某种关系 与原子命题 分子命题的分类相对应 事实可以分为原子事实 分子事实 其中 原子事实是最基本 最简单的事实 从中不能再析出其它事实 分子事实是原子事实的复合第二 事实具有客观性 大多数的事实的存在都不依靠我们的意愿 这就是为什么我们把它们叫作 严峻的 不肯迁就的 或 不可抗拒 的理
8、由 大部分物理事实的存在不仅不依靠我们的意愿 而且也不依靠我们的存在 第三 现实世界由各种各样的事实组合而成 事实属于现实世界第四 事实决定命题的真伪 事实是使得命题为真或为假的东西 具体说来 原子命题的真假取决于它是否与原子事实相符合 分子命题的真假取决于组成它的原子命题的真假现实世界的语义描述的存在第一 原子命题第二 分子命题第三 段落 由多个逻辑紧密相关的分子命题构成 第四 主题 由多个逻辑紧密相关的段落构成 E R模型的概念与表示 E R图也称实体 联系图 EntityRelationshipDiagram 提供了表示实体类型 实体属性和相关实体之间联系 三个要素 的方法 用来描述现实
9、世界的概念模型关系数据库使用实体 联系模型 E R模型 进行数据库设计 以构造信息世界的逻辑模型 E R数据库设计工具提供了一个 方框与箭头 的绘图工具 帮助数据库用户建立E R图来描绘数据 逻辑及现实世界E R图可以手绘 亦可以借用Case工具 PowerDesigner Visio或SQLPowerArchitect 做出考察单独的一个联系 动词类型的语义连接及构造能力 联系及相互关联的实体形成的一个描述 构造了一个最基本的原子命题 E R模型的概念与表示 实体集 语义 名词类性 实体 Entity 事物就是在行动影响下物质本身的改变 或者进行 客观存在并可相互区别的事物称为实体 实体可以
10、是具体的 也可以是抽象的概念或联系 具有共性的一类实体可归类为一个实体集 Entityset 属性 Attribute 实体所具有的某一特性称为属性 一个实体可以由若干个属性来刻画 域 Domain 属性的取值范围或类型 键或标识符 Key 标识符是实体中一个或多个属性的集合 可用来唯一标识实体中的一个实例 每个实体都必须至少有一个标识符 如果实体只有一个标识符 则它为实体的主标识符 如果实体有多个标识符 则其中一个被指定为主标识符 其余的标识符就是次标识符 候选标识符 E R模型的概念与表示 联系集 语义 动词类型 实体之间可以通过联系来相互关联 与实体和实体集对应 联系也可以分为联系和联系
11、集 联系集是实体集之间的联系 联系是实体之间的联系 联系是具有方向性的 联系具有方向性 每个方向上都有一个基数 联系的两个方向上各自包含有一角色名 描述该方向联系的作用 按照实体类型中实例之间的数量对应关系 通常可将联系分为4个基本联系分为类 即一对一 ONETOONE 联系 一对多 ONETOMANY 联系 多对一 MANYTOONE 联系和多对多联系 MANYTOMANY 三个特殊联系每个实体类型都有自己的标识符 如果两个实体集之间发生联系 其中一个实体类型的标识符进入另一个实体类型并与该实体类型中的标识符共同组成其标识符时 这种联系则称为标定联系 也叫依赖联系 反之称为非标定联系 也叫非
12、依赖联系 递归联系是实体集内部实例之间的一种联系 通常形象地称为自反联系 同一实体类型中不同实体集之间的联系也称为递归联系 E R模型的概念与表示 使用Case工具时的图符及事例 E R模型的概念与表示 E R图的设计步骤第一步 针对特定的应用 确定实体 属性和实体间的联系 画出局部E R图 第二步 综合各个局部E R图 产生反映数据库整体概念的总体E R图 E R模型的概念与表示 手绘草图事例 弱实体集有些实体集的所有属性都不足以形成主码 这样的实体集称为弱实体集 WeakEntitySet 依赖于其它实体集而存在 与此相对 其属性可以形成主码的实体集称为强实体集 弱实体集所依赖的实体集称为
13、标识实体集 identifyingentityset 相应的关系为标识联系 identifyingrelationship E R模型的概念与表示 弱实体集通常没有主键 以订单的分项为例 订单项实体集可能有编号 局部的编号 商品名称 数量 单价等属性 但是这些属性不足以识别一个定单项 因为完全有可能在另外一张订单中出现相同的内容 必须把订单的关键字 如一个全局的订单编号 和定单项的局部编号结合起来才能标示一个定单项 弱实体集的属性中 用来与标识实体集的键结合以识别一个弱实体集的属性称为部分键 partialkey 弱实体集的主键 它的标识实体集的键 它的部分键 E R模型的概念与表示 手绘草图
14、事例 E R图使用双线矩形表示弱实体集 弱实体集与其标识实体集之间的联系用双线菱形表示 弱实体集的部分键使用虚下划线表示 E R模型的概念与表示 实体集的层次关系现实世界中的很多概念之间都具体层次关系 E R模型使用实体集间的继承和ISA关系来描述这种概念间的层次关系实体集老师或学生都继承自实体集人 并且实体集老师或学生与实体集人之间都满足ISA关系 即老师或学生都是人的一种 ISA关系可以从两个方向进行设计从自上而下的方向 首先设计出人这一实体 然后根据属性的不同 将两种不同的人具体化 specification 为老师或者学生 从自下而上的方向 首先设计出老师或学生 然后将他们的共性提取出
15、来 泛化 generalization 为人 E R模型的概念与表示 层次关系的约束从子实体集之间是否相交角度 不相交 disjoin 泛化要求继承自同一父辈的多个子实体集之没有交集 重叠 overlapping 泛化则允许有交集 从泛化是否完全角度 全参与泛化要求所有父辈实体都必须同时也是某一子辈实体 部分泛化则允许不是任何子辈实体的父辈实体存在 例如 在采用会员制的销售系统中 顾客被分为会员 VIP 与非会员 NONVIP 两种 会员拥有消费积分 credit 非会员拥有固定的折扣率 discount 一个顾客要么是会员 要么是非会员 二者必取其一 因此为全参与不相交 E R模型的概念与表
16、示 手绘草图事例 E R图符 手绘草图事例 实体 联系方法 实体还是属性凡是满足以下两条准则的事物 一般均可作为属性对待 作为属性 不能再具有需要描述的性质 属性必须是不可分的数据项 不能包含其他属性 属性不能与其他实体具有联系 即E R图中所表示的联系是实体之间的联系 例如书籍是一个实体 书号 书名 作者 出版社 定价是书籍的属性 如果应用系统不再需要作者的其他信息 如电话 住址 个人主页等 那么根据原则1可以将作者作为书籍的属性对待 但是如果这些信息是必须的 那么作者作为一个实体看待更为恰当 实体 联系方法 手绘草图事例 实体 联系方法 实体还是联系一般来说 实体对应现实世界中实际存在的事物 是名词类型 联系对应的概念一般是一种动作 是动词类型 例如 书和作者都是现实世界中的名词 因此作为实体 而written by表示作者写书这一动作 因此作为联系 映射基数往往影响到一个概念是作为实体还是联系的选择 若一项贷款只能由一个分行发放 并且只能由一个客户借贷 则将Loan作为Customer与Branch之间的联系比较合适 但如果允许多个客户共同借贷同一项贷款 在这种情况下 将Loan