准备两台mysql服务器这里用docker 演示1.Docker部署mysqldocker run -p 3307:3306 --name mysql-master -v /Users/ga666666/Desktop/master/data:/var/lib/mysql -v /Users/ga666666/Desktop/master/conf:/etc/mysql -e MYSQL...
1、第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。第一范式的合理遵循需要根据系统的实际需求来定。比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性设计成一个数据库表的字段就行。但是如果系统经常会访问“地址”属性中的“城市”部分,那么就非要将“地址”这个属性重新拆分为省份、城市、详细地址等...
什么是ExplainExplain被称为执行计划,在语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,模拟MySQL优化器来执行SQL语句,执行查询时,会返回执行计划的信息,并不执行这条SQL。(注意,如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中)。Explain可以用来分析SQL语句和表结构的性能瓶颈。通过explain的结果,可以了解到如数据...
我们都知道事务有4种特性:原子性、一致性、隔离性和持久性,在事务中的操作,要么全部执行,要么全部不做,这就是事务的目的。事务的隔离性由锁机制实现,原子性、一致性和持久性由事务的redo 日志和undo 日志来保证。所以本篇文章将讨论关于事务中的redo和undo的几个问题:redo 日志与undo日志分别是什么?redo 如何保证事务的持久性?undo log 是否是redo log的逆过程...
数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。*范式说明**1.1 第一范式(1NF)无重复的列*所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同...