Знакомство с Data Modeling

Статья будет ознакомительная, начнём с базовых видов объектов, и их полей. Всё это с примерами разумеется. Сама тема Data modeling очень обширна, и захватить всё в 1 статью не получиться, поэтому некоторые моменты такие как multitenant архитектура, realtionships между объектами рассмотрим более детально в следующих статьях.

1. Вступление
2. Типы объектов
3. Типы полей
4. Создание объекта
5. Создание полей
6. Заключение

Вступление

В основном данные хранятся в базах данных которые состоят из таблиц. Но если каждый раз при запросе данных вы будете получать таблицу с набором данных, то это не только будет неудобно, но и сильно замедлит вашу работу. В Salesforce данные представлены в другом виде, таблицы представлены как объекты(Objects), а колонки как поля(fields), строки как записи(records). В итоге вместо таблицы с данным про Account мы имеем удобный в пользовании объект.

Когда речь идёт о data model, то имеется в виду коллекция объектов и полей в приложении. Давайте более детально рассмотрим всё это и начнём строить свою data model.

Типы объектов

В Salesforce объекты делятся на несколько типов.
На такие, как:

  • Standard objects - базовые объекты которые всегда входят в состав sf организации. Такие, как: Account, Contact, Lead, и Opportunity все являются стандартными объектами и имеют связь между собой.

  • Custom objects - объекты созданные пользователями для нужд компании. Если компания занимается продажей автомобилей или домов, то им понадобятся объекты которые, смогут отображать модель автомобиля или дома.

  • External objects - почти такие же, как и Custom object но данные такого типа хранятся вне sf организации на стороннем сервисе. Более детально по этой теме расскажу в: Знакомство с External object.

  • Platform events - очень похожи на sObject(Standard object), но в отличие от записей стандартного объекта вы не можете обновить/удалить записи event типа. Вы не можете увидеть их в sf user интерфейсе.Они не имеют page layouts.

  • BigObjects - объекты для хранения большого объема записей.

Объекты помогают вам хранить информацию, при это давай вам дополнительный функционал. Потому что при создании объекта, платформа автоматически создаёт page layout и user interface.

Типы полей

Каждый объект имеет поля, даже если вы их не создавали то у него будут системные поля которые создаются по умолчанию.
Типы полей:

  • Identity - 15-ти значный чувствительный к регистру или 18-ти значный не чувствительный к регистру id который автоматически создаётся для каждой записи. Вы можете найти ID в URL когда заходите на запись.

  • System - поля которые не нельзя изменять или удалять (read only), содержат информацию о том когда была создана запись или дата последнего изменения и кем было сделано изменение. Такие, как: CreatedDate, LastModifiedById, и LastModifiedDate.

  • Name - имя записи которое вы указываете при создании.

  • Custom - поля которые вы создаёте на стандартных и кастомных объектах.

Так же, каждое полее имеет тип данных которое оно хранит.

Создание объектов

Перейдём к практике, создадим новый объект.

И так, начнём.

  1. Нажав на шестерёнку переходим на странице Setup на вашей dev org
    image

  2. Переходим в Object manager | Create | Custom object
    image

  3. Указываем Label : Book, Plural label : Books, дальше жмём Save.

Создание полей

  1. Оказавшись на странице нашего объекта Book, переходим в Field & Relationships , и создаём новое поле.

  2. Выбираем тип Number

  3. Указываем
    Field label : Price
    Length : 10
    Decimal Places : 2
    Потом жмём Next | Next | Finish.

Заключение

Salesforce даёт возможность хранить и использовать данные в наиболее удобном виде. Если вам уже приходилось работать с базами данных, то тут используются те же принципы. Объект выступает в роле таблицы, поле в роле столбца, а запись с типом этого объекта является тем же что и запись в таблицу в базе данных. Поля имеют множество типов и настроек. По некоторым типам стоит пройтись более детально, так как они имеют ряд своих особенностей.

4 Вподобання