- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库模式设计及其规范化要点
数据库模式设计及其规范化 杨德仁 2011年11月15日 西部CA 数据库设计的两个途径 自底向上 从报表开始 报表是一个视图或复杂的关系模式 需要规范化 如何规范化? 自上而下(“详细设计”阶段) 从类或对象开始 联系在何体现? E-R图 扩展的E-R图(ISA关系) 实体和联系需要转换 转化规则在何? 大纲 数据库模式的定义 数据库模型设计(E-R图) 从E-R模型向关系模式转换 数据库设计的规范化(bottom-up) 数据冗余和数据异常 基于码和数据依赖的规范化 数据依赖 函数依赖 多值依赖 投影依赖,…… 规范化的结果:一系列小表 查询优化:反规范化 数据库模式的定义 数据库 数据库由多个关系(表)构成,表达系统的信息。 关系模式与关系实例 码(key,键) 三种模型 概念模型(E-R模型) 逻辑模型(关系模式) 物理模型(存储结构):索引,存储,化简访问瓶颈 关系模式和关系实例 关系的描述称作关系模式,包括关系名、关系中的属性名、属性向域的映象、属性间的数据依赖关系等 关系模式可以形式化地表示为:R(U,D,dom,F) R 关系名 U 组成该关系的属性名集合 D 属性组U中属性所来自的域 dom 属性向域的映象集合,直接说明为属性的类型、长度等 F 属性间的数据依赖关系集合 某一时刻对应某个关系模式的内容(元组的集合)称作关系实例,简称为关系 关系模式是型,是稳定的; 关系是某时刻的值,是不断变化的,是一种快照,如同我们夜间仰望星空 ! 元组的语义 表示实体、实体之间的联系 关系模式的码 按组成 简单码 组合码 全码(所有属性都是码的组成) 按使用情况 主码(在用) 候选码(够条件,备用) 按包含关系 码 超码(最小的超码为候选码) 按关联关系 主码 外码 关系模式的完整性 三种完整性 实体完整性 唯一,不能重复; 不能为空,若属性A是关系R的主属性,则A不能取空值。 参照完整性 体现实体之间的联系 用户自己定义的完整性(约束机制) 如属性取值,或其它业务规则,如何实现? 系统的支持性 实体完整性和参照完整性由系统自动支持 系统应提供定义和检验用户定义的完整性的机制 实现机制:模式定义,约束(取值范围),触发器(业务规则)等 数据库模型设计 从概念模模型(E-R图)开始 基于E-R联系 实体 强实体与弱实体(如还款项) 联系 按参与联系的实体数目分类 二元联系与多元联系 按基数分类(针对二元联系) 1:1,1:m(m:1),m:n 工具 Powerdesigner,ERWIN等 数据库模型设计 数据库模型设计 强实体集:有主码的实体集 弱实体集:单独不能存在或意义不完整的实体 没有足够的属性以形成主码; 如,payment 的payment_number(还款序列号,部分码)针对贷款,不同贷款 payment_number可以相同 弱实体集,与另一个称为标识实体集(属主实体集)的实体集关联才有意义 弱实体集与其标识实体集相关联的联系成为标识性联系 标识性联系是从弱实体集到标识实体集的多对一联系,并且弱实体集全部参与联系 弱实体集的分辨符(或称部分码)是用于区分某个弱实体集的所有实体的属性集合(如还款序列号) 弱实体集的主码由标识实体集的主码加上弱实体集的分辨符构成 数据库模型设计 弱实体集用双矩形表示,标识性联系使用双菱形表示 使用虚下划线标识弱实体集的分辨符(部分码) payment_number :payment实体集的分辨符 payment 主码 :(loan_number, payment_number) 数据库模型设计 联系 可以有属性 分类 二元联系 多元联系 在实体集和联系集之间,用箭头或线段表示基数约束: 有向直线(?)指向“一”方, 无向直线(—)表示“多”。 基数约束 三种:1:n,n:1,m:n 数据库模型设计 实体集在联系集中的参与 完全参与 (用双线表达):实体集中的每个实体参与联系集中的至少一个联系 如,borrower中的 loan 是完全参与 每项 loan 通过borrower必须有一个客户与之相关联 角色 实体在联系中的作用称为实体的角色 同一个实体集在一个联系集中参与的次数大于1时,则每次参与具有不同的角色(自环联系集) 在E-R 图中,通过对连接菱形和矩形的直线做标签来显示角色 角色标签是可选的,用于澄清联系的语义 E-R模型转化为关系模式 参考论文:ER模型转换为关系模式的实用规则(潘文林 ) E-R图所表达的数据库,可用关系模式集合表示,一般而言(要看具体情况): 对于每个实体集和联系集,都有唯一的关系模式与之对应,关系模式名即为相应的实体集和联系集的名称 每一关系模式有多个属性,属性
文档评论(0)