Php 数据库设计-与其他系统的应用程序集成

Php 数据库设计-与其他系统的应用程序集成,php,database-design,Php,Database Design,我目前正在我的应用程序ex SalesForce.com中集成外部应用程序。我的问题与正确设计用于捕获自定义字段的数据的表有关 因此,对于SalesForce,所有公司都有一个组织ID,但也可以有用于捕获数据的自定义字段。我已经研究了两种处理方法 让他们创建字段,将名称序列化为数组中的键。然后将值连接到该数组并重新序列化 在数据库中创建10多个允许自定义值(字段名)的列,然后将用户数据映射到这些字段 从长远来看,这些方法中哪一种更有效、更易于维护?您的问题不清楚您是需要按用户还是按表使用这些自定

我目前正在我的应用程序ex SalesForce.com中集成外部应用程序。我的问题与正确设计用于捕获自定义字段的数据的表有关

因此,对于SalesForce,所有公司都有一个组织ID,但也可以有用于捕获数据的自定义字段。我已经研究了两种处理方法

  • 让他们创建字段,将名称序列化为数组中的键。然后将值连接到该数组并重新序列化
  • 在数据库中创建10多个允许自定义值(字段名)的列,然后将用户数据映射到这些字段

  • 从长远来看,这些方法中哪一种更有效、更易于维护?

    您的问题不清楚您是需要按用户还是按表使用这些自定义字段。如果是每个表,那么我会为每个需要额外字段的表创建一个“同级”表。为它指定与主表相同的主键列,加上序号列和字段名和值列。我会将它们都设置为字符列,并计划转换为实际字段类型或从实际字段类型转换为实际字段类型,但如果您想为每个数据类型创建一个单独的列,并且只使用一个,这就是您的要求。然后,无论何时从主表中获取行,都要从同级表中获取具有相同键的所有行,并按序列号对返回的列进行排序。您可以根据需要向同级表添加其他列;e、 例如,您可能需要添加一个标志来指示某些字段是必需的


    如果要为插入到主表中的每一行创建同级表中的所有条目,则可能需要在主表中有一个带有特殊键的“模板”或“原型”行,以便轻松获取所有自定义字段。这还允许您为自定义字段指定默认值,只需将它们存储在原型条目中。

    它将基于每个公司。从技术上讲,它将包含用户。谢谢你提供的信息,我正在查看,我会告诉你进展如何。