ER模型(实体联系模型)的基本元素

实体:是一个数据对象,在ER模型中,实体用方框表示,方框内注明实体的名称

联系:表示一个或多个实体之间的关联关系,联系用菱形框表示,并用线段将其与相关的实体联系起来

属性:实体的某一特性称为属性,属性用椭圆形框表示,加下划线的的属性为标识符,在一个实体中,能唯一标识实体的属性或属性集称为“实体标识符”

属性的分类

简单属性:不可再分割的属性,如性别、年龄等

复合属性:可再分解为其他是属性的属性,如省市名称

单值属性:同一实体的属性只能取一个值,如同一学生的年龄为单值属性

多值属性:同一实体的某些属性可能取多个值,如一个人的学位就是多值属性,多值属性用双线椭圆形表示

存储属性:派生属性的值不必存储在数据库中,而其他需要存储值的属性称为存储属性

派生属性:可以从其他属性值推导出来的属性,派生属性的值不必存储在数据库内,派生属性用虚线椭圆形与实体相连

允许为空值的属性:当实体在某个属性上没有值时应使用空值

联系的设计

联系的元数:一个联系涉及到的实体集个数,称为该联系的元数或度数

联系类型的约束:

  1、基数约束:实体集E1和E2之间有二元联系,则参与一个联系中实体数目称为映射基数,对于一个二元联系类型,可能的映射基数有1:1、1:N、M:N、M:1四种,在具体实现时,有时我们队映射基数还要做出更精确的描述,即对参与联系的实体数目指明相关的最小映射基数min和最大映射基数max,用范围“min,max”的方式表达

  2、完全参与:如果实体集E中每一个实体都参与联系集R的至少一个联系中,我们称实体集E“完全参与实体集R”,完全参与用双线边表示

  3、部分参与:如果实体集E中只有部分参与联系集R的联系中,我们称实体集E部分参与实体集R,部分参与哟弄单线边表达

ER模型的操作

对ER模型的操作包括实体类型、联系类型和属性的分裂、合并、增删等等

水平分裂:如把教师分为男教师和女教师

垂直分裂:把固定不变的属性组成另一个实体类型,在垂直分裂中,键必须在分裂后的诸实体类型中出现

合并:是分裂的逆过程,必须注意,合并的联系类型必须是定义在相同的实体类型组合中

采用ER模型的数据库概念设计步骤

分为三步:首先设计局部ER模型,然后把各局部ER模型综合成一个全局ER模型,最后对全局ER模型进行优化,得到最终的ER模型,即概念模型

设计局部ER模型

  1、确定局部ER模型

  2、定义实体

  3、定义联系(通常采用某个动词命名)

  4、分配属性(属性应该是不可再分解的语义单位)

设计全局ER模型(视图集成)

  1、确定公共实体类型(我们仅根据实体类型名和键来认定公共实体类型)

  2、合并局部ER模型(首先进行两两合并,先合并那些现实世界中有联系的局部结构,合并从公共类型开始,最后再加入独立的局部结构)

  3、消除冲突(属性冲突、结构冲突和命名冲突)

全局ER模型的优化

  1、合并实体类型

  2、消除冗余属性

  3、消除冗余联系

数据库设计和ER模型-------之ER模型的基本概念(第二章)的更多相关文章

  1. 数据库系统(四)---关系型数据库设计及E-R图

    1.关系型数据库: 关系型数据库是一类采用关系模型作为逻辑数据模型的数据库系统,遵从数据库设计的基本步骤,包括:需求分析.概念结构设计.逻辑结构设计.物理结构设计.数据库实施.数据库的运行和维护等阶段 ...

  2. SQL SERVER学习2——数据库设计

    数据库设计是数据库知识中比较重要的部分,我们需要了解数据库设计的基本步骤,E-R图的画法. 数据库设计的基本概述 检验一个数据库设计好坏的标准就是,看他是否能够方便的执行各种数据检索和处理操作,并且有 ...

  3. day39 python 学习 数据库学习 五个约束,数据库设计(一对一,一对多等等)

    删除重复数据:  注意数据库不能又查又删 *******#删除作者为重复数据并保留ID最大的是数据 delete from ren where author in (select * from(sel ...

  4. 数据库设计与 ER 模型 - 数据库系统原理

    数据库系统生存周期 数据库应用系统的开发是一项软件工程,一般具有信息的采集.组织.加工.抽取.综合.传播等功能,但又有自己的特点,所以称为 数据库工程. 数据库应用系统从开始规划.设计.实现.维护到最 ...

  5. 基于E-R模型的关系型数据库设计方法

    摘要 在管理信息系统开发中,数据库设计的目标是建立DBMS能识别的关系数据模型.而关系数据模型建立的基础是首先建立E-R模型,通过E-R模型才能转换为关系数据模型.如何建立E-R模型以及如何将E-R模 ...

  6. MySQL数据分析-(5)数据库设计之ER模型

    大家好,我是jacky,很高兴跟大家分享本课时的内容,从本节课开始,就开始了我们第二章的学习,第一章我们抛出了若干问题,从第二章开始往后,都是解决问题的一个过程: 第一章的案例中,我们拿手机销售公司举 ...

  7. 数据库设计和ER模型-------之关系模型的基本概念(第二章)

    关系模型的基本术语 定义:用二维表格来表示实体集,用关键码表示实体之间联系的数据模型称为关系模型 有时也习惯称呼关系为表或表格,元组为行(Row),属性为列.关系中属性个数称为“元数”,元组个数称为“ ...

  8. 数据库设计和ER模型-------之数据库系统生存期(第二章)

    数据库设计 概念:开发人员利用开发环境表达用户要求.设计构造最优的数据模型,然后据此建立数据库以及其应用系统,这个过程称为数据库设计 数据库生存期 1968年首次提出“软件工程”的概念 概念:我们把数 ...

  9. 数据库原理 第七章 数据库设计和ER模型

    第七章讲述一个E-R设计如何转换成一个关系模式的集合以及如何在该设计中找到某些约束. 1.概念设计定义了数据库中表示的实体.实体的属性.实体之间的联系,以及实体和联系上的约束 在设计一个数据库模型的时 ...

  10. 2017(2)数据库设计,数据库设计过程,ER模型,规范化理论

    试题二(共 25 分〉 阅读以下关于系统数据分析与建模的叙述,在答题纸上回答问题1 至问题 3. [说明] 某软件公司受快递公司委托,拟开发一套快递业务综合管理系统,实现快递单和物流信息的综合管理.项 ...

随机推荐

  1. Zookeeper watcher机制

    一.watcher机制 1.针对每个节点的操作,都会有一个监督者-> watcher 2.当监控的某个对象(znode)发生了变化,则触发watcher事件 3.zk中的watcher是一次性的 ...

  2. Hive Shell 命令详解

    Hive服务介绍 Hive默认提供的cli(shell)服务,如果需要启动其他服务,那么需要service参数来启动其他服务,比如thrift服务.metastore服务等.可以通过命令hive -- ...

  3. hadoop商业版本的选择介绍

    记得刚接触到hadoop的时候跟大部分人一样都会抱怨hadoop的安装部署问题,对于一个新手来说这这的是个头疼的问题,可能需要花费一整天的时间才能把分布式环境安装配置好.在刚接触hadoop的一段时间 ...

  4. spring boot 整合dubbo

    dubbo与springboot的集成和使用dubbo-spring-boot-starter SpringBoot整合Dubbo2.5.10(官方的spring-boot-starter0.1.0) ...

  5. sqlalchemy操作----多表关联

    有二张表,一张作者表,一张书表,一个作者写多本书,一本书可以由多个作者写,与是通过新加一张关系表把他们联系起来 #!/usr/bin/env python # -*- coding: utf-8 -* ...

  6. 申请免费通配符证书(Let's Encrypt)并绑定IIS

    申请免费通配符证书(Let's Encrypt)并绑定IIS 2018-05-25 18:01 by Giant Liu, 800 阅读, 4 评论, 收藏, 编辑 什么是 Let’s Encrypt ...

  7. phoenix psqlline输入命令无法删除问题解决技巧

    一.引言: phoenix psqlline使用过程中,使用CRT客户端,命令输入后无法删除,想起曾经处理HBaseShell输入后无法删除的解决办法,尝试了一下,居然有效,还是分享给大家把. 二.操 ...

  8. Hadoop 管理工具HUE配置

    机器环境 Ubuntu 14.10 64位 || OpenJDK-7 || Scala-2.10.4 机群概况 Hadoop-2.6.0 || HBase-1.0.0 || Spark-1.2.0 | ...

  9. js面向对象1

    1.在空白的Object上加属性和方法: <script type="text/javascript"> function createPerson(name, qq) ...

  10. vue过渡

    vue在插入.更新或者移除DOM时,提供了多种不同方式的应用过渡效果,下面主要总结一些常用的过渡. 单元素过渡(vue1.0) 我们常用的动画是css3的动画,在vue中依旧有效. <!DOCT ...