Data Modeling: Create Object Relationships

Admin Beginner > Data Modeling > Create Object Relationships

Overview

이번 시간에는 두개의 Object간에 관계를 형성하는 방법에 대해서 설명할게요. 여기서 관계란 말그대로 두개의 Object가 어떤식으로든 연결이 되어 있을때 해당 연결에 대한 관계를 정의하게 되거든요. 예를 들면, 어떤 부동산에 어떤 고객이 얼마의 가격으로 Offer를 제시했을때 우리는 부동산 Object에 Offer를 연결하고 해당 Offer는 고객정보와 연결되는거에요.

Object Relationships

여기서 관계란 두가지가 있을 수 있는데 하나는 Lookup관계이고, 나머지 하나는 master-detail관계입니다.

Lookup은 두개의 Object가 연결이 되어있기는 하되 그 관계가 절대적이지 않을때 사용됩니다. 예를 들면 음악을 듣기위한 Playlist를 만드는데 음악은 음악대로 Playlist는 Playlist대로 느슨하게 연결이 되어 있어서, 음악이 삭제되면 Playlist에서 다음 음악으로 넘어갈 것이고, Playlist가 삭제된다해도 음악은 음악대로 또 다른 Playlist에 넣을수도 있고 아니면 그냥 들어도 그만인 가벼운 관계같은거죠.

그에 반해 master-detail관계는 좀더 종속적인 관계입니다. 예를 들면 부동산에 Offer를 넣었다고 쳐요. 그런데 해당 부동산 주인이 그집을 안팔기로 마음을 바꿔먹고 해당 부동산을 리스팅에서 삭제해달라고 요청을 했어요. 그런데 삭제하려고 보니까 그동안 들어왔던 Offer데이타들이 있는데 그냥 삭제했다가는 Offer들이 붕 뜬 상태가 되어버린단 말이에요. 그럴때는 부동산을 삭제하기 전에 Offer들을 전부 삭제하고 나서 부동산을 삭제하 수가 있으니까 이때는 좀더 종속적인 관계로 표현할 수가 있는거죠.

Create a Custom Object, Favorite

여기에서는 방금 Property Object를 추가했던 새로운 Playground를 사용해서 관계를 연결할건데요. 고객들이 특정 부동산을 즐겨찾기에 추가할 수 있도록 구현할거에요. 그러면 일단 즐겨찾기 Object를 만든 뒤에 고객과 부동산, 그리고 즐겨찾기의 관계를 설정할거에요.

  1. 지난 시간에 새로만든 PlaygroundLaunch하세요.
  2. Setup으로 들어갑니다
  3. 좌측 Object Manager메뉴를 클릭합니다.
  4. Create > Custom Object 클릭
  5. Label에 Favorite을 입력합니다.
  6. Plural Label에 Favorites을 입력합니다.
  7. Launch New Custom Tab Wizard after saving this custom object 상자를 선택합니다.
  8. 나머지 값을 기본값으로 놔두고 Save를 클릭합니다.
  9. New Custom Object Tab 페이지에서 Tab Style필드를 클릭하고 원하는 스타일을 선택합니다.
  10. NextNextSave를 차례대로 클릭합니다.

Create a Lookup Relationship

관계를 만드는것은 필드를 만드는것과 매우 유사합니다. 여기서는 위에서만든 Favorite object에 Contact Ojbect를 Loopup관계로 연결해보도록 하겠습니다.

  1. Object Manager > Favorite으로 들어갑니다.
  2. 좌측 Fields & Relationships메뉴를 클릭합니다.
  3. New를 클릭합니다.
  4. Data type에서 Lookup Relationship을 선택한 후 Next를 클릭합니다.
  5. Related To에서 Contact를 선택합니다. (여기서 Contact는 잠재적인 주택 구매자를 의미합니다.)
  6. Next를 클릭합니다.
  7. Field Label, Field Name에 Contact를 입력한 후 Next를 클릭합니다.
  8. Next, Next, Save를 차례대로 클릭합니다.

Create a Master-Detail Relationship

이번에는 Favorite에 Property를 mater-detail관계로 연결해볼게요.

  1. 맞춤형 객체의 개체 관리자 페이지에서 Fields & Relationships를 클릭합니다.
  2. New를 클릭합니다.
  3. Master-Detail Relationship을 선택하고 Next를 클릭합니다.
  4. 연결 대상에서 Property를 선택합니다.
  5. Next를 클릭합니다.
  6. 필드 이름에 Property를 입력하고 Next를 클릭합니다.
  7. Next, Next, Save를 차례대로 클릭합니다.

Add a Favorite Property

이제 즐겨찾기에 부동산을 등록해볼까요?

  1. App Launcher에서 Sales를 찾아서 선택합니다.
  2. 상단메뉴 Properties 탭을 클릭합니다. 보이지 않으면 More 누르면 나와요.
  3. 입력된 레코드중 하나를 클릭합니다.
  4. 그러면 Details탭이 기본으로 열릴텐데 왼쪽 옆에 Related탭을 엽니다.
  5. Related를 클릭합니다. Related tab에 Favorites 이 보입니다. 현재 Favotires(0)개로 나올거에요.
  6. Favotires(0)옆에보면 New버튼이 있거든요 클릭합니다.
  7. Favorite Name에 저장하고자 하는 이름(Beautiful House)을 입력한 다음 Save를 클릭합니다.

Hands-on Challenge

본 과제는 반드시 지난 시간에 새로 만든 Playground에서 실행하셔야합니다.
그리고 지난시간에 만든 Property Object를 가지고 있어야합니다.

첫번째 과제는 Offer에 Master-Detail관계를 아래와 같이 만드는 것입니다.

  • Data Type: Master-Detail
  • Related To: Property
  • Field Label: Property
  • Field Name: Property

두번째 과제는 Offer에 Lookup관계를 아래와 같이 만드는 것입니다.

  • Data Type: Lookup Relationship
  • Related To: Contact
  • Field Label: Contact
  • Field Name: Contact

아까 했는데 왜 또하라는거지? 하고 생각하시는 분 계실거 같아서 말씀드리는데요. 아까 강좌에서는 Favorite에 관계를 만든것이고, 여기서 요구하는 것은 Offer에 만들라는 것입니다.

References