Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.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
SQL-针对特定于不同客户端的某些属性';用户,如何处理模式?_Sql_Database_Postgresql_Schema - Fatal编程技术网

SQL-针对特定于不同客户端的某些属性';用户,如何处理模式?

SQL-针对特定于不同客户端的某些属性';用户,如何处理模式?,sql,database,postgresql,schema,Sql,Database,Postgresql,Schema,我有客户,每个客户都有一个应用程序,其中有很多用户 他们的用户数据可能非常不同,但也有很多重叠。例如:他们所有的用户都有“性别”和“年龄”以及许多其他信息,因此在所有客户机上都有一个标准的user_表模式是有意义的(每个属性都有一列) 但也有特定于每个客户机的用户信息。例如,一个客户端可能有其用户的“关系状态”,而其他客户端则没有。而另一个客户端为其用户提供“高度”,而其他客户端则没有 如何设计一个同时适用于这两种情况的模式? 一种可能是为每个客户机使用不同的模式,但这似乎是不必要的麻烦。另一种

我有客户,每个客户都有一个应用程序,其中有很多用户

他们的用户数据可能非常不同,但也有很多重叠。例如:他们所有的用户都有“性别”和“年龄”以及许多其他信息,因此在所有客户机上都有一个标准的user_表模式是有意义的(每个属性都有一列)

但也有特定于每个客户机的用户信息。例如,一个客户端可能有其用户的“关系状态”,而其他客户端则没有。而另一个客户端为其用户提供“高度”,而其他客户端则没有

如何设计一个同时适用于这两种情况的模式?

一种可能是为每个客户机使用不同的模式,但这似乎是不必要的麻烦。另一种可能是将标准模式中的每一列放在所有客户端上,但是对于单个客户端来说唯一的列对于所有其他客户端来说都是空的


(如果有必要的话,我正在使用Postgres。)

你应该提供更多关于你必须解决的问题的信息。你说了两个基本的选择,你比任何人都知道什么是最好的选择。根据您所说的,最好是有一个包含公共信息的表,以及其他包含特定信息和外键的表……太棒了,谢谢。你的最后一个建议实际上是某人刚刚建议的可能性,所以这是一个良好的理智检查,至少应该考虑这个想法。我很高兴:)祝你好运!看看这本书。它是一个非常快速的键/值存储。除非需要对动态属性进行强数据类型检查,否则这可能是最好的方法。