Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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
Mysql 对于具有多个帐户且每个a/c的数据类型相似的应用程序,数据库结构应该是什么?_Mysql_Database Design - Fatal编程技术网

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

Mysql 对于具有多个帐户且每个a/c的数据类型相似的应用程序,数据库结构应该是什么?,mysql,database-design,Mysql,Database Design,我正在创建一个具有多个父帐户的应用程序,每个父帐户都有不同的多个用户。每个账户由一组类似类型的数据组成,但不需要单独维护。例如,每个组织的库存,其各自的用户可以查看 最佳做法是什么: 1:为每个组织创建不同的数据库表 2:创建一个通用表,并为其所属的组织创建一个额外的列。如前所述,为组织创建一个表,为设备创建一个表,为人员创建一个表等等。这是第1步-单独实体的单独表格 然后用关系连接它们:主实体中的主键到子实体中的外键。换句话说,设备表中的每一行都会有一列,列的id为它所属的组织。等等 还有许多

我正在创建一个具有多个父帐户的应用程序,每个父帐户都有不同的多个用户。每个账户由一组类似类型的数据组成,但不需要单独维护。例如,每个组织的库存,其各自的用户可以查看

最佳做法是什么:

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


2:创建一个通用表,并为其所属的组织创建一个额外的列。

如前所述,为组织创建一个表,为设备创建一个表,为人员创建一个表等等。这是第1步-单独实体的单独表格

然后用关系连接它们:主实体中的主键到子实体中的外键。换句话说,设备表中的每一行都会有一列,列的id为它所属的组织。等等

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


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

如前所述,为组织、设备、人员等编制一个表格。这是第1步-单独实体的单独表格

然后用关系连接它们:主实体中的主键到子实体中的外键。换句话说,设备表中的每一行都会有一列,列的id为它所属的组织。等等

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

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

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

您可以阅读一本涵盖以下主题的书“”:子类型/子类映射、OLTP与OLAP、非规范化等。

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


你可以看看书“”,它涵盖了以下主题:子类型/子类映射、OLTP与OLAP、非规范化等。

如果可以避免,不要为每个组织创建表。只需给每个组织一个UID,然后通过内部联接、子查询、where语句选择正确的库存。这使您的应用程序更具可扩展性,而且无论何时新组织注册,您都不必深入后端。如果可以避免,请不要为每个组织创建一个表。只需给每个组织一个UID,然后通过内部联接、子查询、where语句选择正确的库存。这使您的应用程序更具可扩展性,而且无论何时新组织注册,您都不必深入后端。