在日常开发过程中,必须与Mysql数据库进行操作。 这包括构建表。 如何创建结构化数据库表必须遵循以下三种数据库范式:
1 .第一范式
确保数据表中每列(字段)的原子性。
如果数据表中的每个字段都是不可重用的最小数据单元,则满足第一个模式。
例如,包含字段id、username和password的用户表
2 .第二范式
在第一模式的基础上更进一步,目标是确保表中的每一列都与主键相关。
如果关系满足第一正则表达式,并且非主键列依赖于该主键,则满足第二正则表达式。
例如,一个用户只有一个角色,但一个角色对应于多个用户。 可以创建数据表关系以满足第二正则表达式,如下所示:
user用户表,字段id,username,password,role_id
role角色表、字段id、name
用户表按角色id(role_id )关联角色表
3 .第三范式
在第二范式的基础上进一步,目标是确保表中的列与主键直接相关,而不是间接相关。
例如,一个用户可以对应于多个角色,一个角色可以对应于多个用户。 可以创建数据表关系以满足第三范式,如下所示:
用户表、字段id、用户名称、密码
role角色表、字段id、name
user_role用户-角色中间表,id,user_id,role_id
这样,可以通过第三张表(中间表)确立用户表和作用表的关系,同时遵循正规化的原则,称为第三正规化。
4 .反正规化
反规范化是通过增加冗余或重复的数据来提高数据库的读取性能。
例如,将role_name字段添加到上例中的user_role用户-角色中间表。
反规范化可以减少关联查询时join表的次数。
以上是我整理的MYSQL数据库表格制作范式。 希望今后能帮到大家。