Admin Beginner > Data Modeling > Optimize Customer Data with Standard and Custom Objects
Overview
다시 Admin Beginner과정으로 돌아와서 DreamHouse부동산에 대한 강의를 이어나가도록 하겠습니다.
DreamHouse부동산 앱을 우리가 다운받아가지고 설치를 했잖아요. 그런데 이 부동산앱에서 제공하는 부동산매물정보는 실제로 사용하기에는 필요한 게 너무 많아요. 그래서 부동산 Object자체를 리모델링해서 다시 만들면 어떤가 하는겁니다.
일단 그러면 우리가 필요한 데이타가 무엇인지 생각해봅니다. 뭐가 필요한지 알았다면 정확히 어떤 데이타가 필요한지 모델링을 해야겠죠. 모델링이라는 말이 어렵게 느껴지신다면 그냥 엑셀파일에 필요한 항목을 나열해보세요.

해당 테이블은 Object가 되는것이고, 세로 칼럼은 Fields, 가로 행은 Records가 됩니다.
Salesforce에서 Data Model이라함은 Object과 Field들의 집합이 하나의 App안에 존재하는 것이라고 말할 수 있어요.
Get to Know Objects
Salesforce에서 Object는 크게 두가지로 나뉘는데요. Standard Object와 Custom Object입니다.
- Standard objects는 Salesforce에 기본적으로 포함되어 있는 개체입니다. 어떤 앱이든 만들면 자동으로 들어가는 뭐랄까 그냥 기본값이라고 할까요? Account, Contact, Lead, Opportunity같이 세일즈에 기본적으로 필요한 정보들은 Salesforce 앱을 만들때 기본적으로 들어갑니다.
- Custom objects는 회사마다 자기들이 필요한 데이타를 설계해서 모델로 만들고 그 안에 Object나 Field들을 자유롭게 구사하여 관리하도록 하는 Object를 Custom objects라고 합니다.
지금 우리 강좌에서 만들고자 하는것이 바로 Custom Object, 즉 Salesforce가 기본적으로 제공하지 않는 Object를 입맛에 맞게 맞춰서 생성하고 데이타를 관리하려는 거에요.
Create a Custom Object
그러면 이제 Custom Object를 만들어 볼게요. 이번에 만드는 Object는 앞으로도 계속 쓰이니까 반드시 만드셔야합니다.
- 여기서 우리는 DreamHouse를 사용하지 않을거에요. 새로운 Playground를 생성하셔서 거기에서 실습을 이어나가시면 됩니다. 주의할점은 새로 생성된 Playground에 DreamHouse를 설치하면 안됩니다 .
- Trailhead의 우측상단에서 Hands-On Orgs메뉴를 선택하고, Create Playground버튼을 눌러서 새로운 Playground를 생성해주세요.
- 1분쯤 기다리면 Playground가 생성이 완료되는데, 우측에 Launch버튼을 눌러서 Playground를 열어주세요.
- 해당 Playground에서 우측상단에 Setup메뉴를 선택해줍니다.
- 좌측메뉴에서 Quick Finder로 Object Manager를 클릭합니다.
- 우측에 Create버튼을 눌러서 팝업메뉴가 뜨면 Custom Object를 선택합니다.
- Label에 Property, Plural Label에 Properties를 입력합니다.
- 최하단에 Launch New Custom Tab Wizard after saving this custom object선택상자에 체크를 합니다.
- Save버튼을 눌러서 Object생성을 완료합니다.
- 그러면 New Custom Object Tab화면이 뜰거에요.
- 항목중에 Tab Style라는 항목이 있을건데 클릭해서 탭의 아이콘을 선택합니다.
- 마땅한 아이콘이 없으면 위에 Create your own style버튼을 클릭한뒤, 색상선택 후, Insert an Image버튼을 클릭해서 맘에 드는 아미지를 선택해줍니다.
- 이때, 맘에 드는 이미지가 없을때는 My Personal Documents폴더에 필요한 이미지를 업로드하시면 되는데, 업로드할 위치는 현재 본인의 도메인 뒤에 /015를 넣으시면 My Personal Documents폴더가 나오고 여기에서 테이블 중앙에 New Document를 클릭하셔서 새로운 이미지를 업로드하시면 됩니다.
- 선택이 완료 되었으면 Next, Next, Save를 눌러서 Tab Style을 저장합니다.
Object는 이렇게 추가가 되었고, 이제 해당 Object에 필드를 추가해보도록 하겠습니다.
Get to Know Fields
필드에도 종류가 있는데요 크게는 Standard필드와 Custom필드 두가지로 구분이 됩니다. Object에서도 마찬가지로 이 두가지가 있었는데 그 차이점이 Standard는 Salesforce가 자동으로 만들어주는 기본 제공되는 Object이고 Custom Object는 사용자 입맛에 맞게 만들어진 Object라고 했잖아요? 여기서도 마찬가지입니다. Object를 생성하면 Salesforce가 기본적으로 만들어주는 필드들을 Standard필드라고 하고 각자 자기 취향에 맞게 만드는 Field를 Custom Field라고 합니다.
Standard Fields Type
- Identity – 레코드를 분별하는 고유식별 ID를 저장하는 필드입니다.
- System – CreatedData, LastModifiedById, LastModifiedDate같이 시스템레벨에서 필요한 정보들을 저장합니다.
- Name – 어떤 레코드든 이름은 필요하니까 이름을 기본적으로 제공합니다.
이 밖에 더 필요한 필드가 있다면 Custom Field를 만드시면 됩니다.
Field Data Type
필드를 만들때는 반드시 해당 필드에 어떤 데이타가 들어갈지를 선택하는 항목이 있는데요. 예를 들면 약관에 동의하냐 같은 내용은 “예”, “아니오”로 대답할 수 있으니까 데이타 타입을 Checkbox로 하면되고, 기념일을 저장하고 싶다면 Date, 어떤 특정 스케줄을 저장하고 싶다면 Datetime을, 만약 어떤 특정값에 대해서 계산된 결과를 보여주고 싶다면 Formula라는 데이타 타입도 있습니다. 데이타 타입에 대한 더욱 자세한 내용은 필드를 추가할때 모든 데이타 타입을 볼 수 있고, 각 데이타 타입에 대한 설명도 거기서 볼 수 있어요.
Create a Custom Field
Standard Field는 Object를 생성할때 이미 만들어졌을테니까 우리가 필요한 필드를 만드는건 Custom Field를 통해서 만들어야겠죠? 아까 Property Object를 생성했던 Playground의 Setup화면을 열고 아래의 스텝을 따라해주세요.
- 좌측 Quick Find에서 Object Manager를 검색해서 선택해주세요
- 수많은 Object들 중에서 우리가 아까 만든 Property를 선택합니다.
- 좌측에 Fields & Relationships라는 메뉴가 있을거에요.
- 여기에서 New버튼을 눌러서 새로운 필드를 만드는 양식화면으로 이동합니다.
- 아까 설명드린대로 각족 Data Type들이 나열되어 있고, 옆에 설명도 자세히 들어가 있어요.
- 우리가 추가할 필드는 해당 부동산의 가격입니다. 그러면 Data Type은 Currency를 선택합니다.
- Field Label은 Price, Description은 The listed sale price of the home.를 입력해주세요
- 레코드를 입력할때 가격을 할상 명시하도록 Required박스에 체크를 합니다.
- 나머지는 다 그대로 두고 Next, Next, Save해서 저장하고 나옵니다.
만들어진 필드를 보면 Field Name이 Price__c라고 되어있어요. 뒤에 “__c”가 붙으면 Custom필드입니다.
Create a Record
이제 만들어진 Object에 Record를 입력해볼게요.
- Setup 왼쪽에 App Launcher(점9개) 아이콘을 누르고 Sales를 찾아서 선택합니다.
- 상단 메뉴에 Properties라고 있는데 아마 맨 끝에 있을거니까 More버튼 눌러서 잘 찾아서 눌러주세요.
- 지금은 데이타가 없어서 텅 비어있을건데요 상단에 New버튼 눌러서 레코드를 넣어줄게요.
- 보시다시피 Property Object에 Field는 단 두개, 기본으로 제공되는 Property Name과 방금 우리가 추가한 Custom Field, Price가 있습니다. 데이타를 입력하고 Save버튼을 눌러서 저장해주세요.

- 그러면 우리가 만든 Object에 우리가 만든 Field에 방금 입력한 Record가 들어가게 되는거에요.

Hands-on Challenge
부동산에서 판매가 성사되기전에 구매하는 사람들이 Offer를 넣잖아요. 누가 얼마의 금액으로 Offer를 넣었는지를 저장하는 Custom Object를 만드는게 이번 강좌의 과제입니다. 자세한 내용은 다음과 같습니다.
- Custom object
- Label: Offer
- Object Name:
OfferCopy - Record Name: Offer Name
- Data Type: Auto Number
- Display Format: OF-{0000}
- Starting Number: 1
- Custom currency field on the Offer object
- Data Type: Currency
- Field Label: Offer Amount
- Field Name:
Offer_AmountCopy
- Custom date field on the Offer object
- Data Type: Date
- Field Label: Target Close Date
- Field Name:
Target_Close_DateCopy
위의 내용을 되짚어 보면서 응용하시면 충분히 풀수 있는 과제라고 생각하여 풀이는 생략합니다.