1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

Update basis.md

This commit is contained in:
paigeman 2023-07-02 17:10:29 +08:00 committed by GitHub
parent a5628f4127
commit 0bd54aa950
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -34,7 +34,7 @@ ER 图由下面 3 个要素组成:
- **实体**:通常是现实世界的业务对象,当然使用一些逻辑对象也可以。比如对于一个校园管理系统,会涉及学生、教师、课程、班级等等实体。在 ER 图中,实体使用矩形框表示。
- **属性**:即某个实体拥有的属性,属性用来描述组成实体的要素,对于产品设计来说可以理解为字段。在 ER 图中,属性使用椭圆形表示。
- **联系**:即实体与实体之间的关系,这个关系不仅有业务关联关系,还能通过数字表示实体之间的数量对照关系。例如,一个班级会有多个学生就是一种实体间的联系。
- **联系**:即实体与实体之间的关系,在 ER 图中用菱形表示,这个关系不仅有业务关联关系,还能通过数字表示实体之间的数量对照关系。例如,一个班级会有多个学生就是一种实体间的联系。
下图是一个学生选课的 ER 图每个学生可以选若干门课程同一门课程也可以被若干人选择所以它们之间的关系是多对多M: N。另外还有其他两种实体之间的关系是1 对 11:1、1 对多1: N
@ -130,7 +130,7 @@ ER 图由下面 3 个要素组成:
### 执行速度不同
一般来说:`drop` > `truncate` > `delete`(这个我没有设计测试过)。
一般来说:`drop` > `truncate` > `delete`(这个我没有实际测试过)。
- `delete`命令执行的时候会产生数据库的`binlog`日志,而日志记录是需要消耗时间的,但是也有个好处方便数据回滚恢复。
- `truncate`命令执行的时候不会产生数据库日志,因此比`delete`要快。除此之外,还会把表的自增值重置和索引恢复到初始大小等。