资源描述
Click to edit Master text styles,Second level,Third level,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Click to edit Master title style,数据库及数据仓库精要,前言,数据库扮演的角色,也叫联机事务处理,OLAP(Online Transactional Processing),,数据库保存由日常管理过程中涉及的业务操作创建的,操作型结构化数据,,数据,记录系统管理行为,(通过各种业务逻辑来交互)。反映细粒度的事务数据,保存时间短。主要,依赖关系模式建模方法论,。,数据仓库扮演的角色,也叫联机分析处理,OLAP(Online Analytical Processing),,数据由联机事务处理来,,经过选择和聚集,变为统计分析事实产生的因果,辅助决策制定,(通过各种统计分析报表来交互)。反映大范围的,事实数据(业务事件的累积),,保存时间长。主要,依赖多维模式建模方法论,主题、事实和事件,事实,是一个主题,比如:销售、配送、住院、手术等。一个,主题,对应了多个相互关联的关系模式,也可以叫做相关关系表。事实的实例对应着发生的,事件,,比如:一个执行的销售、配送、住院、手术等都是一个事件。每个事实由一组提供了,事件的量化描述的度量的值描述,,比如:销售收入、配送量、住院支出、手术时间等,问题的导入-从Excel表格出发,结构良好的表,范式,,SQL,语言及关系,基本表与中间表、临时表不同,基本表及其字段之间的关系,应尽量满足第三范式,,是结构良好的表,它可以消除删除行,改变行,修改行,(,实例,),的错误和异常。,它具有如下四个特性:,(1),原子性,基本表中的字段是不可再分解的,。,(2),原始性,基本表中的记录是原始数据(基础数据)的记录,。,(3),演绎性,由基本表与代码表中的数据,可以派生出所有的输出数据,。,(4),稳定性,基本表的结构是相对稳定的,表中的记录是要长期保存的,。,(5),基本表的每个决定因子都必须是候选建。,(6),菲基本表必须分解为两个或多个基本表。,三个基本范式,:,(1)1NF,是对属性的原子性约束,要求属性具有原子性,不可再分解,。,(2)2NF,是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性,。,(3)3NF,是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余,大多数结构不良好的表,会产生或包含大量的冗余数据,同时可能会出现删除行,改变行,修改行的错误和异常,这都是都是使用了,SQL DML CURD,语句产生的。像,中间表、报表和临时表:,(1),中间表是存放统计数据的表,它是为,数据仓库、输出报表或查询结果,而设计的,有时它没有主键与外键,(,数据仓库除外,),。,(2),临时表是程序员个人设计的,存放临时记录,为个人所用。,(3),基表和中间表由,DBA,维护,临时表由程序员自己用程序自动维护。,关系是一个由行和列组成的二维表,不一定结构良好,特征为:行包括实体的数据,列包含实体性质的数据,表中的单元格存储单个值,每列的所有实体类型一致,每列具有唯一名称,列的顺序任意,行的顺序任意,任意两行互不重复。这是最大的复合关系模式的条件,符合这个要求的表就是关系型表格。,统计,汇总,分析表自动用,Excel,做,目录,E-R,模型的概念与表示,实体,-,联系方法,(,概念设计,),E-R,图向关系表的转换,(,逻辑设计,),关系模式的规范化,多维模式与统计分析的关系,统计分析系统(多维模式建构)的演进,E-R,模型的概念与表示,实体集,-,语义,(,名词类性,),实体(,Entity,),事物就是在行动影响下物质本身的改变,或者进行。客观存在并可相互区别的事物称为实体。实体可以是具体的,也可以是抽象的概念或联系。,具有共性的一类实体可归类为一个实体集,(Entity set),。,属性(,Attribute,),实体所具有的某一特性称为属性。,一个实体可以由若干个属性来刻画,。,域(,Domain,),属性的取值范围或类型。,键或标识符(,Key,),标识符是实体中一个或多个属性的集合,可用来唯一标识实体中的一个实例。每个实体都必须至少有一个标识符。如果实体只有一个标识符,则它为实体的主标识符。如果实体有多个标识符,则其中一个被指定为主标识符,其余的标识符就是次标识符(候选标识符),E-R,模型的概念与表示,联系集,-,语义,(,动词类型,),实体之间可以通过联系来相互关联。与实体和实体集对应,联系也可以分为联系和联系集,联系集是实体集之间的联系,联系是实体之间的联系,联系是具有方向性的。,联系具有方向性,每个方向上都有一个基数。,联系的两个方向上各自包含有一角色名,描述该方向联系的作用。,按照实体类型中实例之间的数量对应关系,通常可将联系分为,4,个基本联系分为类,即一对一(,ONETO ONE,)联系、一对多(,ONE TO MANY,)联系、多对一(,MANY TO ONE,)联系和多对多联系(,MANY TO MANY,)。,三个特殊联系,每个实体类型都有自己的标识符,如果两个实体集之间发生联系,其中一个实体类型的标识符进入另一个实体类型并与该实体类型中的标识符共同组成其标识符时,这种联系则称为标定联系,也叫,依赖联系,。反之称为非标定联系,也叫,非依赖联系,。,递归联系是实体集内部实例之间的一种联系,通常形象地称为自反联系。同一实体类型中不同实体集之间的联系也称为,递归联系,。,E-R,模型的概念与表示(使用,Case,工具时的图符),E-R,模型的概念与表示,E-R,图的设计步骤,第一步:针对特定的应用,确定实体、属性和实体间的联系,画出局部,E-R,图。,第二步:综合各个局部,E-R,图,产生反映数据库整体概念的总体,E-R,图。,E-R,模型的概念与表示(手绘),弱实体集,有些实体集的所有属性都不足以形成主码,这样的实体集称为,弱实体集,(Weak Entity Set),,依赖于其它实体集而存在。,与此相对,其属性可以形成主码的实体集称为,强实体集,。,弱实体集所依赖的实体集称为,标识实体集,(,identifying entity set,),相应的关系为,标识联系,(,identifying relationship,)。,Order,Item,date,status,payment,order,#,item,#,tag,Include,E-R,模型的概念与表示,弱实体集通常没有主键。,以订单的分项为例,订单项实体集可能有编号(局部的编号)、商品名称、数量、单价等属性,但是这些属性不足以识别一个定单项,因为完全有可能在另外一张订单中出现相同的内容。,必须把订单的关键字(如一个全局的订单编号)和定单项的局部编号结合起来才能标示一个定单项。,弱实体集的属性中,用来与标识实体集的键结合以识别一个弱实体集的属性称为,部分键,(,partial key,)。,弱实体集的主键,=,它的标识实体集的键,+,它的部分键,4.1 E-R,模型的概念与表示(手绘),ER,图使用双线矩形表示弱实体集,弱实体集与其标识实体集之间的联系用双线菱形表示,弱实体集的部分键使用虚下划线表示。,Order,Item,date,status,payment,order,#,item,#,tag,Include,E-R,模型的概念与表示,实体集的层次关系,现实世界中的很多概念之间都具体层次关系。,ER,模型使用实体集间的,继承,和,ISA,关系来描述这种概念间的层次关系,实体集老师或学生都继承自实体集,人,,并且实体集,老师,或,学生,与实体集,人,之间都满足,ISA,关系,即,老师,或,学生,都是,人,的一种。,ISA,关系可以从两个方向进行设计,从自上而下的方向,首先设计出人这一实体,然后根据属性的不同,将两种不同的人,具体化,(,specification,)为老师或者学生。,从自下而上的方向,首先设计出老师或学生,然后将他们的共性提取出来,,泛化,(,generalization,)为人。,E-R,模型的概念与表示,层次关系的约束,从子实体集之间是否,相交,角度,不相交(,disjoin,)泛化要求继承自同一父辈的多个子实体集之没有交集,重叠(,overlapping,)泛化则允许有交集。,从泛化是否,完全,角度,全参与泛化要求所有父辈实体都必须同时也是某一子辈实体,部分泛化则允许不是任何子辈实体的父辈实体存在。,例如,在采用会员制的销售系统中,顾客被分为会员(,VIP),与非会员,(NONVIP),两种,会员拥有消费积分,(credit),,非会员拥有固定的折扣率,(discount),。一个顾客要么是会员、要么是非会员,二者必取其一,因此为全参与不相交。,E-R,模型的概念与表示(手绘),Customer,ISA,VIP,NONVIP,credit,discount,disjoin,customer,#,name,gender,birthday,city,address,email,E-R,图符(手绘),实体,-,联系方法,实体还是属性,凡是满足以下两条准则的事物,一般均可作为属性对待。,作为属性,不能再具有需要描述的性质。属性必须是不可分的数据项,不能包含其他属性。,属性不能与其他实体具有联系,即,E-R,图中所表示的联系是实体之间的联系。,例如书籍是一个实体,书号、书名、作者、出版社、定价是书籍的属性,如果应用系统不再需要作者的其他信息,如电话、住址、个人主页等,那么根据,原则,1,可以将作者作为书籍的属性对待。但是如果这些信息是必须的,那么作者作为一个实体看待更为恰当。,实体,-,联系方法(手绘),book,isbn,title,price,press,written_by,name,author,author,city,serial,book,isbn,title,price,press,author,实体,-,联系方法,实体还是联系,一般来说,,实体,对应现实世界中实际存在的事物,是名词类型;,联系,对应的概念一般是一种动作,是动词类型。,例如:,书和作者都是现实世界中的名词,因此作为实体。,而,written_by,表示作者写书这一动作,因此作为联系。,映射基数,往往影响到一个概念是作为实体还是联系的选择。,若一项贷款只能由一个分行发放,并且只能由一个客户借贷,则将,Loan,作为,Customer,与,Branch,之间的联系比较合适。,但如果允许多个客户共同借贷同一项贷款,在这种情况下,将,Loan,作为实体。,实体,-,联系方法(手绘),二元关系还是多元关系,数据库中使用得最多的是二元联系。,通常,将多元关系转换为二元关系。,如学校选课系统,涉及到学生、教室、教师、课程等多个实体,可表示为一个四元关系。,学生,上课,教室,教师,课程,学生,选课,课程,授课,教师,地点,教室,实体,-,联系方法(手绘),但也有一些情况下使用多元联系更好(如需要表达多个实体集间的约束时),如学校选课系统中若一门课程可由多个教师教授,并且若课程和教师确定,则上课的地点也随之确定,。,实体,-,联系方法(手绘),联系属性的放置,影响联系属性放置的主要因素是联系的,映射基数,。,对于一对一或一对多联系,选择作为联系属性或实体属性只是体现语义侧重点的不同,如销售系统需要记录顾客(,Customer,)与订单(,Order,)之间的关系(,Possess,)。由于一个订单只能由一个顾客所有,因此为顾客与订单之间为一对多关系。这时,记录生成订单日期的属性(,date,)既可以作为联系,Possess,的属性,也可作为订单的属性。,Order,date,status,payment,order,Posses,Customer,实体,-,联系方法
展开阅读全文