Mysql 对于具有多个帐户且每个a/c的数据类型相似的应用程序,数据库结构应该是什么?
我正在创建一个具有多个父帐户的应用程序,每个父帐户都有不同的多个用户。每个账户由一组类似类型的数据组成,但不需要单独维护。例如,每个组织的库存,其各自的用户可以查看 最佳做法是什么: 1:为每个组织创建不同的数据库表Mysql 对于具有多个帐户且每个a/c的数据类型相似的应用程序,数据库结构应该是什么?,mysql,database-design,Mysql,Database Design,我正在创建一个具有多个父帐户的应用程序,每个父帐户都有不同的多个用户。每个账户由一组类似类型的数据组成,但不需要单独维护。例如,每个组织的库存,其各自的用户可以查看 最佳做法是什么: 1:为每个组织创建不同的数据库表 2:创建一个通用表,并为其所属的组织创建一个额外的列。如前所述,为组织创建一个表,为设备创建一个表,为人员创建一个表等等。这是第1步-单独实体的单独表格 然后用关系连接它们:主实体中的主键到子实体中的外键。换句话说,设备表中的每一行都会有一列,列的id为它所属的组织。等等 还有许多
2:创建一个通用表,并为其所属的组织创建一个额外的列。如前所述,为组织创建一个表,为设备创建一个表,为人员创建一个表等等。这是第1步-单独实体的单独表格 然后用关系连接它们:主实体中的主键到子实体中的外键。换句话说,设备表中的每一行都会有一列,列的id为它所属的组织。等等 还有许多其他情况,包括将实体细分为所谓的标准形式,如果需要,您可以对其进行研究,以降低数据一致性供应成本。但这也可能对绩效产生负面影响
无论如何:相同的类实体通常应该存储在一个表中 如前所述,为组织、设备、人员等编制一个表格。这是第1步-单独实体的单独表格 然后用关系连接它们:主实体中的主键到子实体中的外键。换句话说,设备表中的每一行都会有一列,列的id为它所属的组织。等等 还有许多其他情况,包括将实体细分为所谓的标准形式,如果需要,您可以对其进行研究,以降低数据一致性供应成本。但这也可能对绩效产生负面影响 无论如何:相同的类实体通常应该存储在一个表中 OLTP(事务处理)中的最佳实践是创建一个公共表,并以某种方式实现子类型,例如“为组织子类型创建具有列的额外表”。在OLAP(分析处理)仓库中,这仍然是一个很好的实践,但是子类型的映射可以以不同的方式实现。在OLAP数据集市中,“每个组织一个表”的解决方案是一个很好的实践 您可以阅读一本涵盖以下主题的书“”:子类型/子类映射、OLTP与OLAP、非规范化等。OLTP(事务处理)中的最佳实践是创建一个公共表,并以某种方式实现子类型,例如“为组织子类型创建具有列的额外表”。在OLAP(分析处理)仓库中,这仍然是一个很好的实践,但是子类型的映射可以以不同的方式实现。在OLAP数据集市中,“每个组织一个表”的解决方案是一个很好的实践
你可以看看书“”,它涵盖了以下主题:子类型/子类映射、OLTP与OLAP、非规范化等。如果可以避免,不要为每个组织创建表。只需给每个组织一个UID,然后通过内部联接、子查询、where语句选择正确的库存。这使您的应用程序更具可扩展性,而且无论何时新组织注册,您都不必深入后端。如果可以避免,请不要为每个组织创建一个表。只需给每个组织一个UID,然后通过内部联接、子查询、where语句选择正确的库存。这使您的应用程序更具可扩展性,而且无论何时新组织注册,您都不必深入后端。