Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL数据库中的父子结构还是序列化数组?_Php_Mysql_Structure - Fatal编程技术网

Php MySQL数据库中的父子结构还是序列化数组?

Php MySQL数据库中的父子结构还是序列化数组?,php,mysql,structure,Php,Mysql,Structure,我正在努力做出一个关于如何构造MySQL数据库的好决定 我可以用例子来最好地解释这一点: 我有一张名为“客户”的表格。客户可以控制一个或多个站点。 Sites有自己的表。 表customers和sites有一个主键id(自动递增)。 大多数客户都可以修改多个“站点”,我们的客户数量正朝着10万增长。我需要做的就是检查客户是否可以编辑网站 问题是:如果我想将查询量保持在最低限度并获得最佳性能,如何才能最好地存储数据? 1.我创建了一个所有“站点”的序列化数组,客户可以对其进行编辑,并将其放入cus

我正在努力做出一个关于如何构造MySQL数据库的好决定

我可以用例子来最好地解释这一点:

我有一张名为“客户”的表格。客户可以控制一个或多个
站点
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中的本机阵列支持。没有别的好办法了