gpt4 book ai didi

php - MySQL 数据库中的父子结构或序列化数组?

转载 作者:太空宇宙 更新时间:2023-11-03 11:56:26 25 4
gpt4 key购买 nike

我正在尝试就如何构建我的 MySQL 数据库做出一个好的决定。

我可以通过示例来最好地解释这一点:

我有一个名为customers 的表。一位客户可以控制一个或多个站点Sites 有自己的表格。customerssites 表有一个主键 id (AUTO-INCREMENT)。大多数客户可以修改多个“站点”,我们正朝着 100.000 个客户的方向发展。我需要用这些信息做的就是检查客户是否可以编辑网站。

问题是:如果我想将查询保持在最低限度并保持最佳性能,我如何才能最好地存储数据?1. 我创建了一个客户可以编辑的所有“站点”的序列化数组,并将其放在 customers 表的一列中。2. 我为 customers 创建了一个名为 customer-site 的子表,我在其中写入了客户有权访问的所有 site_id。

正如您可能读到的那样,我的知识不多,所以非常感谢任何信息!

最好的问候,阿巴约布

最佳答案

您应该创建一个 permissions 表将包含两列 short_name , name 。您应该创建另一个表来保存客户对站点的权限 customer_permission_site customer_id , site_id , permission_short_name 。然后检查您的代码中的短名称字段是否用户具有权限。

你的 short_name 权限表中的字段将作为该表的主键。

Benefits for this architecture

  1. 您可以轻松地为用户设置网站的编辑、删除等权限。
  2. 您可以在权限表中设置授予用户访问网站的权限
  3. 规范化且易于搜索和检索。

关于php - MySQL 数据库中的父子结构或序列化数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32375271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com