Update MySQL_基础.md
This commit is contained in:
parent
fc06f91323
commit
ec5526036c
@ -53,7 +53,7 @@ MyISAM 是 MySQL 5.5 之前默认的存储引擎。创建 MyISAM 表时会创建
|
||||
+ 扩展名为 `.MYD`(`MYData`):用于存储表数据;
|
||||
+ 扩展名为 `.MYI` (`MYIndex`): 用于存储表的索引信息。
|
||||
|
||||
在 MySQL 8.0 之后,只会创建上述两个同名文件,因为在该版本中表结构的定义存储在 MySQL 数据字典中,但在 MySQL 8.0 之前,还会存在一个扩展名为 `.frm` 的扩展文件,用于存储表结构信息。MyISAM 与 InnoDB 主要的区别其只支持表级锁,不支持行级锁,不支持事务,不支持自动崩溃恢复,但可以使用内置的 mysqlcheck 和 myisamchk 工具来进行检查和修复。
|
||||
在 MySQL 8.0 之后,只会创建上述两个同名文件,因为在该版本中表结构的定义存储在 MySQL 数据字典中,但在 MySQL 8.0 之前,还会存在一个扩展名为 `.frm` 的文件,用于存储表结构信息。MyISAM 与 InnoDB 主要的区别其只支持表级锁,不支持行级锁,不支持事务,不支持自动崩溃恢复,但可以使用内置的 mysqlcheck 和 myisamchk 工具来进行检查和修复。
|
||||
|
||||
### 1.3 MEMORY
|
||||
|
||||
@ -342,7 +342,7 @@ InnoDB 存储引擎完全支持 ACID 模型:
|
||||
| ----------------------------- | ------------------------ | ------------------ | ----------------|
|
||||
| 28193182 | 10001 | heibaiying | XXXX公司 |
|
||||
|
||||
以上是一张全市在职人员统计表,主键为:机构编码 + 雇员编号,这里的雇员名称完全依赖于此联合主键,但机构名称就只依赖于机构代码,这就出现了部分依赖,违背了第二范式。此时最好的解决方式就是建立一张组织机构与组织名称的字典表。
|
||||
以上是一张全市在职人员统计表,主键为:机构编码 + 雇员编号。表中的雇员名称完全依赖于此联合主键,但机构名称却只依赖于机构编码,这就是部分依赖,因此违背了第二范式。此时常用的解决方式是建立一张组织机构与组织名称的字典表。
|
||||
|
||||
#### 第三范式:避免传递依赖
|
||||
|
||||
@ -352,7 +352,7 @@ InnoDB 存储引擎完全支持 ACID 模型:
|
||||
| ------------------------ | ------------------ | ------------------ | ----------------- |
|
||||
| 10001 | heibaiying | 06 | 开发部 |
|
||||
|
||||
这里还是一张雇员表,雇员名称和所属的部门编号都依赖于主键 employee_id ,但部门名称却依赖于部门编号,此时就出现了非主键列依赖于其他非主键列,这就违背的第三范式。此时最好的解决方式就是建立一张部门表用于维护部门相关的信息。
|
||||
以上是一张雇员表,雇员名称和所属的部门编号都依赖于主键 employee_id ,但部门名称却依赖于部门编号,此时就出现了非主键列依赖于其他非主键列,这就违背的第三范式。此时常用的解决方式是建立一张部门表用于维护部门相关的信息。
|
||||
|
||||
#### 反范式设计
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user