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模型的目的是把业务逻辑梳理清楚,设计出优秀的数据库。建议在建模过程中充分利用这一过程来整理思路,使建模工作更有意义。
热门推荐
预算20万左右买家用SUV,大众探岳对比本田CR-V,谁更值得选择?
“买卖不破租赁”也有例外?
大象寿命能活多少年?
无锡城市焕新计划,老街区的新活力
直线电机功率计算方法及影响因素解析
耳机拆封了能退吗?
《午夜守门人》:禁忌之恋与历史的沉重阴影
如何进入网卡的BIOS设置界面?
詹姆斯、奥尼尔、乔丹——NBA历史上身体天赋最强者大比拼
从深圳出发前往重庆的多种便捷交通方式全解析
安徽亳州:一个中药材市场带动10万人就业
全糖、半糖、少糖,鸡尾酒能够像奶茶一样选择甜度吗?
多重PCR技术革新:快速鉴定大肠杆菌的三基因方案
老舍的民俗书写对后代文学创作有什么影响?
描绘秋天的日本俳句?
奥利司他胶囊作用如何
高中数学排列组合公式汇总
Web设计超级链接应该如何设计
标签体系优化,助力统一平台权益感知
10万预算应该买啥车?国产皆是黑马,合资车只推荐这几款
英语语法中的“万能助手”:解析动词的另一种形式
用眼过度导致视力模糊怎么办?四种解决方案全解析
经济分析!一文详解2025年中东和北非(含沙特)经济趋势!
脸部过敏急救!4招让你快速舒缓不适
三亚VS西双版纳:冬季旅居该选谁?
晨跑距离多少最合适?专家建议:5-10公里最佳
吃活血化瘀的药还可以吃布洛芬吗
提升网站流量的SEO关键词选择技巧
碗内乾坤串起产业链:兰州牛肉拉面产业扎实推进高质量发展
正月二十为什么吃煎饼:地方特色的美食