2023年7月27日发(作者:)
数据库设计-逻辑设计数据库设计-逻辑设计概念结构设计:定义:将需求分析得到的⽤户需求抽象成信息结构,即概念模型。概念模型:通常的描述⼯具是E-R模型图。数据库概念模型的设计⽅法:
概念设计的步骤:1. 进⾏数据抽象,设计局部概念模式分解法:将⼀个⼤的需求分解成⼀个个的⼩的需求,具体到单个⽤户的基本需求,为每个⽤户或⽤户组建⽴⼀个对应的局部E-R模型常⽤抽象⽅法:聚集:将若⼲对象和它们之间的联系组合成⼀个新的对象。例如:学⽣属性信息(学号,姓名,性别)聚集成⼀个学⽣实体。概括:将⼀组具有某些共同特征的对象合并成更⾼层⾯的对象。例如:对不同学⽣(本科⽣,研究⽣)统⼀概括出共同特征,并抽象成学⽣实体。2. 将局部概念模式综合成全局概念模式将各个局部概念模式合并成⼀个全局概念模式。解决冗余问题解决对象定义不⼀致问题:同名异意,异名同意。概念设计中涉及到的专有名词:关系:⼀个关系对应⼀张表。元组:⼀个元组对应表中的⼀⾏记录。属性:⼀个属性对应表中的⼀列记录。主属性:候选码中出现的属性。⾮主属性:没有在任何候选码中出现。候选码:可以唯⼀标识元组的属性组。主码:候选码之中的⼀个。域:属性的取值范围。分量:元组中的⼀个属性值。ER图图例说明:矩形:表⽰实体集。菱形:联系集。椭圆:实体的属性。线段:实体与属性之间的联系。局部概念结构设计:1. 选择局部应⽤:根据系统具体情况,在多层的数据流图中选择⼀个适当层次的数据流图,从该数据流图出发,设计局部E-R模型。2. 逐⼀设计局部E-R模型:参照数据字典和数据流图,确定每个局部应⽤应该包含那些实体,实体有包含那些属性,以及实体之间的联系和类型。1. 实体的定义:现实世界中事物。例如:学⽣2. 属性的定义:描述实体的性质。例如:学号,姓名,性别联系的定义:实体之间的关系:⼀对⼀;⼀对多;多对多。例如:⼀个学⽣对应⼀个班级,⼀个班级对应多个学⽣,多个⽼师对应多个班级。全局概念结构设计:1. 合并局部E-R模型,⽣成初步的全局E-R图。合并原则:1. 进⾏两两合并。2. 先合并那些与现实世界有联系的局部结构。3. 合并从公共实体类型开始,最后在加⼊独⽴的局部结构。2.E-R图中冲突:1. 属性冲突:1. 属性值域冲突:属性值的类型,取值范围,取值集合不同。例如:学⽣学号,有的为数值型,有的为字符型。2. 属性的取值单位冲突。例如:学⽣⾝⾼,有的以m为单位,有的以cm为单位。2. 命名冲突:1. 同名异义:同⼀个名字的对象在不同的实体⾥具有不同的含义。例如:学校A中以学⽣为单位,学校B中以班级为单位,2. 异名同义:同⼀个含义的对象在不同的是实体中具有不同的名称。例如:有的学⽣把计算机教室称为机房,有的学⽣把计算机教室称为实验室。3. 结构冲突:1. 同⼀对象在不同应⽤中有不同的抽象,可能为实体,也可能为属性。例如:学⽣可以为实体,也可以是班级实体的⼀个属性。2. 同⼀对象在不同应⽤中属性组成不同。例如:学⽣在班级中的所拥有的属性,和学⽣在档案中的所拥有的属性个数不⼀样。3. 同⼀联系在不同应⽤中有不同的类型。在学校,学⽣和⽼师是多对⼀的关系;在家教中,学⽣和⽼师是⼀对⼀的关系。逻辑结构设计阶段:概念结构设计阶段得到的E-R模型是独⽴与任何⼀种数据模型的信息结构,是⼀个与具体DBMS⽆关的设计概念。任务:将概念结构设计的E-R模型转换成与选⽤具体机器上的DBMS所⽀持的数据模型相符合的逻辑结构。步骤:1. 将概念结构转换成为⼀般的关系模型。2. 将转换来的关系模型想特定的DBMS⽀持下的数据模型转换。3. 依据应⽤的需求和具体的DBMS的特点进⾏调整和完善。E-R图向关系模型的转换:1. 实体类型的转换。每个实体类型->关系模式,实体的属性集为关系的属性,实体的标识符便是关系的码。2. 联系类型的转换。1. 1:1联系:在任意⼀个关系的属性中加⼊另⼀个关系的码和联系类型的属性,通常两个实体可以直接合并成⼀个实体。2. 1:N联系:在N端关系的属性中加⼊1端关系的码和联系类型的属性。3. M:N联系:两端关系的码加上联系类型的属性,码为两端码的组合。⽹上商城数据库ER图:
以上仅为本⼈学习过程中的知识总结,若有错误,还请诸位不吝赐教。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1690433303a349163.html
评论列表(0条)