数据库设计和ER模型-------之ER模型的基本概念(第二章)
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模型的基本概念(第二章)的更多相关文章
- 数据库系统(四)---关系型数据库设计及E-R图
1.关系型数据库: 关系型数据库是一类采用关系模型作为逻辑数据模型的数据库系统,遵从数据库设计的基本步骤,包括:需求分析.概念结构设计.逻辑结构设计.物理结构设计.数据库实施.数据库的运行和维护等阶段 ...
- SQL SERVER学习2——数据库设计
数据库设计是数据库知识中比较重要的部分,我们需要了解数据库设计的基本步骤,E-R图的画法. 数据库设计的基本概述 检验一个数据库设计好坏的标准就是,看他是否能够方便的执行各种数据检索和处理操作,并且有 ...
- day39 python 学习 数据库学习 五个约束,数据库设计(一对一,一对多等等)
删除重复数据: 注意数据库不能又查又删 *******#删除作者为重复数据并保留ID最大的是数据 delete from ren where author in (select * from(sel ...
- 数据库设计与 ER 模型 - 数据库系统原理
数据库系统生存周期 数据库应用系统的开发是一项软件工程,一般具有信息的采集.组织.加工.抽取.综合.传播等功能,但又有自己的特点,所以称为 数据库工程. 数据库应用系统从开始规划.设计.实现.维护到最 ...
- 基于E-R模型的关系型数据库设计方法
摘要 在管理信息系统开发中,数据库设计的目标是建立DBMS能识别的关系数据模型.而关系数据模型建立的基础是首先建立E-R模型,通过E-R模型才能转换为关系数据模型.如何建立E-R模型以及如何将E-R模 ...
- MySQL数据分析-(5)数据库设计之ER模型
大家好,我是jacky,很高兴跟大家分享本课时的内容,从本节课开始,就开始了我们第二章的学习,第一章我们抛出了若干问题,从第二章开始往后,都是解决问题的一个过程: 第一章的案例中,我们拿手机销售公司举 ...
- 数据库设计和ER模型-------之关系模型的基本概念(第二章)
关系模型的基本术语 定义:用二维表格来表示实体集,用关键码表示实体之间联系的数据模型称为关系模型 有时也习惯称呼关系为表或表格,元组为行(Row),属性为列.关系中属性个数称为“元数”,元组个数称为“ ...
- 数据库设计和ER模型-------之数据库系统生存期(第二章)
数据库设计 概念:开发人员利用开发环境表达用户要求.设计构造最优的数据模型,然后据此建立数据库以及其应用系统,这个过程称为数据库设计 数据库生存期 1968年首次提出“软件工程”的概念 概念:我们把数 ...
- 数据库原理 第七章 数据库设计和ER模型
第七章讲述一个E-R设计如何转换成一个关系模式的集合以及如何在该设计中找到某些约束. 1.概念设计定义了数据库中表示的实体.实体的属性.实体之间的联系,以及实体和联系上的约束 在设计一个数据库模型的时 ...
- 2017(2)数据库设计,数据库设计过程,ER模型,规范化理论
试题二(共 25 分〉 阅读以下关于系统数据分析与建模的叙述,在答题纸上回答问题1 至问题 3. [说明] 某软件公司受快递公司委托,拟开发一套快递业务综合管理系统,实现快递单和物流信息的综合管理.项 ...
随机推荐
- redis sentinel哨兵的使用
哨兵模式是Redis集群管理的一种方式. 下面以Go语言为例介绍其使用方式. 使用举例 package main import ( "fmt" "strings" ...
- Spring Cloud(Dalston.SR5)--Ribbon 中间层负载均衡
Spring Cloud 集成了 Ribbon 并结合 Eureka 可以实现客户端的负载均衡,使用 @LoadBalanced 修饰的 RestTemplate 类拥有了负载均衡功能,在 Sprin ...
- curl发送post请求,统计响应时间
curl -o /dev/null -s -w %{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_total}:: ...
- 跟着未名学 - 免费录屏工具ActivePresenter
目录 简介... 1 录制屏幕... 1 编辑... 3 幻灯片... 3 时间轴... 4 对像... 4 导出视频... 4 未名 2017-7-17 简介 ActivePresenter 个人免 ...
- elasticsearch 口水篇(4)java客户端 - 原生esClient
上一篇(elasticsearch 口水篇(3)java客户端 - Jest)Jest是第三方客户端,基于REST Api进行调用(httpClient),本篇简单介绍下elasticsearch原生 ...
- Netty简单的HTTP服务器
本文转载自:https://www.cnblogs.com/luangeng/p/7875710.html HTTP协议:略 基于Netty的HTTP协议栈可以方便的进行异步非阻塞的HTTP服务器的开 ...
- 一篇对OAuth2.0开发实例的介绍
今天看到了博友对SSO的文章,SSO单点登录的讲解突然想写一篇关于OAuth2.0用户授权的介绍. 应用场景:在APP或者网页接入一些第三方应用时,时长会需要用户登录另一个合作平台,比如QQ,微博,微 ...
- 学习笔记之C / C++
面试总结之C/C++ - 浩然119 - 博客园 https://www.cnblogs.com/pegasus923/p/5558919.html 学习笔记之C++ How to Program(p ...
- 廖雪峰Java5Java集合-5Queue-1使用Queue
Queue特性和基本方法 Queue实现一个先进先出(FIFO, First In First Out)的队列.如收银台排队支付. Java中LinkedList实现了Queue接口,可以直接把Lin ...
- 廖雪峰Java1-4数组操作-5命令行参数
adb和ideviceinstaller提供了许多参数供我们使用.命令行参数提供了这样的入口,针对不同的参数执行不同的命令. 1.命令行参数 命令行参数是一个String[] 数组,由JVM接收用户输 ...