问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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模型的目的是把业务逻辑梳理清楚,设计出优秀的数据库。建议在建模过程中充分利用这一过程来整理思路,使建模工作更有意义。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号