对于具有多个帐户的每个帐户具有相似数据类型的应用程序,数据库结构应该是什么?

时间:2019-04-26 12:48:01

标签: mysql database-design

我正在创建具有多个上级帐户的应用程序,每个上级帐户具有不同的多个用户。每个帐户都包含一组相似类型的数据,但无需单独维护。例如。他们各自的用户可以查看的每个组织的清单。

最佳做法是什么

1:为每个组织创建不同的数据库表

2:创建一个公用表,并为其所属的组织增加一列。

2 个答案:

答案 0 :(得分:0)

如前所述,为组织做一张表,为设备做一张表,为人做一张,依此类推。这是第1步-单独实体的单独表格。

之后,将它们与以下关系联系起来:主实体中的主键与子实体中的外键。换句话说,设备表中的每一行都有其所属组织的ID的列。依此类推。

还有许多其他情况,包括将实体细分为这种所谓的正常形式,您可以根据需要进行研究,以降低数据一致性的供应成本。但这也会对性能产生负面影响。

无论如何:同一类实体通常应存储在一个表中。

答案 1 :(得分:0)

OLTP(事务处理)的最佳实践是创建公用表并以某种方式实现子类型化,例如“为组织子类型具有带有列的额外表”。在OLAP(分析处理)仓库中,这仍然是一个好习惯,但是子类型的映射可以以不同的方式实现。在OLAP数据集市中,“每个组织一个表”的解决方案可能是一个好习惯。

您可能会看一本书“ Programming with databases”,其中涉及以下主题:子类型/子类映射,OLTP与OLAP,反规范化等。