ER模型详解:从概念到数据库设计实战
创作时间:
作者:
@小白创作中心
ER模型详解:从概念到数据库设计实战
引用
CSDN
1.
https://m.blog.csdn.net/weixin_43783284/article/details/141792690
ER模型(实体关系模型)是数据库设计中的重要工具,用于描述现实世界中的实体、属性及其相互关系。通过ER模型,开发者可以清晰地梳理业务逻辑,设计出合理的数据库结构。本文将详细介绍ER模型的基本概念、要素,并通过一个电商案例展示如何将ER模型应用于实际的数据库设计中。
1. ER模型概述
ER模型(实体关系模型)是用来描述现实生活中客观存在的事物、事物的属性,以及事物之间关系的一种数据模型。在开发基于数据库的信息系统的设计阶段,通常使用ER模型来描述信息需求和信息特性,帮助我们理清业务逻辑,从而设计出优秀的数据库。
2. ER模型的要素
ER模型包含三个核心要素:实体、属性和关系。
- 实体:可以看做是数据对象,往往对应于现实生活中的真实存在的个体。在ER模型中,用矩形来表示。实体分为两类:强实体(不依赖于其他实体)和弱实体(对另一个实体有很强的依赖关系)。
- 属性:是指实体的特性。比如超市的地址、联系电话、员工数等。在ER模型中用椭圆形来表示。
- 关系:是指实体之间的联系。比如超市把商品卖给顾客,就是一种超市与顾客之间的联系。在ER模型中用菱形来表示。
区分实体和属性的原则是:可以独立存在的是实体,不可再分的是属性。
3. 关系的类型
在ER模型中,关系可以分为三种类型:
- 一对一:指实体之间的关系是一一对应的。
- 一对多:指一边的实体通过关系,可以对应多个另外一边的实体。相反,另外一边的实体通过这个关系,则只能对应唯一的一边的实体。
- 多对多:指关系两边的实体都可以通过关系对应多个对方的实体。
4. 建模分析与建表
4.1 概述
ER模型看起来比较复杂,但对把控项目整体非常重要。对于有一定规模的应用,在项目的初始阶段,建立完整的ER模型就非常关键。开发应用项目的实质,其实就是建模。
4.2 实体识别
以尚品汇电商业务为例,简化后的业务包含8个实体:
- 地址实体
- 用户实体
- 购物车实体
- 评论实体
- 商品实体
- 商品分类实体
- 订单实体
- 订单详情实体
其中,用户和商品分类是强实体,其他实体都是弱实体。
4.3 建立ER模型
分析各个实体之间的关系:
- 用户可以在电商平台添加多个地址(一对多)
- 用户只能拥有一个购物车(一对一)
- 用户可以生成多个订单(一对多)
- 用户可以发表多条评论(一对多)
- 一件商品可以有多条评论(一对多)
- 每一个商品分类包含多种商品(一对多)
- 一个订单可以包含多个商品,一个商品可以在多个订单里(多对多)
- 订单中又包含多个订单详情(一对多)
4.4 ER模型细化
为各个实体添加属性:
- 地址实体:用户编号、省、市、地区、收件人、联系电话、是否是默认地址
- 用户实体:用户编号、用户名称、昵称、用户密码、手机号、邮箱、头像、用户级别
- 购物车实体:购物车编号、用户编号、商品编号、商品数量、图片文件url
- 订单实体:订单编号、收货人、收件人电话、总金额、用户编号、付款方式、送货地址、下单时间
- 订单详情实体:订单详情编号、订单编号、商品名称、商品编号、商品数量
- 商品实体:商品编号、价格、商品名称、分类编号、是否销售,规格、颜色
- 评论实体:评论id、评论内容、评论时间、用户编号、商品编号
- 商品分类实体:类别编号、类别名称、父类别编号
4.5 ER模型转换为数据表
转换原则:
- 一个实体通常转换成一个数据表
- 一个多对多的关系,通常也转换成一个数据表
- 一个1对1或1对多的关系,往往通过表的外键来表达
- 属性转换成表的字段
具体转换示例:
- 用户表:
- 商品分类表:可规划为2张表
- 弱实体转为表:
- 多对多关系转换为数据表:
- 通过外键表达1对多关系:
5. 总结
通过ER模型,可以清晰地梳理业务逻辑,设计出合理的数据库结构。创建ER模型的目的是把业务逻辑梳理清楚,设计出优秀的数据库。建议在建模过程中充分利用这一过程来整理思路,使建模工作更有意义。
热门推荐
公安大数据的下一个风口: 数据分析报告应用探析
冬日里5种萝卜的养生吃法,快来get~
广西的那些特色美食,每一样都让人垂涎,没吃过的真可惜
黄缘闭壳龟介绍及饲养方法教程
2025越南税收体系详解:税种、税率与优惠政策
怎么样保护牙龈不萎缩
肉松在食品工业中的应用及其发展趋势分析
收益互换:金融衍生品中的收益与风险转移机制
预训练模型微调的常见策略
高租售比吸引力大
地方国资再出手 茂名市国资委拟入主深水海纳
时速400公里,全球最快高铁列车来了
处理交通事故应当公开哪些信息
有效提升产品品质的质量控制方法解析
王者荣耀S37赛季:嫦娥荣登巅峰赛胜率榜首,详细攻略来了
北京楼市新动向:政策松绑与市场回暖的双重影响
提升星际争霸游戏操作速度-APM-训练的高效实用技巧指南!
洗牙能去掉牙结石吗?洗牙有什么作用?
团队如何做好时间管理
“宴席每桌不超460元”,指导标准为何引热议?
如何了解公寓的实际情况?了解的途径有哪些?
头皮长痘痘怎么解决
收银系统和商城/点餐小程序有哪些不同,作为商户应该如何选择
水果怎么买、怎么放,技巧学起来~
生活中的电磁辐射对人体到底有多大的危害?
如何理解和把握纳斯达克股票市场?这个市场的特点对投资决策有何影响?
让你的宠物小狗变听话的秘诀
《建设工程合同价款与税金处理实务指南》
315真实案例:教你网购纠纷维权
黑冠蜂鸟:中美洲特有珍稀鸟类