Php MySQL数据库中的父子结构还是序列化数组?
我正在努力做出一个关于如何构造MySQL数据库的好决定 我可以用例子来最好地解释这一点: 我有一张名为“客户”的表格。客户可以控制一个或多个Php MySQL数据库中的父子结构还是序列化数组?,php,mysql,structure,Php,Mysql,Structure,我正在努力做出一个关于如何构造MySQL数据库的好决定 我可以用例子来最好地解释这一点: 我有一张名为“客户”的表格。客户可以控制一个或多个站点。 Sites有自己的表。 表customers和sites有一个主键id(自动递增)。 大多数客户都可以修改多个“站点”,我们的客户数量正朝着10万增长。我需要做的就是检查客户是否可以编辑网站 问题是:如果我想将查询量保持在最低限度并获得最佳性能,如何才能最好地存储数据? 1.我创建了一个所有“站点”的序列化数组,客户可以对其进行编辑,并将其放入cus
站点
。
Sites
有自己的表。
表customers
和sites
有一个主键id(自动递增)
。
大多数客户都可以修改多个“站点”,我们的客户数量正朝着10万增长。我需要做的就是检查客户是否可以编辑网站
问题是:如果我想将查询量保持在最低限度并获得最佳性能,如何才能最好地存储数据?
1.我创建了一个所有“站点”的序列化数组,客户可以对其进行编辑,并将其放入customers
表中的列中。
2.我为客户
创建了一个名为客户站点
的子表,我在其中写入客户有权访问的所有站点id
正如你可能会读到的,我没有太多的知识,所以任何信息为什么是非常感谢
致以最良好的祝愿,
Abayob您应该创建一个
权限
表,该表将包含两列短名称
,名称
。您应该创建另一个表,该表将保存对站点的客户权限
客户id
,站点id
,权限\u short\u name
。然后检查代码中的“短名称”字段是否用户具有权限
权限表中的short\u name
字段将是该表的主键
此体系结构的好处
您应该创建一个
权限
表,该表将包含两列short\u name
,name
。您应该创建另一个表,该表将保存对站点的客户权限
客户id
,站点id
,权限\u short\u name
。然后检查代码中的“短名称”字段是否用户具有权限
权限表中的short\u name
字段将是该表的主键
此体系结构的好处
您应该创建一个
权限
表,该表将包含两列short\u name
,name
。您应该创建另一个表,该表将保存对站点的客户权限
客户id
,站点id
,权限\u short\u name
。然后检查代码中的“短名称”字段是否用户具有权限
权限表中的short\u name
字段将是该表的主键
此体系结构的好处
您应该创建一个
权限
表,该表将包含两列short\u name
,name
。您应该创建另一个表,该表将保存对站点的客户权限
客户id
,站点id
,权限\u short\u name
。然后检查代码中的“短名称”字段是否用户具有权限
权限表中的short\u name
字段将是该表的主键
此体系结构的好处
Mysql规范化规则说,选择2是一条出路。在数据库中直接编辑更容易。使用此功能,您还可以将外键绑定到这两者,并级联删除站点/客户(还可以删除链接表中的行)Mysql规范化规则指出,选项2是一种方法。在数据库中直接编辑更容易。使用此功能,您还可以将外键绑定到这两者,并级联删除站点/客户(还可以删除链接表中的行)Mysql规范化规则指出,选项2是一种方法。在数据库中直接编辑更容易。使用此功能,您还可以将外键绑定到这两者,并级联删除站点/客户(还可以删除链接表中的行)Mysql规范化规则指出,选项2是一种方法。在数据库中直接编辑更容易。使用此功能,您还可以将外键绑定到这两者,级联删除站点/客户(同时删除链接表中的行)数组是一个非常糟糕的主意。选择标准化数据,客户站点表。这对每个人来说都很容易理解,因为这是一个非常常见的选择,易于使用,并且查询速度足够快。阵列没有这些优点。您甚至没有mysql中的本机阵列支持。没有别的好办法了