MySql中关系数据库的最佳设计方法
我非常熟悉MySQL数据库管理系统。我很想知道设计更复杂东西的最佳方法 关系数据库。比如,假设我有一个“users”表,它的值是“主键”,自动递增。 使用这个“PK”作为“外键”,我可以创建一个名为“user_details”的表,在这里我可以存储用户的所有机密数据 是的,这是一个很好的方法。但我想知道有没有什么复杂的方法。 因为,如果localhost中的任何主体都可以访问数据库,那么它们就可以根据用户“PK”轻松获取“user\u details”数据MySql中关系数据库的最佳设计方法,mysql,sql,database,relational-database,primary-key,Mysql,Sql,Database,Relational Database,Primary Key,我非常熟悉MySQL数据库管理系统。我很想知道设计更复杂东西的最佳方法 关系数据库。比如,假设我有一个“users”表,它的值是“主键”,自动递增。 使用这个“PK”作为“外键”,我可以创建一个名为“user_details”的表,在这里我可以存储用户的所有机密数据 是的,这是一个很好的方法。但我想知道有没有什么复杂的方法。 因为,如果localhost中的任何主体都可以访问数据库,那么它们就可以根据用户“PK”轻松获取“user\u details”数据 另外,使用应用程序生成的唯一代码作为数
另外,使用应用程序生成的唯一代码作为数据库中的“PK”和“FK”还是数据库中的自动增量值就足够了?这是一个非常模糊的问题,所以我只列出几点:
- 您的数据模型不应该考虑服务器安全性。为应用程序准确地构建数据模型,并尽可能地锁定对数据库和表的访问。这些是不同的关注点
- 对仅允许最终用户知道的数据使用加密。例如,密码是单向加密的
- MySQL的自动增量对于大多数用例来说已经足够了。有时我唯一让应用程序生成ID的时间是在我需要更集中的控制或有独特需求的地方。这并不总是必要的,因为您可以为每个服务器分别设置自动增量起始编号,而不必担心服务器生成冲突的ID。生成自己的ID有时会有性能缺陷,例如,生成GUID所需的时间比递增整数所需的时间更长