ER图常用图形如下:
ER图图形含义详解
实体(长方体):
实体字面意思就是实际存在的,例如商品,货物,用户。
属性(椭圆):
属性我们不陌生,就是一个物品的一些特征,在ER图里面就是实体所拥有的特征,例如:商品所拥有的属性有id,商品名称,价格。用户拥有的属性有id,姓名,年龄,性别,电话。
关系(菱形):
字面意思就是实体与实体之间的关系;用户和商品之间为购买关系。
弱实体(双实线长方形):
如果一个实体依赖于另一个实体而存在,那么这个实体就是弱实体。很好理解,依赖的别人的就是弱者。一般用于存在包含关系的实体之间,例如学生和成绩之间,成绩就是弱实体,因为成绩依赖于学生,没有学生就没有成绩。
多值属性(双实线椭圆):
实体可能拥有多个不一样数值的同一属性,例如用户可能拥有多个电话号码,但电话号码是同一个属性,身份证号码只有一个不是多值属性。
可选属性:
并不是所有的属性都必须有值,有些属性的可以没有值,这就是可选属性,在椭圆的文字后用(O)来表示.
派生属性(虚线椭圆):
派生也就是可以推导,例如一个人的年龄,就是派生属性,因为可以根据身份证号推导出来。
联系属性:
联系属于用户表示多个实体之间联系所具有的属性,一般来讲多对多的两个实体的联系具有联系属性,在一对一和一对多的实体联系中联系属性没有必要。
弱关系(双实线菱形):
弱关系用于弱实体和实体之间的关系,例如学生和成绩,学生拥有成绩,这个拥有就是一个弱关系
ER图中的三种关联关系
一对一:一个实体和另一个实体之间只存在一对一的关系,例如:用户和身份证之间。
一对多:一对多就是一个实体之间和另一个实体存在一对多的关系,用户和电话号码之间,一个用户有多个号码,反过来就是多对一
多对多:一个实体和另一个实体之间存在多对多的关系,例如:用户和商品之间,商品可以被多个用户所拥有,用户也可以有多个商品。
概化(单竖线倒三角)
概化就是分组,例如商品有服装类,数码类,食品类
全概化(双竖线倒三角)
全概化也是分组,但是这里是商品只有服装类,数码类,食品类。
在绘制ER图的过程种主键加下划线,外键加下划虚线
这里推荐一个绘制ER图的网页:ProcessOn思维导图流程图-在线画思维导图流程图_在线作图实时协作
实战:https://www.processon.com/v/67676b555cfffc50786351c4?cid=6656ecae8d26e42f4a7b8191
————————————————————
user
(用户表)
-
user_id
:用户ID,主键,自增 -
email
:邮箱地址,唯一标识 -
password
:密码(加密存储) -
user_name
:用户名 -
avatar
:头像URL或路径 -
personal_ signature
: 个性签名 -
sex
: 性别 -
tel
: 联系电话 -
create_time
:创建时间,默认值为当前时间戳
————————————————————
store
(店铺表)
-
store_id
:店铺ID,主键,自增 -
user_id
:用户ID,外键关联user
表的user_id
-
store_name
:店铺名称 -
store_introduction
:店铺介绍 -
store_address
:店铺地址 -
status
:店铺状态(例如:正在休息 ,正常营业) -
disable_admin_id
:禁用该店铺的管理员ID(如果适用)
————————————————————
clothes
(服装表)
-
clothes_id
主键 (服装Id) -
category_id
外键(类别 Id) -
brand
(品牌名) -
clothes_introduction
(服装简介) -
size
(尺寸) -
material
(原料类别(例:纯棉)) -
code
(服装货号)//*
————————————————————
order
(订单表)
-
order_id
:订单id -
store_id
:店铺id -
total_amount
:(订单总价) -
create_time
: (订单创建时间)
————————————————————
cost
盈余表
-
cost_id
:盈余的id -
store_id
: 店铺id -
sales_revenue
: 销售额 -
cost_of_goods
:商品成本
-
gross_margin_rate
:利率:(销售额-商品成本)/销售额
————————————————————
category
(种类)
-
category_id
:类别id -
category_name
:类别名称 -
category_description
:类型介绍 -
note
:类型备注
————————————————————
store_clothes
(店铺_服装中间表)
-
store_id
: (店铺id) -
clothes_id
:(服装id) -
quantity
:(此服装的数量) -
status
:(状态 例如(缺货,有货)) -
supply_price
:(单件的进货价) -
supply_total_price
:(此服装的总价) -
storage_time
(存储的时间 包括更新存储的时间)
————————————————————
clothes_order
(店铺_服装中间表)
-
clothes_id
:服装id -
order_id
: 订单id -
sale_price
: 服装单价 -
quantity
:该服装数量 -
sale_total
:该服装总价
————————————————————
admin
(管理员表)
-
admin_id
:管理员id -
account
:管理员账户 -
password
:管理员密码 -
name
:管理员姓名 -
avatar
:头像 -
create_admin_id
:注册管理员的id -
craete_time
:注册时间
————————————————————
admin_user_action
(管理员管理用户表)
-
action_id
:管理员id -
user_id
:用户id -
admin_id
:管理员id -
action_type
:执行操作的类型例如:禁用 -
action_date
:执行操作时间 -
note
:备注,填写执行操作的原因
————————————————————
admin_store_action
(管理员管理店铺表)
-
action_id
:执行操作id 主键 -
admin_id
:管理员id -
store_id
:店铺id -
action_type
:执行操作的类型例如:禁用 -
action_date
:执行操作时间 -
note
:备注,填写执行操作的原因