개체 모델 빌드
Salesforce Platform은 강력한 데이터베이스뿐만 아니라, 애플리케이션을 더 쉽고 빠르게 만들 수 있는 다양한 기능을 제공합니다. 행과 열에 데이터를 저장하는 스프레드시트 또는 관계형 데이터베이스와 달리, Salesforce Platform은 개체를 사용하여 데이터를 저장합니다. 개체는 스프레드시트 또는 데이터베이스에서 제공되는 모든 기능을 포함하며, 그러한 기능을 더욱 강력하고 유용하게 만드는 추가 개선 사항을 제공합니다. 각 개체는 스프레드시트 또는 데이터베이스의 열에 해당하는 여러 필드로 구성됩니다. 데이터는 행에 해당하는 개체의 레코드에 저장됩니다.
개체에는 다음의 두 가지 유형이 있습니다.
-
Standard Objects(표준 개체): 계정, 연락처 또는 기회와 같은 표준 탭에 데이터를 저장하는 데 사용되는 개체이며 기본적으로 Salesforce에 포함됩니다. 따라서 스페이스 스테이션에서 공동 사용 휴가용 주택을 팔고 싶다면 CRM 기능이 이미 존재합니다.
-
사용자 정의 개체: 애플리케이션에 고유한 정보를 저장하기 위해 생성하는 새 개체입니다. 사용자 정의 개체는 표준 개체가 제공하는 기능을 확장합니다. 스페이스 스테이션 건설 앱의 경우 사용자 정의 개체만 사용하게 됩니다.
개체, 필드, 관계 및 기타 모든 유용한 기능에 자세히 알고 싶다면 이 프로젝트가 끝난 후 데이터 모델링을 확인하세요.
데이터 모델
이 애플리케이션은 다음의 세 가지 사용자 정의 개체를 사용합니다.
-
스페이스 스테이션: 프로젝트, 보급품, 자원의 상태를 추적하는 메인 개체입니다.
-
자원: 프로젝트는 '작업'을 수행하는 것이며 '작업'을 수행하려면 자원(즉, 사람)이 필요합니다. 자원 사용자 정의 개체를 사용하여 건설 프로젝트에 참여하는 사람들의 수와 작업 시간을 추적할 예정입니다.
-
보급품: 스페이스 스테이션을 건설하려면 보급품과 장비도 필요합니다. 이 개체를 사용하여 보급품과 해당 비용을 추적합니다.
다음은 이러한 개체 관계를 나타내는 ERD 다이어그램입니다. 이제 이러한 개체들을 빌드해 보겠습니다.
스페이스 스테이션 사용자 정의 개체
이전 단계에서 스페이스 스테이션 사용자 정의 개체를 만들었습니다. 지금은 해당 개체에 대한 사용자 정의 필드를 만들어야 합니다.
- Trailhead Playground에서 Setup(설정) 을 클릭하면 새 탭이 실행됩니다.
- Home(홈) 옆에 있는 Object Manager(개체 관리자) 탭을 클릭합니다.
-
Space Station(스페이스 스테이션)을 선택합니다.
- 왼쪽 탐색 막대에서 Fields & Relationships(필드 및 관계)를 선택하고 New(새로 만들기)를 클릭합니다.
이제 사용자 정의 필드를 만들 준비가 되었습니다. 시작해보죠!
1단계: 프로젝트 상태 필드 추가
프로젝트를 관리할 때 사용하는 주요 메트릭 중 하나는 상태입니다. 상사가 프로젝트 진행 상황을 묻는데, 그에 대해 답하지 못하는 것만큼 최악의 상황은 없습니다. 사용자가 사전 정의된 사용 가능한 상태 목록에서 선택할 수 있도록 선택 목록 필드를 만듭니다.
- Data Type(데이터 유형)에 대해 Picklist(선택 목록)를 선택하고 Next(다음)를 클릭합니다.
- 사용자 정의 필드에 대해 다음의 세부 사항을 채웁니다.
- Field Label(필드 레이블):
Project Status
(프로젝트 상태) -
Enter values, with each value separated by a new line(각각 줄 바꿈으로 구분하여 값을 입력) 옆에 있는 라디오 버튼을 선택합니다.
- 선택 목록에 대해 다음 값을 입력합니다(한 줄에 하나씩).
Green
(초록색)Yellow
(노란색)Red
(빨간색)Complete
(완료)
- Display values alphabetically, not in the order entered (입력한 순서가 아닌 알파벳순으로 값 표시) - 선택 취소
- Use first value as default value(처음 값을 기본값으로 사용) - 선택
-
Restrict picklist to the values defined in the value set(선택 목록을 값 집합에 정의된 값으로 제한) 상자를 선택 취소합니다.
- 필드 이름이 Project_Status인지 확인합니다.
- 나머지 필드는 기본값을 그대로 유지하고 Next(다음)를 클릭합니다.
-
Next(다음)를 다시 클릭하여 기본 필드 가시성 및 보안 설정을 수락합니다.
-
Save & New(저장 및 새로 만들기)를 클릭하여 페이지 레이아웃에 Project Status(프로젝트 상태) 필드를 추가하고, Project Status(프로젝트 상태) 필드를 저장한 후 마법사의 첫 번째 단계로 돌아갑니다.
2단계: 방패 상태 필드 추가
스페이스 스테이션의 주요 목적은 우주를 탐험하면서 안전하게 지내도록 하는 것입니다. 이때 가장 중요한 방어 메커니즘인 방패를 추적해야 합니다. 특수한 힘을 지닌 이 필드 방패는 충전하는 데 시간이 걸리므로 상태를 파악해 두어야 합니다.
프로젝트 상태와 마찬가지로, 사용자가 사전 정의된 사용 가능한 상태 목록에서 선택할 수 있도록 선택 목록 필드를 만듭니다.
- Data Type(데이터 유형)에 대해 Picklist(선택 목록)를 선택하고 Next(다음)를 클릭합니다.
- 사용자 정의 필드에 대해 다음의 세부 사항을 채웁니다.
- Field Label(필드 레이블):
Shield Status
(방패 상태) -
Enter values, with each value separated by a new line(각각 줄 바꿈으로 구분하여 값을 입력) 옆에 있는 라디오 버튼을 선택합니다.
- 선택 목록에 대해 다음 값을 입력합니다(한 줄에 하나씩).
Not Yet Operational
(작동 준비되지 않음)Fully Operational
(작동 준비 완료)
- Display values alphabetically, not in the order entered (입력한 순서가 아닌 알파벳순으로 값 표시) - 선택 취소
- Use first value as default value(처음 값을 기본값으로 사용) - 선택
-
Restrict picklist to the values defined in the value set(선택 목록을 값 집합에 정의된 값으로 제한) 상자를 선택 취소합니다.
- 필드 이름이 Shield_Status인지 확인합니다.
- 나머지 필드는 기본값을 그대로 유지하고 Next(다음)를 클릭합니다.
-
Next(다음)를 다시 클릭하여 기본 필드 가시성 및 보안 설정을 수락합니다.
-
Save(저장)를 클릭하여 페이지 레이아웃에 Shield Status(방패 상태) 필드를 추가하고, Shield Status(방패 상태) 필드를 저장한 후 스페이스 스테이션 사용자 정의 개체 페이지로 돌아갑니다.
자원 사용자 정의 개체
스페이스 스테이션을 건설하려면 실제 작업을 수행할 자원이 있어야 합니다. 이 작업을 대신 해줄 수 있는 우주의 마법은 존재하지 않습니다. 즉 인력과 사용률을 추적하기 위한 방법이 필요합니다. 자원 개체는 바로 이러한 역할을 수행합니다.
-
톱니바퀴 아이콘 을 클릭하고 Setup(설정)을 선택합니다. 그러면 Setup(설정)이 새 탭에서 실행됩니다.
- Home(홈) 옆에 있는 Object Manager(개체 관리자) 탭을 클릭합니다.
-
Create(만들기) 드롭다운을 클릭하고 Custom Object(사용자 정의 개체)를 선택합니다.
- Custom Object Definition(사용자 정의 개체 정의) 페이지에서 다음 단계에 따라 개체를 생성합니다.
- Label(레이블):
Resource
(자원) - Plural Label(복수 레이블):
Resources
(자원) - Record Name(레코드 이름):
Resource Name
(자원 이름) -
Allow Reports(보고서 허용) 확인란 선택
-
Save(저장)를 클릭합니다.
이제 사용자 정의 탭을 만듭니다.
-
Home(홈) 탭을 클릭하고 Quick Find(빠른 찾기) 상자에 Tabs(탭)를 입력한 후 Tabs(탭)를 선택합니다.
- Custom Object Tabs(사용자 정의 개체 탭) 아래에서 New(새로 만들기)를 클릭합니다.
- Object(개체)에 대해 Resource(자원)를 선택합니다.
- Tab Style(탭 스타일)에 대해 아무 아이콘이나 선택합니다.
- 기본값을 그대로 유지합니다. Next(다음), Next(다음), Save(저장)를 차례대로 클릭합니다.
이제 스페이스 스테이션에 했던 것처럼 몇 개의 필드를 생성해야 합니다.
- Home(홈) 옆에 있는 Object Manager(개체 관리자) 탭을 클릭합니다.
-
Resource(자원) 사용자 정의 개체를 선택합니다.
-
Fields & Relationships(필드 및 관계) 섹션을 선택합니다.
-
New(새로 만들기)를 클릭합니다.
1단계: 수량 필드 추가
Resource Name(자원 이름)은 필요한 직원 구성원 유형(예: 배관공, 배기구 검사관, 조종사)을 추적하므로, 필요로 하는 각 유형의 자원 수를 결정하는 필드가 있어야 합니다.
- Data Type(데이터 유형)에 대해 Number(숫자)를 선택하고 Next(다음)를 클릭합니다.
- 사용자 정의 필드에 대해 다음의 세부 사항을 채웁니다.
- Field Label(필드 레이블):
Quantity
(수량) -
Required(필수) 확인란을 선택하여 이 필드에 항상 숫자가 입력되어 있는지 확인하세요.
- 나머지 필드는 기본값을 그대로 유지하고 Next(다음)를 클릭합니다.
-
Next(다음)를 다시 클릭하여 기본 필드 가시성 및 보안 설정을 수락합니다.
-
Save & New(저장 및 새로 만들기)를 클릭하여 페이지 레이아웃에 Quantity(수량) 필드를 추가하고, Quantity(수량) 필드를 저장한 후 마법사의 첫 번째 단계로 돌아갑니다.
2단계: 이용률 필드 추가
자원이 한 프로젝트에서 작업 중일 때 해당 프로젝트에 전체 시간을 소비하지 않을 수 있습니다. 예를 들어 한 프로젝트에서는 50%, 다른 프로젝트에서는 50%를 사용할 수 있습니다. 이는 자원의 이용률이며, 메트릭과 일정을 살펴볼 때 추적해야 합니다.
- Data Type(데이터 유형)에 대해 Percent(퍼센트)를 선택하고 Next(다음)를 클릭합니다.
- 사용자 정의 필드에 대해 다음의 세부 사항을 채웁니다.
- Field Label(필드 레이블):
Utilization
(이용률) -
Required(필수) 확인란을 선택하여 이 필드에 항상 백분율이 입력되어 있는지 확인하세요.
- 나머지 필드는 기본값을 그대로 유지하고 Next(다음)를 클릭합니다.
-
Next(다음)를 다시 클릭하여 기본 필드 가시성 및 보안 설정을 수락합니다.
-
Save & New(저장 및 새로 만들기)를 클릭하여 페이지 레이아웃에 Utilization(이용률) 필드를 추가하고, Utilization(이용률) 필드를 저장한 후 마법사의 첫 번째 단계로 돌아갑니다.
3단계: 스페이스 스테이션 필드 추가(마스터-세부 사항 관계)
자원은 특정 스페이스 스테이션에서 작업하도록 할당되므로, 개체 간에 이러한 관계를 만들어야 합니다. 자원과 스페이스 스테이션 간에 마스터-세부 사항 관계를 만들어 보겠습니다. 그러면 두 개체(하위 또는 '세부 사항')와 다른 개체(상위 또는 '마스터') 간에 특수한 유형의 관계가 생성됩니다. 마스터-세부 사항 관계는 두 개체 간에 긴밀한 결합이 존재할 때에만 사용할 수 있습니다. 예를 들어 블로그와 블로그 포스트를 생각해보세요. 블로그가 삭제되면 블로그 포스트도 함께 삭제됩니다. 또한 이러한 관계는 모든 종류의 추가 이점을 제공합니다. 더 자세히 알아보세요.
- Data Type(데이터 유형)에 대해 Master-Detail Relationship(마스터-세부 사항 관계)을 선택하고 Next(다음)를 클릭합니다.
- Related To(다음과 관련) 선택 목록에서 Space Station(스페이스 스테이션)을 선택하고 Next(다음)를 클릭합니다.
- Field Label(필드 레이블): 기본적으로 Space Station(스페이스 스테이션)으로 설정해야 함
- Field Name(필드 이름):
Space_Station
- 나머지 필드는 기본값을 그대로 유지하고 Next(다음)를 클릭합니다.
-
Next(다음)를 다시 클릭하여 기본 필드 가시성 및 보안 설정을 수락합니다.
-
Next(다음)를 클릭하여 페이지 레이아웃에 Space Station(스페이스 스테이션) 필드를 추가합니다.
-
Save(저장)를 클릭하여 Space Station(스페이스 스테이션) 필드를 페이지 레이아웃에 추가하고, 스페이스 스테이션 레코드의 관련 목록을 페이지 레이아웃에 포함하고(잠시 후 자세히 설명), Space Station(스페이스 스테이션) 필드를 저장하고, Resource(자원) 사용자 정의 개체 페이지로 돌아옵니다.
보급품 사용자 정의 개체
이제 마지막 사용자 정의 개체입니다. 스페이스 스테이션을 건설하려면 우주파 제너레이터, 커피, 축전기, 덕트 테이프와 같은 보급품과 장비가 필요합니다. 이러한 물건들은 비용이 많이 들기 예산을 초과하지 않고 상사의 사무실로 호출되지 않도록 비용을 추적해야 합니다.
- Object Manager(개체 관리자)로 되돌아가려면 을 클릭하고 Setup(설정)을 선택합니다.
- Home(홈) 옆에 있는 Object Manager(개체 관리자) 탭을 클릭합니다.
-
Create(만들기) 드롭다운을 클릭하고 Custom Object(사용자 정의 개체)를 다시 선택하여 시작합니다. 이제 이 과정이 아주 익숙하실 것입니다.
- Custom Object Definition(사용자 정의 개체 정의) 페이지에서 다음 단계에 따라 개체를 생성합니다.
- Label(레이블):
Supply
(보급품) - Plural Label(복수 레이블):
Supplies
(보급품) -
Allow Reports(보고서 허용) 확인란 선택
-
Save(저장)를 클릭합니다.
- 이제 사용자 정의 탭을 만듭니다. Home(홈) 탭을 클릭하고 Quick Find(빠른 찾기) 상자에
Tabs
(탭)를 입력한 후 Tabs(탭)를 선택합니다.
-
Custom Object Tabs(사용자 정의 개체 탭) 아래에서 New(새로 만들기)를 클릭합니다.
-
Object(개체)에 대해 Supply(보급품)를 선택합니다.
-
Tab Style(탭 스타일)에 대해 아무 아이콘이나 선택합니다.
- 기본값을 그대로 유지합니다. Next(다음), Next(다음), Save(저장)를 차례대로 클릭합니다.
이제 스페이스 스테이션에 했던 것처럼 몇 개의 필드를 생성해야 합니다.
- Home(홈) 옆에 있는 Object Manager(개체 관리자) 탭을 클릭합니다.
-
Supply(보급품) 사용자 정의 개체를 선택합니다.
-
Fields & Relationships(필드 및 관계) 섹션을 선택합니다.
-
New(새로 만들기)를 클릭합니다.
1단계: 수량 필드 추가
전구나 유니폼을 주문할 때는 수량을 추적해야 합니다.
- Data Type(데이터 유형)에 대해 Number(숫자)를 선택하고 Next(다음)를 클릭합니다.
- 사용자 정의 필드에 대해 다음의 세부 사항을 채웁니다.
- Field Label(필드 레이블):
Quantity
(수량) -
Required(필수) 확인란을 선택하여 이 필드에 항상 숫자가 입력되어 있는지 확인하세요.
- 사용자가 최소한 2개의 보급품(항상 예비품을 비축하는 것이 좋음)을 주문하도록 권장하기 위해 기본값을 2로 설정합니다.
- 나머지 필드는 기본값을 그대로 유지하고 Next(다음)를 클릭합니다.
-
Next(다음)를 다시 클릭하여 기본 필드 가시성 및 보안 설정을 수락합니다.
-
Save & New(저장 및 새로 만들기)를 클릭하여 페이지 레이아웃에 Quantity(수량) 필드를 추가하고, Quantity(수량) 필드를 저장한 후 마법사의 첫 번째 단계로 돌아갑니다.
2단계: 단가 필드 추가
보급품 또는 장비의 단가도 기록해야 합니다. 예를 들어 커피 컵 1,000개를 주문하는 경우 각각 $2.75인지 추적해야 합니다.
- Data Type(데이터 유형)에 대해 Currency(통화)를 선택하고 Next(다음)를 클릭합니다.
- 사용자 정의 필드에 대해 다음의 세부 사항을 채웁니다.
- Field Label(필드 레이블):
Unit Cost
(단가) - Length(길이):
16
- Decimal Places(소수 자릿수):
2
-
Required(필수) 확인란을 선택하여 이 필드에 항상 숫자가 입력되어 있는지 확인하세요.
- 나머지 필드는 기본값을 그대로 유지하고 Next(다음)를 클릭합니다.
-
Next(다음)를 다시 클릭하여 기본 필드 가시성 및 보안 설정을 수락합니다.
-
Save & New(저장 및 새로 만들기)를 클릭하여 페이지 레이아웃에 Unit Cost(단가) 필드를 추가하고, Unit Cost(단가) 필드를 저장한 후 마법사의 첫 번째 단계로 돌아갑니다.
3단계: 총 비용 필드 추가(수식 필드)
이제 각 물품의 수량과 각 물품의 단가가 있으므로, 모든 물품의 총 비용이 알고 싶을 것입니다. 이러한 비용(수량*단가=총계)을 수동으로 계산하는 대신, 수식 필드를 사용하여 Salesforce Platform에서 자동으로 처리할 수 있습니다. 이러한 필드는 스프레드시트의 수식과 매우 유사하게 런타임 시점에 계산됩니다. 매우 유용한 기능입니다.
- Data Type(데이터 유형)에 대해 Formula(수식)를 선택하고 Next(다음)를 클릭합니다.
- 사용자 정의 필드에 대해 다음의 세부 사항을 채웁니다.
- Field Label(필드 레이블):
Total Cost
(전체 비용) - Field Name(필드 이름):
Total_Cost
- Formula Return Type(수식 반환 유형): Currency(통화)
- Decimal Places(소수 자릿수):
2
-
Next(다음)를 클릭합니다.
- 각 보급품 레코드에 대한 총 비용을 확인하기 위해 수식에 다음을 입력합니다.
Quantity__c * Unit_Cost__c
- 수식에 올바른 구문이 있는지 확인하려면 Check Syntax(구문 검사)를 클릭하고 Next(다음)를 클릭합니다.
-
Next(다음)를 다시 클릭하여 기본 필드 가시성 및 보안 설정을 수락합니다.
-
Save & New(저장 및 새로 만들기)를 클릭하여 페이지 레이아웃에 Total Cost(총 비용) 필드를 추가하고, Total Cost(총 비용) 필드를 저장한 후 마법사의 첫 번째 단계로 돌아갑니다.
4단계: 스페이스 스테이션 필드 추가(마스터-세부 사항 관계)
자원과 마찬가지로, 보급품도 마스터-세부 사항 관계를 사용하여 특정 스페이스 스테이션 레코드와 연결해야 합니다.
- Data Type(데이터 유형)에 대해 Master-Detail Relationship(마스터-세부 사항 관계)을 선택하고 Next(다음)를 클릭합니다.
- Related To(다음과 관련) 선택 목록에서 Space Station(스페이스 스테이션)을 선택하고 Next(다음)를 클릭합니다.
- Field Label(필드 레이블): 기본적으로 Space Station(스페이스 스테이션)으로 설정해야 함
- Field Name(필드 이름):
Space_Station
- 나머지 필드는 기본값을 그대로 유지하고 Next(다음)를 클릭합니다.
-
Next(다음)를 다시 클릭하여 기본 필드 가시성 및 보안 설정을 수락합니다.
-
Next(다음)를 클릭하여 페이지 레이아웃에 Space Station(스페이스 스테이션) 필드를 추가합니다.
-
Save(저장)를 클릭하여 Space Station(스페이스 스테이션) 필드를 페이지 레이아웃에 추가하고, 스페이스 스테이션 레코드의 관련 목록을 페이지 레이아웃에 포함하고(잠시 후 자세히 설명), Space Station(스페이스 스테이션) 필드를 저장하고, Resource(자원) 사용자 정의 개체 페이지로 돌아옵니다.
휴! 방대한 작업이었지만, 마침내 모두 완료했습니다. 다행히도, 애플리케이션을 빌드하는 데 가장 많은 시간이 소요되는 파트였습니다.
리소스