存储不同的用户类型

时间:2015-05-18 09:00:26

标签: mysql database

我正在构建一个有各种类型用户的系统。我正在为每个用户存储不同的信息。我想知道我是否应该将所有用户存储在一个表或不同的表中,因为如果我存储在同一个表中,对于某些用户来说,某些字段将为null。什么是最佳实践。我的数据库是MySql

提前谢谢!

3 个答案:

答案 0 :(得分:1)

对于注册/登录,就我而言,你必须将它们存储在同一个表中。对于其他选项,例如,他们在他们的个人资料中填写的信息,他们的个人资料图片等。我会为此制作另一个表格。您可以询问详细信息,例如,您是父母吗?如果是,请将其输入数据库。也许你可以通过'兄弟姐妹/母亲/父亲'来使它与Facebook相似。

答案 1 :(得分:1)

最佳做法是不同的表格。请记住您正在使用relational database。来自维基百科

  

关系被定义为具有相同元组的一组元组   属性。元组通常代表一个对象和有关的信息   那个对象。对象通常是物理对象或概念。一个   关系通常被描述为一个表,它被组织成行   和列。属性引用的所有数据都相同   域并遵守相同的约束。

因此,您的架构应始终normalized方式。

答案 2 :(得分:1)

对于你的例子,你可以选择两个表:

  • users_information( ID ,名称,....)
  • children_information( id ,学校,家长等)

其中,孩子的id是指用户的id。

这是在面向对象的方法中实现用户数据类型之间的“是一种”关系的一种相当常见的方式。