文档介绍:数据库及数据仓库精要
第1页,本讲稿共35页
前言
数据库扮演的角色
也叫联机事务处理OLAP(Online Transactional Processing),数据库保存由日常管理过程中涉及的业务操作创建的操作型结构化的设计步骤
第一步:针对特定的应用,确定实体、属性和实体间的联系,画出局部E-R图。
第二步:综合各个局部E-R图,产生反映数据库整体概念的总体E-R图。
第8页,本讲稿共35页
E-R模型的概念与表示
弱实体集
有些实体集的所有属性都不足以形成主码,这样的实体集称为弱实体集(Weak Entity Set),依赖于其它实体集而存在。
与此相对,其属性可以形成主码的实体集称为强实体集。
弱实体集所依赖的实体集称为标识实体集(identifying entity set),相应的关系为标识联系(identifying relationship)。
Order
Item
date
status
payment
order
#
item
#
tag
Include
第9页,本讲稿共35页
E-R模型的概念与表示
弱实体集通常没有主键。
以订单的分项为例,订单项实体集可能有编号(局部的编号)、商品名称、数量、单价等属性,但是这些属性不足以识别一个定单项,因为完全有可能在另外一张订单中出现相同的内容。
必须把订单的关键字(如一个全局的订单编号)和定单项的局部编号结合起来才能标示一个定单项。
弱实体集的属性中,用来与标识实体集的键结合以识别一个弱实体集的属性称为部分键(partial key)。
弱实体集的主键=它的标识实体集的键+它的部分键
第10页,本讲稿共35页
E-R模型的概念与表示
ER图使用双线矩形表示弱实体集,弱实体集与其标识实体集之间的联系用双线菱形表示,弱实体集的部分键使用虚下划线表示。
Order
Item
date
status
payment
order
#
item
#
tag
Include
第11页,本讲稿共35页
E-R模型的概念与表示
实体集的层次关系
现实世界中的很多概念之间都具体层次关系。
ER模型使用实体集间的继承和ISA关系来描述这种概念间的层次关系
实体集老师或学生都继承自实体集人,并且实体集老师或学生与实体集人之间都满足ISA关系,即老师或学生都是人的一种。
ISA关系可以从两个方向进行设计
从自上而下的方向,首先设计出人这一实体,然后根据属性的不同,将两种不同的人具体化(specification)为老师或者学生。
从自下而上的方向,首先设计出老师或学生,然后将他们的共性提取出来,泛化(generalization)为人。
第12页,本讲稿共35页
E-R模型的概念与表示
层次关系的约束
从子实体集之间是否相交角度,不相交(disjoin)泛化要求继承自同一父辈的多个子实体集之没有交集,重叠(overlapping)泛化则允许有交集。
从泛化是否完全角度,全参与泛化要求所有父辈实体都必须同时也是某一子辈实体,部分泛化则允许不是任何子辈实体的父辈实体存在。
例如,在采用会员制的销售系统中,顾客被分为会员(VIP)与非会员(NONVIP)两种,会员拥有消费积分(credit),非会员拥有固定的折扣率(discount)。一个顾客要么是会员、要么是非会员,二者必取其一,因此为全参与不相交。
第13页,本讲稿共35页
E-R模型的概念与表示
Customer
ISA
VIP
NONVIP
credit
discount
disjoin
customer
#
name
gender
birthday
city
address
email
第14页,本讲稿共35页
E-R图例
第15页,本讲稿共35页
实体-联系方法
实体还是属性
凡是满足以下两条准则的事物,一般均可作为属性对待。
作为属性,不能再具有需要描述的性质。属性必须是不可分的数据项,不能包含其他属性。
属性不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系。
例如书籍是一个实体,书号、书名、作者、出版社、定价是书籍的属性,如果应用系统不再需要作者的其他信息,如电话、住址、个人主页等,那么根据原则1可以将作者作为书籍的属性对待。但是如果这些信息是必须的,那么作者作为一个实体看待更