1、第二章 概念设计及其相应的语义模型,数据库设计生命周期需求分析Requirement analysis概念设计Conceptual design实现设计Implementation design物理设计Physical design,数据库设计步骤,需求分析,概念设计(语义模型),详细设计(逻辑模型),物理设计(物理模型),信息要求,数据处理过程要求,需求说明书,信息结构、操作说明,逻辑数据库设计说明书,物理DB结构,DBMS特征,硬件/OS特征,概念设计要点,目标:能充分描述所有信息可能的合法的状态。充分表达信息间的互联性及完整性约束。(在此不必定义DB中的实际状态。)模型:所使用的概念设计
2、模型语义模型有丰富的表现力,利于描述信息间的语义关系。具有抽象和规范能力。便于人的理解。便于向逻辑模型转换。,E-R模型的基本概念(Entity-Relationship),实体:描述现实世界中抽象的或物理的 对象。联系:实体间的关联。属性:描述实体或联系的性质。现实世界被模型化为实体集合及其作 用在实体间的联系。,实体和实体集合,实体:(实例)现实世界中可区分的对象。实体集合:将具有相似特性的实体集合进行类型抽象的划分。即一个实例集合描述了具有相同属性的一组实体;实体集合内的实例具有相同的联系类型。,属性和属性集,属性描述一个实体每个成员共有的属性。属性描述:属性名、类型、值域。关键字属性:
3、是属性集合的子集。 其作用:唯一标识一个实例对象。,联系与联系类型,联系:一个联系描述了两个实体(集合)间 的关联规则。当一个联系R是一个n元联系时,则被R所联系的实体集合是一个n元的有序集。即:e11 ,e n1 ,e1k,enk有K组联系。 e ij Ei (1 i n;1 j k),联系与联系类型(cont.),R图示为:三元联系(常用的为二元联系),E1,Ei,En,R,部件i,工具i,机器人i,装配,联系的完整性约束,联系的最大基数约束1:1关联:实体E1中实例e1i仅于实体E2中某个实例e1i相关联,反之亦然。1:N关联:实体E2中的实例仅于E1中的一个实例相关联。N:1关联:实体
4、E1中实例仅于实体E2中一个实例e1i相关联。N:M关联:两实体集合间,实例相关联的数量不加限制。联系的最小基数约束0:允许对实体E上建立联系R的实例为空集。1:实体E上建立联系R的实例至少有一个。,示例,EMPLOYEE,STUDENT,DORMITORY,AUTO,CLUB,STUDENT,1:1,N:M,1:N,分配,参加,占用,最大约束: has-a 联系,0,1,弱实体,(1) 弱实体该实体的存在依赖于其他实体。图示法中用圆角矩形和圆角菱形表示,(2)ID依赖实体:其存在依赖于其他实体。 识别方法:包含所依赖的实体的关键字。,0,1,Price,Divisions,FirstName
5、,LoadCapacity,ReachRadius,Profit,Location,LastName,isUsed,Assembles,Manufactures,Designs,Controls,WorksFor,Tools,Priducts,Robots,Engineers,Description,Precision,Description,Quantity,super,sub,N,M,N,M,N,N,1,M,递归联系,单个实体的实例之间建立的联系。例1:联系 composition,它作用在一个实体 上。每个实例可以在不同层次上,以不同角色参与联系,组成,产品,产品,组成,N,子部件Sub
6、,部件Super,M,例2:每个实例可以在不同层次上,以不同角色参与联系,STUDENT,1:N,BethBillGaryMaryRobSarah,ROOMS-WITH,1,0,聚合抽象,高等级的聚合实体由低层次的实体聚合而成。这个抽象过程称为聚合抽象。低等级实体间的联系可以构造为高等级聚合实体。该聚合实体可以有(或没有)自己的属性集。高等级聚合实体与低层次实体间的联系可以表达不同的语义。,聚合抽象举例,原始的装配联系,装配,工具,产品,工程师,机器人,聚合抽象举例,装配联系可以聚合抽象为装配实体。加载属性:费用、时间装配实体包含:管理装配的工程师; 承担搬运的机器人; 装配使用的工具集; 被
7、装配的产品。,聚合抽象举例,isUsed,Subervises,isAssembled,CarriesOut,Tools,Products,Assembly,Engineers,Robots,Cost,Time,最重要的聚合抽象Part-of,复合超类是由多个子类(可能属于不同实体)组成。原始的递归联系将其按聚合抽象可以展开为Part-of等级树。,产品,组成,sub,super,Part-of等级树,聚合抽象举例,Spoke轮辐,Rim轮圈,Handlbar车把,Pipe管子,Wheel车轮,Frame支架,Bicycle自行车,Part-of,Part-of,Part-of,Part-of
8、,Part-of,Part-of,泛化和特化抽象,泛化归纳:抽取不同实体间共性特征构造上层实体,略去个体的特殊细节。当有n个实体Eiind均为互不相交的, 即当Eiind Ejind=1 i,j n;且i j 则Properties(Egeneric):= Properties(Eind) Eind Eiind,1 i n实体Egeneric抽取了所有单个实体属性的交集属性。,Generalization and Specification,泛化抽象的层次结构,泛化抽象可以逐层进行。高等级的泛化实体与低层的特化实体间的联系,具有is-a语义。is-a联系构成互不相交的层次结构。,泛化抽象举例1
9、,is-a,小汽车,摩托车,三轮车,自行车,机动车辆,非机动车辆,车辆,is-a,is-a,is-a,is-a,is-a,is-a,滑板车,泛化抽象举例2,is-a,原始几何体GeoPrimitive,is-a,多面体,圆柱体,角锥,立方体,Mat材料,Price价格,半径,长,#Corners顶点数,is-a,is-a,长,宽,高,聚合和泛化的组合,Spoke轮辐,Rim轮圈,Handlbar车把,Pipe管子,Wheel车轮,Frame支架,Bicycle自行车,小汽车,摩托车,机动车辆,非机动车辆,Vehicle,is-a,滑板车,is-a,is-a,is-a,is-a,is-a,Part-of,Part-of,Part-of,Part-of,Part-of,Part-of,