gpt4 book ai didi

mysql - MySql中关系数据库设计的最佳方式

转载 作者:搜寻专家 更新时间:2023-10-30 20:56:34 25 4
gpt4 key购买 nike

我对 MySQL DBMS 非常熟悉。我有兴趣知道设计更复杂的最佳方法关系型数据库。比如,假设我有一个“用户”表,其自动增量值是“主键”。使用这个“PK”作为“外键”,我可以创建一个名为“user_details”的表,我可以在其中存储用户的所有 secret 数据。

是的,这是一个很好的方法。但我想知道是否有任何复杂的方法可以做到这一点。因为如果 localhost 中的任何主体获得数据库访问权限,他们可以根据用户“PK”轻松获取“user_details”数据。

此外,使用应用程序生成的唯一代码作为数据库中的“PK”和“FK”是否是个好主意,或者数据库中的自动增量值是否足够?

最佳答案

这是一个非常模糊的问题,所以我只列出几点:

  • 您的数据模型不应与服务器安全有关。为您的应用程序准确构建数据模型,并尽可能锁定对数据库和表的访问。这些是不同的问题。
  • 对只有最终用户才能知道的数据进行加密。例如,密码会进行单向加密。
  • MySQL 的自动增量足以满足大多数用例。我有时让应用程序生成 ID 的唯一一次是在 multi-master replicated databases 上我需要更集中的控制或有独特要求的地方。这并不总是必要的,因为您可以为每个服务器单独设置自动增量起始编号,而不用担心服务器生成冲突的 ID。有时生成您自己的 ID 存在性能缺陷,例如生成 GUID 比递增整数花费的时间更长。

关于mysql - MySql中关系数据库设计的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18900110/

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