Статья будет ознакомительная, начнём с базовых видов объектов, и их полей. Всё это с примерами разумеется. Сама тема 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 - поля которые вы создаёте на стандартных и кастомных объектах.
Так же, каждое полее имеет тип данных которое оно хранит.
Создание объектов
Перейдём к практике, создадим новый объект.
И так, начнём.
-
Нажав на шестерёнку переходим на странице Setup на вашей dev org
-
Переходим в Object manager | Create | Custom object
-
Указываем Label : Book, Plural label : Books, дальше жмём Save.
Создание полей
-
Оказавшись на странице нашего объекта Book, переходим в Field & Relationships , и создаём новое поле.
-
Выбираем тип Number
-
Указываем
Field label : Price
Length : 10
Decimal Places : 2
Потом жмём Next | Next | Finish.
Заключение
Salesforce даёт возможность хранить и использовать данные в наиболее удобном виде. Если вам уже приходилось работать с базами данных, то тут используются те же принципы. Объект выступает в роле таблицы, поле в роле столбца, а запись с типом этого объекта является тем же что и запись в таблицу в базе данных. Поля имеют множество типов и настроек. По некоторым типам стоит пройтись более детально, так как они имеют ряд своих особенностей.