数据库设计----概念结构设计(概念模型、E—R模型、概念结构设计)

概念模型

将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计。

特点:

  1. 能真实、充分地反映现实世界,是现实世界的一个真实模型。
  2. 易于理解,从而可以用它和不熟悉计算机的用户交换意见。
  3. 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。
  4. 易于向关系、网状、层次等各种数据模型转换

E-R模型

E-R图提供了表示实体型、属性和联系的方法

实体型:用矩形表示,矩形框内写明实体名。

属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来。

联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1∶1,1∶n或m∶n)。(联系可以具有属性)。

                                           

两实体型之间的联系可以分为:

  • ①一对一联系(1∶1)

如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1∶1。

  • ②一对多联系(1∶n)

如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1∶n。

  • ③多对多联系(m∶n)

如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系,记为m∶n。

    两个实体的联系示意图:

            

三个实体联系示意图:

                    

单个实体型内的联系示意图:

                                             

联系的度:参与联系的实体型的数目

  • 2个实体型之间的联系度为2,也称为二元联系;
  • 3个实体型之间的联系度为3,称为三元联系;
  • N个实体型之间的联系度为N,也称为N元联系

 

eg:某个工厂物资管理的概念模型。物资管理涉及的实体及属性有:

  • 仓库属性有:仓库号、面积、电话号码
  • 零件属性有:零件号、名称、规格、单价、描述
  • 供应商属性有:供应商号、姓名、地址、电话号码、账号
  • 项目属性有:项目号、预算、开工日期
  • 职工属性有:职工号、姓名、年龄、职称

实体之间的联系有:

  1.  一个仓库可以存放多种零件,一种零件可以存放在多个仓库中,因此仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。
  2. 一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,因此仓库和职工之间是一对多的联系。
  3. 职工之间具有领导与被领导关系。即仓库主任领导若干保管员,因此职工实体型中具有一对多的联系。
  4. 供应商、项目和零件三者之间具有多对多的联系。即一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同供应商供给。

 

                         

 

         

 

概念结构设计

为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待。

原则:

  1. 作为属性,不能再具有需要描述的性质。属性必须是不可分的数据项,不能包含其他属性。  
  2. 属性不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系。

例子:在医院中,一个病人只能住在一个病房,病房号可以作为病人实体的一个属性;    

如果病房还要与医生实体发生联系,即一个医生负责几个病房的病人的医疗工作,则根据准则(2) 病房应作为一个实体。

        

分E-R图的集成

分E-R图的集成一般需要分两步  

  1. 合并。解决各分E-R图之间的冲突,将分E-R图合并起来生成初步E-R图。  
  2. 修改和重构。消除不必要的冗余,生成基本E-R图。

                            

消除冲突

E-R图之间的冲突主要有三类:

  • 属性冲突

属性域冲突,即属性值的类型、取值范围或取值集合不同。

  • 命名冲突
  1. 同名异义,即不同意义的对象在不同的局部应用中具有相同的名字。
  2. 异名同义(一义多名),即同一意义的对象在不同的局部应用中具有不同的名字。
  • 结构冲突
  1. 同一对象在不同应用中具有不同的抽象。
  2. 同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同。
  3. 实体间的联系在不同的E-R图中为不同的类型。

消除不必要的冗余

  • 所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。
  • 消除冗余主要采用分析方法,即以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。
  • 并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息作为代价。

 

  • 17
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
第六章 数据库设计 1 6.3 概念结构设计 将需求分析得到的用户需求抽象为信息结构即概念模型 的过程就是概念结构设计概念结构是对现实世界的一种抽象,即对实际的人、 物、事和概念进行人为处理,抽取人们关心的共同特性,忽 略非本质的细节,并把这些特性用各种概念精确地加以描 述。 概念结构独立于数据库逻辑结构,也独立于支持数据库 的DBMS。它是现实世界与机器世界的中介,它一方面能够充 分反映现实世界,包括实体和实体之间的联系,同时又易于 向关系、网状、层次等各种数据模型转换。它是现实世界的 一个真实模型,易于理解,便于和不熟悉计算机的用户交换 意见,使用户易于参与,当现实世界需求改变时,概念结构 又可以很容易地作相应调整。因此概念结构设计是整个数据 库设计的关键所在。 第六章 数据库设计 2 1.概念结构设计的方法和步骤 设计概念结构通常有四类方法: ·自顶向下 即首先定义全局概念结构的框架,然后逐步细化。 ·自底向上 即首先定义各局部应用的概念结构,然后将它们集成起 来,得到全局概念结构。这是最经常采用的策略是自底向上 方法。即自顶向下地进行需求分析,然后再自底向上地设计 概念结构。 ·逐步扩张 首先定义最重要的核心概念结构,然后向外扩充,以滚 雪球的方式逐步生成其他概念结构,直至总体概念结构。 第六章 数据库设计 3 ·混合策略 即将自顶向下和自底向上相结合,用自顶向下策略设计 一个全局概念结构的框架,以它为骨架集成由自底向上策略 中设计的各局部概念结构。 但无论采用哪种设计方法,一般都以E-R模型为工具来描 述概念结构。 2.数据抽象与局部视图设计 以自底向上设计概念结构的方法为例,它通常分为两 步: 第一步,首先要根据需求分析的结果(数据流图、数据字典 等)对现实世界的数据进行抽象,设计各个局部视图即分E-R 图。 第六章 数据库设计 4 设计分E-R图的步骤是: (1)选择局部应用 在需求分析阶段,通过对应用环境和要求进行详尽的调 查分析,用多层数据流图和数据字典描述了整个系统。设计 分E-R图的第一步,就是要根据系统的具体情况,在多层的数 据流图中选择一个适当层次的数据流图,让这组图中每一部 分对应一个局部应用,我们即可以这一层次的数据流图为出 发点,设计分E-R图。 一般而言,中层的数据流图能较好地反映系统中各局部 应用的子系统组成,因此人们往往以中层数据流图作为设计 分E-R图的依据。 第六章 数据库设计 5 (2)逐一设计分E-R图 从每个局部应用都对应了一组数据流图及相关的数据字 典,抽象出局部应用涉及的数据。参照数据流图,标定局部 应用中的实体、实体的属性、标识实体的码,确定实体之间 的联系及其类型(1:1、1:n、m:n)。 现实世界中一组具有某些共同特性和行为的对象就可以 抽象为一个实体。对象和实体之间是"is member of"的关 系。例如在学校环境中,可以把张三、李四等对象抽象为学 生实体。 对象类型的组成成分可以抽象为实体的属性。组成成分 与对象类型之间是"is part of"的关系。例如学号、姓名、 专业、年级等可以抽象为学生实体的属性。其中学号为标识 学生实体的码。 第六章 数据库设计 6 实体与属性是相对而言的,很难有截然划分的界限。同 一事物,在一种应用环境中作为"属性",在另一种应用环境 中就必须作为"实体"。一般说来,在给定的应用环境中: 属性必须是不可分的数据项。 属性不能与其他实体具有联系。联系只发生在实体之间。 例:学籍管理局部应用中主要涉及的实体包括学生、宿 舍、档案材料、班级、班主任。这些实体之间的联系有: .一个宿舍可以住多个学生,一个学生只能住在一个宿舍 中,因此宿舍与学生之间是1:n的联系。 .一个班有若干名学生,一个学生只能属于一个班级,因 此班级与学生之间也是1:n的联系。 第六章 数据库设计 7 .班主任与学生之间是1:n的联系。 .学生和他自己的档案材料之间。 .班级与班主任之间都是1:1的联系。 第六章 数据库设计 8 上述E-R图中省略了各个实体的属性描述。这些实体的属 性分别为: 学 生:{学号,姓名,出生日期,} 档案材料:{档案号,……} 班 级:{班级号,学生人数} 班 主 任:{职工号,姓名,性别,是否为优秀班主 任} 宿 舍:{宿舍编号,地址,人数} 教 室:{教室编号,地址,容量} 其中有下划线的属性为实体的码。 第六章 数据库设计 9 同样方法,我们可以得到课程管理局部应用的分E-R图。 第六章 数据库设计 10 各实体的属性分别为: 学生:{姓名,学号,性别,年龄,所在系,年级,平均成 绩} 课程:{课程号,课程名,学分} 教师:{职工号,姓名,性别,职称} 教科书:{书号,书名,价钱} 教室:{教室编号,地址,容量} 第六章 数
数据库设计中的概念结构设计是将需求分析得到的用户需求抽象为信息结构即概念模型的过程。概念结构是对现实世界的一种抽象,即对实际的人、物、事和概念进行人为处理,抽取人们关心的信息,形成一个概念模型概念结构设计的第一步是对需求分析阶段收集到的数据进行分类、组织,确定实体、实体的属性、实体之间的联系类型,形成E-R图。实体与属性的划分原则包括:实体必须是客观存在的事物或概念,实体必须具有唯一性,实体必须具有属性,属性必须具有原子性,属性必须与实体有关,属性必须具有描述性,属性必须具有值的域。 下面是一个简单的例子,展示如何进行概念结构设计: 假设我们要设计一个学生信息管理系统,首先需要确定实体,包括学生、课程、教师等。然后需要确定实体的属性,例如学生实体的属性包括学号、姓名、性别、年龄等。接下来需要确定实体之间的联系类型,例如学生和课程之间的联系是选课关系,学生和教师之间的联系是授课关系。最后,根据实体、属性和联系类型,可以形成E-R图,如下所示: ```mermaid erDiagram STUDENT { 学号 姓名 性别 年龄 } COURSE { 课程号 课程名 学分 } TEACHER { 工号 姓名 职称 } SELECT { 学号 课程号 成绩 } TEACH { 工号 课程号 } STUDENT -- SELECT COURSE -- SELECT TEACHER -- TEACH COURSE -- TEACH ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

What’smean

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值