目录
系统设计中一个重要的环节就是数据库设计,数据库设计的时候需要先进行数据建模(实体关系图 E-R图),数据建模的依据就是前期所做的需求分析
实体-关系图(Entity Relationship Diagram),也称为E-R图,提供了表示实体类型、属性和关系的方法,用来描述现实世界的概念模型。
构成E-R图的基本要素是实体、属性和关系
实体用来表示具有相同特征和性质的事物(类似于java的类(域对象)),实体由实体名和实体属性来表示。
实体所具有的某一特性,一个实体可以有若干个属性
实体彼此之间相互连接的方式称为关系。一般可分为以下 3 种类型:一对一、一对多、多对多
这种关系比较少见
维护关系:随意选择一方构建外键
例如:Wife and Husband
wife表 | husband表 | ||||
---|---|---|---|---|---|
id | name | h_id | id | name | |
1 | sunli | 1 | 1 | dengchao |
比较常见:
维护关系:在多的一方维护一方的唯一值列作为外键
比如:student and class
student表 | class表 | |||||
---|---|---|---|---|---|---|
sno | sname | age | class_id | id | name | |
1 | zhugeliang | 20 | 1 | 1 | qinghua1 | |
2 | liubei | 18 | 1 | 2 | qinghua2 | |
3 | zhangfei | 21 | 1 |
维护关系:构建桥表
比如:student(学生) and course(课程)
student表 | course表 | |||||
---|---|---|---|---|---|---|
sno | sname | age | class_id | id | name | |
1 | zhugeliang | 20 | 1 | 100 | yuwen | |
2 | liubei | 18 | 1 | 101 | English | |
3 | zhangfei | 21 | 1 |
桥表(中间表):student_course_brige(primry key(student_no,course_id))
student_no | course_id |
---|---|
1 | 100 |
1 | 101 |
2 | 100 |
3 | 100 |
1) #:主要标识
(#):次要标识
2) * : 非空
#*:表示主键。
3) o : 可有可无
4) 虚线: may be 顾客这边虚线,顾客可能没有订单
5) 实线: must be 订单这边实线,订单一定是属于某个客户。
6) 竖杠(|): UID Bar代表要强制在(|)一方建立一个联合主键,将对方ID拿过来做联合主键
简单点说就是外键同时做了当前表的主键
7) 伞状图标代表多的一方,不是伞状图标则代表一的一方
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有