oracle基础知识|数据库模型|实体关系图(E-R图)|什么是一对一、一对多、多对多
目录
一、前言
二、实体-关系图(E-R图)
1、实体(Entity):
2、属性(Attribute):
3、关系(Relationship):
4、关系类型
一对一关系 (1 ∶ 1)
一对多关系 (1 ∶ N)
多对多关系 (M ∶ N)
5、ER图中符号的表示
一、前言
系统设计中一个重要的环节就是数据库设计,数据库设计的时候需要先进行数据建模(实体关系图 E-R图),数据建模的依据就是前期所做的需求分析
二、实体-关系图(E-R图)
实体-关系图(Entity Relationship Diagram),也称为E-R图,提供了表示实体类型、属性和关系的方法,用来描述现实世界的概念模型。
构成E-R图的基本要素是实体、属性和关系
1、实体(Entity):
实体用来表示具有相同特征和性质的事物(类似于java的类(域对象)),实体由实体名和实体属性来表示。
2、属性(Attribute):
实体所具有的某一特性,一个实体可以有若干个属性
3、关系(Relationship):
实体彼此之间相互连接的方式称为关系。一般可分为以下 3 种类型:一对一、一对多、多对多
4、关系类型
一对一关系 (1 ∶ 1)
这种关系比较少见
维护关系:随意选择一方构建外键
例如:Wife and Husband
wife表 |
husband表 |
||||
---|---|---|---|---|---|
id |
name |
h_id |
id |
name |
|
1 |
sunli |
1 |
1 |
dengchao |
一对多关系 (1 ∶ N)
比较常见:
维护关系:在多的一方维护一方的唯一值列作为外键
比如: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 |
多对多关系 (M ∶ N)
维护关系:构建桥表
比如: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 |
5、ER图中符号的表示
1) #:主要标识
(#):次要标识
2) * : 非空
#*:表示主键。
3) o : 可有可无
4) 虚线: may be 顾客这边虚线,顾客可能没有订单
5) 实线: must be 订单这边实线,订单一定是属于某个客户。
6) 竖杠(|): UID Bar代表要强制在(|)一方建立一个联合主键,将对方ID拿过来做联合主键
简单点说就是外键同时做了当前表的主键
7) 伞状图标代表多的一方,不是伞状图标则代表一的一方
上一篇: IDEA 查看类关系图的正确姿势
推荐阅读
-
港湾系列之 12:对接外部 Redis 和 PG 数据库港湾容器化部署
-
什么可以用作 GC 根,如何处理跨代引用?
-
为什么 LoRA 修剪与不修剪效果相同?在 PEFT <= 0.12.0 下错误使用 get_peft_model
-
图神经网络 DGL 库 消息传递
-
在实时语音交互、端到端语音模型 Mini-Omni 部署方面超越 GPT-4o
-
微调大型语言模型(微调大型语言模型) - 数据准备(IV) - 2. 数据准备
-
ArcGIS 专业实践第三阶段】多模型路网建设(多模型路网建设)原理与实践案例-2 GIS 实践
-
滚雪球式的 Oracle [第 7.1 讲]:甲骨文云数据库
-
人工智能大模型】提示工程
-
51 微控制器智能垃圾桶 [proteus 仿真 + 程序 + 报告 + 原理图 + 演示视频