首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
数据库
›
图数据库
›
【数据库】ER图(实体-关系图)介绍
返回列表
发新帖
【数据库】ER图(实体-关系图)介绍
[复制链接]
发表于
5 天前
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
一、ER图的基本概念
1.
界说与起源
界说
:ER图(Entity-Relationship Diagram)是一种用于
数据库
设计的结构化图形工具,通过
实体
、
属性
和
关系
描述实际天下的数据模型。
起源
:1976年由美籍华人计算机科学家
Peter Chen
提出,后成为
数据库
设计的标准方法。
2.
核心目标
抽象实际
:将复杂的业务需求转化为可视化的数据模型。
沟通工具
:便于开发者、设计师和业务职员明白数据逻辑。
数据库
蓝图
:引导后续的数据库表结构设计和SQL实现。
二、ER图的组成要素
1.
实体(Entity)
界说
:实际天下中可独立存在的对象(如“门生”“订单”“产品”)。
类型
:
强实体
:不依赖其他实体存在(如“用户”)。
弱实体
:必须依赖强实体才能存在(如“订单项”依赖“订单”)。
关联实体
:为解决多对多关系而引入的中间实体(如“选课表”)。
2.
属性(Attribute)
界说
:描述实体的特性或性子。
分类
:
简单属性
:不可再分的最小单位(如“学号”)。
复合属性
:可拆分为多个子属性(如“地址”→省、市、街道)。
派生属性
:由其他属性计算得出(如“年事”由“出生日期”计算)。
多值属性
:一个属性有多个值(如“联系电话”可能多个号码)。
键属性
:唯一标识实体的属性(主键、外键)。
3.
关系(Relationship)
界说
:实体间的交互或关联。
类型
:
一对一(1:1)
:如“员工”与“社保账户”。
一对多(1:N)
:如“部门”与“员工”。
多对多(M:N)
:如“门生”与“课程”(需通过关联表实现)。
关系的属性
:关系自己可附加属性(如“选修”关系中的“成绩”)。
三、ER图的符号体系
1.
基本符号
实体
:矩形框(强实体)、双线矩形框(弱实体)。
关系
:菱形框,标注关系名称。
属性
:椭圆形,通过直线毗连实体或关系。
主键
:属性名下方加下划线。
外键
:属性名旁标注FK,或通过箭头指向被引用实体。
2.
基数束缚(Cardinality)
体现实体到场关系的数量限定:
1
: 必须且仅有一个实例。
N
: 多个实例(无上限)。
0…1
: 可选(0或1个实例)。
1…N
: 至少一个实例。
体现方法
:
Chen体现法
:标注在关系连线上(如“1:N”)。
乌鸦脚体现法(Crow’s Foot)
:用符号体现基数(如“|”体现1,“⚡”体现多)。
3.
弱实体的体现
弱实体用双线矩形框体现,并通过
依存关系
(双线菱形)毗连到强实体。
四、ER图的设计步调
1.
需求分析
明确业务需求,辨认系统中的核心实体和关键流程。
示例
:电商系统中需包含“用户”“商品”“订单”“付出”等实体。
2.
实体与属性界说
列出所有实体及其属性,确定主键(唯一标识符)。
优化原则
:
避免冗余属性(如“订单总价”可通过计算得出)。
拆分复合属性(如将“地址”拆分为省、市、街道)。
3.
关系建模
分析实体间的交互,确定关系类型(1:1、1:N、M:N)。
多对多关系的处理
:必须引入
关联实体
(如“选课表”包含门生ID、课程ID和成绩)。
4.
基数束缚标注
明确每个实体在关系中的到场度(如一个用户可创建多个订单,但一个订单仅属于一个用户)。
5.
规范化设计
遵照数据库范式(如第三范式,3NF)消除数据冗余:
1NF
:属性不可再分。
2NF
:消除部门依赖。
3NF
:消除传递依赖。
6.
验证与优化
检查是否覆盖所有业务场景。
合并重复实体或关系,简化模型。
五、ER图的扩展与高级概念
1.
加强型ER图(EER图)
在传统ER图基础上增长以下特性:
继承(泛化/特化)
:如“员工”可细化为“经理”和“普通员工”。
聚合(Aggregation)
:将关系自己视为更高条理的实体(如“项目”由“员工”和“任务”组成)。
2.
递归关系(自反关系)
同一实体内部的关系:
如“员工”实体中,某员工是其他员工的“上级”。
3.
脚色标注(Role)
在关系中标注实体的脚色:
如“员工”与“部门”的关系中,“部门”扮演“所属部门”脚色。
六、ER图的实际应用案例
1.
图书馆管理系统
实体
:读者、图书、借阅记载、出书社。
关系
:
读者
借阅
图书(M:N,关联实体“借阅记载”)。
出书社
出书
图书(1:N)。
2.
医院管理系统
实体
:患者、大夫、病历、科室。
关系
:
大夫
诊治
患者(1:N,属性:诊断时间、诊断结果)。
科室
包含
大夫(1:N)。
七、ER图的工具与最佳实践
1.
常用工具
画图工具
:Lucidchart、draw.io、Microsoft Visio。
数据库设计工具
:MySQL Workbench、ER/Studio、PowerDesigner(支持正向/逆向工程)。
2.
设计原则
清晰性
:避免交错连线,公道结构。
模块化
:复杂系统分模块设计(如用户模块、订单模块)。
划一性
:同一符号和命名规则(如驼峰命名法)。
3.
常见错误与规避
过度设计
:避免添加不必要的实体或属性。
忽略范式
:冗余数据可能导致更新异常。
混淆实体与属性
:如“订单”是实体,而“订单状态”是其属性。
八、ER图与其他模型的对比
1.
ER图 vs. UML类图
ER图
:专注于数据结构和关系,用于数据库设计。
UML类图
:描述对象的行为和交互,用于面向对象编程。
2.
ER图 vs. 关系模型
ER图
:概念模型,独立于具体数据库。
关系模型
:逻辑模型,直接对应数据库表结构。
九、总结
ER图是数据库设计的核心工具,通过
实体、属性、关系
三要素抽象实际天下,资助设计者构建高效、无冗余的数据库结构。掌握ER图的绘制与规范化原则,提升数据建模本事,为后续的SQL实现奠基坚实基础。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复
使用道具
举报
返回列表
浏览过的版块
人工智能
何小豆儿在此
+ 我要发帖
×
登录参与点评抽奖,加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表