【问题标题】:Salesforce Objects and NormalizationSalesforce 对象和规范化
【发布时间】:2011-10-24 10:15:12
【问题描述】:

我是俄勒冈州立大学商业解决方案小组的一名学生开发人员,我目前正在为该大学的一所学院开展 Salesforce 集成项目。您可以想象,我们正在处理的数据来自多个不同的地方,并以各种不同的格式出现。我想知道在设置 Salesforce 对象模式方面有更多经验的人是否可以谈论 Salesforce 中关系数据库样式规范化的利弊。通过不规范化和使用记录类型对数据进行分类,我们可以获得什么? (例如:包含学生和教职员工并使用 Salesforce 记录类型来区分两者的个人账户)我们会失去什么?

此消息的灵感来自此网页: Salesforce Guru: Record Types

请注意,它建议的第一件事是不要规范化(过多),因为它会阻止我们利用一些内置的 Salesforce 功能。总体而言,该页面看起来很有帮助,虽然不完整。

这个问题的答案似乎对我们项目的成功至关重要,并将帮助我们决定如何重新组织我们最初迁移到 Salesforce 的数据并最终构建我们的 Salesforce 对象架构,因此任何想法、额外资源或建议都是非常感谢。谢谢!

【问题讨论】:

    标签: object relational-database normalization salesforce denormalization


    【解决方案1】:

    励志网页是正确的。使用客户、联系人、案例、潜在客户等“标准对象”,甚至使用自定义对象,系统最好使用较少的表(对象)并根据某些值(例如记录类型)分离数据。

    通过使用记录类型,您可以利用点击式 UI。例如,对于 Account 对象,您有一个默认页面布局。但是对于每种记录类型,您都可以拥有独特的页面布局。此外,安全模型使用记录类型来限制或授予对不同用户配置文件的访问权限。

    正如作者所说,SOQL 不是 SQL。

    【讨论】:

    • 这还有很多其他晦涩的地方,例如在大多数版本中,您最多只能有 25 个自定义选项卡,因此使用不同的对象会很快导致您用完!
    • 如果我们使用记录类型而不是规范化,我们的对象上不会有冗余数据吗?
    • @manubkk:可能。这是我的团队对这种数据组织方式的主要关注点之一。我们基本上将使用 Salesforce 来创建关系数据库的非规范化版本。这是 Salesforce 开发环境特有的另一个问题:当您以这种方式将对象用作表时,该对象的所有成员都具有该对象的所有字段。例如,个人客户对象中的学生记录类型将与个人客户对象中的教职员工记录类型具有相同的字段。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-03
    • 2017-06-15
    • 2021-05-31
    • 2019-07-26
    • 2013-01-17
    • 2020-05-06
    • 2015-09-20
    相关资源
    最近更新 更多