Salesforce 数据结构(3)

学习目标

  • 描述使用Schema Builder进行数据建模的优点。
  • 使用Schema Builder为给定的对象模型创建模式。
  • 使用架构生成器将自定义对象添加到您的架构。
  • 使用架构生成器将自定义字段添加到您的架构。

查看您的数据模型在行动

到目前为止,你和D’Angelo已经创造了一些自定义对象,字段和关系。你的应用程序的数据模型开始变得复杂一点。

架构生成器是一个让您可视化和编辑数据模型的工具。这对于设计和理解复杂的数据模型非常有用,就像D’Angelo正在构建的那样。让我们来看看。

  1. 从“设置”中,搜索并在“快速查找”框中单击“架构生成器”。
  2. 在左侧面板中,单击 Clear All.
  3. 检查Contact, Favorite, Offer, 和Property.

你会看到这样的东西:

The user interface for the Schema Builder.

请注意,您可以在画布周围拖动这些对象。这不会改变您的对象或关系,但它可以帮助您以有用的方式可视化您的数据模型。架构生成器是一个方便的工具,用于将您的Salesforce自定义项目引入同事或解释数据在整个系统中的流动方式。

D'Angelo explaining the DreamHouse app schema to Michelle.

用架构生成器创建一个对象

架构生成器非常适合可视化,但您也可以使用它来自定义您的数据模型。例如,您可以直接在架构生成器中管理自定义字段的权限。只需右键单击字段名称,然后单击 Manage Field Permissions.

您还可以使用架构生成器来创建对象。如果你愿意的话,你可以在这个可视界面中创建对象,如果你正在设计你的系统,并希望能够现场修改你所有的定制。让我们看看它是如何完成的。

  1. 在左侧边栏中,点击 Elements 标签.
  2. 单击Object 并将其拖到画布上。
  3. 输入关于您的对象的信息。你可以做任何你想要的!
  4. 点击 Save.

您的新对象出现在架构生成器中。那很快!接下来,我们添加一些字段。

使用架构生成器创建字段

使用Schema Builder创建字段就像创建对象一样。

  1. 从“元素”选项卡中选择一个字段类型,然后将其拖到刚创建的对象上。请注意,您可以在架构生成器中创建关系字段,公式字段和普通字段。
  2. 填写有关您的新字段的细节。
  3. 点击 Save.

Cool! 如果通过对象管理器返回,您会看到您的新对象与您的Property,Offer和Favorite对象的显示方式相同。

A comparison of an object in Object Manager and Schema Builder.

总结一下

我们在这个模块中学到了很多东西。首先,我们谈到了数据模型和数据库。我们覆盖了对象,字段和记录,并为DreamHouse应用程序创建了一些对象。然后我们讨论了对象之间的关系,以及如何使用Schema Builder可视化您的数据模型。

当你开始深入更高级的内容,你会看到自定义的对象和字段无处不在。在您知道之前,您将成为一名数据建模专家。快乐的建筑!

Salesforce 数据结构(2)

学习目标

完成本单元后,您将能够:

  • 定义不同类型的对象关系及其典型用例。
  • 创建或修改查找关系。
  • 创建或修改主从关系。

什么是对象关系?

现在我们对对象和字段感到满意了,现在是时候把对象关系带到下一个层次了。对象关系是将两个对象连接在一起的特殊字段类型。

让我们来考虑一个像Account这样的标准对象。如果销售代表打开一个客户,他们可能已经与该客户的公司中的几个人交谈。他们可能已经与高管或IT经理建立了联系,并将这些联系人的信息存储在Salesforce中。

那么,Account对象和Contact对象之间应该有一个关系是有意义的。还有!

当您查看Salesforce中的客户记录时,可以看到“相关”选项卡上的联系人部分。您还可以看到有一个按钮,可以让您快速添加联系人到一个客户。

An account record with two related contacts.

Account to Contact关系是Salesforce中标准关系的一个示例。但是就像对象和字段一样,你也可以建立自定义关系。在最后一个单元中,您创建了两个对象:Property和Offer。如果在家中提供的所有优惠都显示在Salesforce的记录上,这不是很好吗?

在我们这样做之前,先谈谈您可以在Salesforce中创建的各种关系。

对象关系的广泛世界

有两种主要类型的对象关系:查找和主要细节。

查找关系

在上面我们的Account to Contact例子中,两个对象之间的关系是查找关系。查找关系基本上将两个对象链接在一起,以便您可以从另一个对象上的相关项目中“查找”一个对象。

查找关系可以是一对一或一对多。客户到联系人关系是一对多的,因为一个客户可以有许多相关的联系人。对于我们的DreamHouse场景,您可以在Property对象和Home Seller对象之间创建一对一的关系。

主从关系

尽管查找关系相当随意,但主从关系有点紧密。在这种关系中,一个对象是主人,另一个是细节。主对象控制着细节对象的某些行为,比如谁可以查看细节的数据。

举例来说,假设一个物业的业主想把他们的房子赶出市场。 DreamHouse不希望保留任何提供该属性的优惠。通过Property和Offer之间的主从关系,您可以从系统中删除该属性及其所有关联的商品。

A property with several related offers.

更多的关系

就像在现实生活中一样,关系也很复杂。这里有更多的信息可以帮助您区分查找和主从关系。

通常情况下,只有在某些情况下才会关联对象时才使用查找关系。有时联系人与特定的客户关联,但有时只是联系人。查找关系中的对象通常作为独立对象工作,并在用户界面中拥有自己的选项卡。

在主从关系中,详细对象不能作为独立工作。这是高度依赖于主人。事实上,如果主对象上的记录被删除,那么所有相关的详细记录也被删除。在创建主从关系时,总是在详细对象上创建关系字段。

最后,你可以运行第三种关系类型,称为等级关系。分层关系是一种特殊的查找关系。两者之间的主要区别在于层次关系仅在用户对象上可用。您可以使用它们来创建用户之间的管理链。

当您开始添加对象之间的关系时,请记住,您正在增加数据模型的复杂性。这不是一件坏事,但是当你做更改和删除对象,记录或者字段的时候要格外小心。查看资源部分了解关于关系行为的更多信息。

创建查找关系

我们准备好与D’Angelo一起为DreamHouse应用程序建立一些关系。假设DreamHouse希望能够跟踪用户在自己网站上最喜欢的属性。这个功能可以帮助DreamHouse的房地产经纪人接触到潜在的购房者。

首先,创建一个自定义对象,称为具有自动编号名称字段的收藏夹。如果您需要提醒如何创建对象,请检查以前的单位。

我们将在Favorite对象上创建两个自定义关系字段。首先,我们创建一个查找关系,列出收藏属性的用户。

  1. 从安装程序中,转到 Object Manager | Favorite.
  2. 在边栏上,点击 Fields & Relationships.
  3. 点击 New.
  4. 选择 Lookup Relationship 然后单击 Next.
  5. 对于相关,请选择联系人。 为了DreamHouse的目的,联系人代表潜在的购房者。
  6. 点击 Next.
  7. 对于字段名称,请输入联系人并单击 Next.
  8. 单击 NextNext, 和 Save & New.

创建主从关系

现在,我们要创建第二个关系字段。 我们想要一个主从关系,其中属性是主,最喜欢的是细节。

  1. 选择 Master-Detail Relationship 然后单击 Next.
  2. 对于相关,选择 Property.
  3. 点击 Next.
  4. 对于字段名称,输入属性,然后单击 Next.
  5. 点击 NextNext, 和 Save.

做得好! 我们最喜欢的对象是全部设置的。 现在,如果您查看“财产”或“联系人”记录,则会看到相关选项卡中有“收藏夹”部分。

A property record with one favorite.

Salesforce 数据结构(1)

学习目标

完成本单元后,您将能够:

  • 描述在Salesforce平台上使用对象的好处。
  • 解释标准对象和自定义对象之间的区别。
  • 列出对象可以具有的自定义字段的类型。

对象概述

DreamHouse是一家房地产公司,为客户提供购买房屋和在线联系房地产经纪人的途径。 DreamHouse经纪人使用Salesforce的一些标准功能(如联系人和线索)来跟踪购房者。

但是在售房方面,还有很多事情要跟踪。例如,Salesforce不包含跟踪属性的标准方法。 DreamHouse如何知道他们有哪些房屋可供出售,或者每个房屋的价格是多少?

幸运的是,他们的Salesforce管理员D’Angelo知道Salesforce平台提供了一个解决方案。我们将与D’Angelo一起工作,看看他正在建造什么。

我们从数据模型开始。数据模型或多或少是这样的。这是以一种对人类有意义的方式建模数据库表的方法。

如果您不熟悉数据库,请考虑将数据存储在电子表格中。例如,D’Angelo可以使用电子表格来追踪所有DreamHouse的属性。列可以存储地址,成本和其他重要属性。行可以存储DreamHouse销售的每个房产的这些信息。数据库表的设置方式与此类似。

A spreadsheet that stores property information.

但是查看表格中的数据对于人类来说并不理想。这就是数据模型的来源。

在Salesforce中,我们将数据库表视为对象,我们将列视为字段,将行视为记录。因此,我们不是使用客户电子表格或表格,而是使用客户对象的字段和一堆相同的结构化记录。

A property record with the same information as the table.

当我们谈论数据模型时,我们正在讨论应用程序中的对象和字段的集合。让我们进一步了解对象和领域,以便开始构建自己的数据模型。

了解对象

Salesforce支持几种不同类型的对象。有标准对象,自定义对象,外部对象,平台事件和BigObjects。在这个模块中,我们关注两种最常见的对象类型:标准和自定义。

标准对象 是Salesforce附带的对象。通常的业务对象,如客户,联系人,潜在客户和机会都是标准对象。

自定义对象是您创建的对象,用于存储特定于您的公司或行业的信息。对于梦幻屋,D’Angelo希望建立一个自定义的Property对象来存储他的公司正在销售的房屋的信息。

对象是您的信息的容器,但它们也给你特殊的功能。例如,当您创建自定义对象时,平台将自动构建用户界面的页面布局。

创建一个自定义对象

让我们和D’Angelo一起来看看他是如何构建Property对象的。我们稍后需要这个对象,所以不要跳过这些步骤!

  1. 滚动到此页面的底部。
  2. 点击启动旁边的箭头,然后选择 Create a Trailhead Playground. 不要跳过这一步!您需要为这个模块使用一个清新干净的Trailhead游乐场。
  3. 一旦你的TP被创建(这需要一分钟!),按 Launch.
  4. 点击 The setup gear. 安装设备。在页面顶部并启动设置。
  5. 单击 Object Manager 选项卡.
  6. 点击 Create | Custom Object 在右上角。
  7. 对于标签,请输入Property. 请注意,对象名称和记录名称字段自动填充。 
  8. F对于复数标签,输入 Properties.
  9. 保存此自定义对象后,选中 Launch New Custom Tab Wizard after saving this custom object.
  10. 将其余的值保留为默认值,然后单击 Save.
  11. 选择所需的标签样式,然后单击 NextNext, and Save.

做得好!你刚创建你的第一个自定义对象。现在,我们来讨论一下为这个对象添加字段。

了解领域

每个标准和自定义对象都有附加的字段。让我们熟悉不同类型的领域。

字段类型 是什么? 我能举个例子吗?
身分 每个记录自动生成一个15个字符的区分大小写的字段。 您可以在其URL中找到记录的ID。 客户ID看起来像0015000000Gv7qJ。
系统 提供有关系统记录信息的只读字段,例如创建记录或上次更改记录时。 CreatedDateLastModifiedById, 和LastModifiedDate.
名称 所有记录都需要名称,以便可以区分它们。 您可以使用每次创建记录时自动递增的文本名称或自动编号的名称。 联系人的名字可以是Julie Bean。 支持案例的名称可以是CA-1024。
自定义 在标准或自定义对象上创建的字段称为自定义字段。 您可以在联系人对象上创建自定义字段来存储联系人的生日。

身份,系统和名称字段是Salesforce中每个对象的标准。每个标准对象还带有一组预制的标准字段。您可以通过添加自定义字段来自定义标准对象,并且可以将自定义字段添加到自定义对象。

每个字段都有一个数据类型。数据类型表示字段存储的是什么类型的信息。 Salesforce支持一堆不同的数据类型,但这里有几个你会遇到。

  • 复选框—对于简单的“是”或“否”字段,复选框字段是您想要的。
  • 日期或日期时间—这些字段类型表示日期或日期/时间组合,如生日或销售里程碑。
  • 公式—这个特殊字段类型拥有一个基于你写的公式自动计算的值。例如,D’Angelo可以编写一个公式字段,自动计算房地产经纪人的房屋销售佣金。

再次,有相当多的领域类型,但其中大部分是相当不言自明的。这里重要的一点是,您想要考虑创建自定义字段时要存储什么类型的数据。

创建一个自定义字段

我们刚创建的Property对象是相当简单的。让我们添加一些自定义字段。回到你的Trailhead游乐场。

  1. 从安装程序中,转到 Object Manager | Property.
  2. 在边栏中,点击 Fields & Relationships. 注意那里已经有一些字段了。有一个名称字段和我们之前谈到的一些系统字段。
  3. 点击 New 右上角的
  4. 对于数据类型,选择Currency.
  5. 点击 Next.
  6. 填写以下内容:
    1. 字段标签Price
    2. 描述The listed sale price of the home.
  7. 选中 Required.
  8. 点击 NextNext 再次点击 Save.

您将在Property字段列表中看到新的Price字段。在“字段名称”列中,注意它说Price__c。 “__c”部分是一个简单的方法来告诉一个特定的字段是一个自定义字段。

创建一个记录

让我们创建一个财产记录,看看你做了什么。

  1. 从应用程序启动器应用 The App Launcher icon. 在页面顶部, 选择Sales.
  2. 单击 Properties 选项卡导航栏中的.如果您没有看到它,请查看More 下拉菜单
  3. 点击顶部的New.
  4. 输入属性的名称和价格,然后单击 Save.

真棒!你会看到这样的东西:

The record you just created.

定制负责任

虽然添加和自定义对象似乎很容易,但请记住,引擎盖下面发生的事情在技术上是复杂的。在开始定制自己的组织时,请记住一些最佳实践。

仔细考虑名字. 一旦你开始创建一堆对象,可能会给他们一些“懒惰”的名字。例如,如果D’Angelo创建另一个自定义对象来跟踪共管公寓,他可能会试图将其命名为“Property2”而不是“Condominium”。这是您组织中混乱的秘诀。给你的对象和领域描述性的,独特的名称,以提高清晰度。

帮助你的用户 即使仔细命名,您的用户可能并不总是清楚特定对象或字段的用途。包含您的自定义对象和字段的说明。对于专业或复杂的自定义,请使用帮助文字提供更多详细信息。

必要时需要字段 有时候,当用户在某个对象上创建一个记录时,你需要强制用户填写一个字段。每个物业都需要一个价格,对吧?使重要的领域,以避免不完整的数据。