[SFDC] Objects

알린의 개발노트·2023년 3월 29일
0
post-custom-banner

사전 정리

  • Objbects(개체)
    • 특정 종류의 정보를 저장하는 Salesforce 데이터베이스의 테이블
    • 필드와 레코드로 데이터가 구성
  • Fields(필드)
    • 데이터베이스의 열(Column) 개념
  • Records(레코드)
    • 데이터베이스의 행(Row) 개념
  • org(조직)
    • Salesforce의 특정 인스턴스
      • Professional Edition
      • Unlimited Edition
      • Performance Edition
      • Enterprise Edition
      • Developer Edition
      • Trailhead Playground

Objects의 종류

  • Standard Objects
    • Salesforce에서 미리 생성해둔 Objects
  • Custom Objects
    • 사용자가 생성한 Objects
  • External Objects
    • 조직 외부에 저장된 데이터와 매핑되어 생성하는 개체
  • Big Objects
    • 매우 큰 규모의 데이터를 처리하기위한 Objects
    • Standard big objects
      • BackgroundOperation : 비동기 작업에 대한 상태, 실행 결과 등을 저장
      • FieldHistoryArchive : 모든 필드 변경 기록을 저장
    • Custom big objects
  • Associated Objects
    • 어떤 Objects와 연관된 Objects
    • 종류
      • (StandardObjectName)Feed
        • 연관된 Feed 데이터
        • ex) CollaborationGroupFeed
      • (StandardObjectName)History
        • 변경 기록
        • ex) CaseHistory
      • (StandardObjectName)OwnerSharingRule
      • (StandardObjectName)Share
      • (StandardObjectName)ChangeEvent

Objects의 특징

Objects는 공통된 필드를 가지고 있다.

  • Identity
    - 레코드를 식별할 수 있는 ID
    • 15자리 대소문자 구분 필드
  • Name
    - 레코드를 사람이 구분하기 쉽도록 하는 이름
  • System Auditing용 필드
    • 자동으로 생성 및 수정이 되고 따로 조작이 필요할 시 salesforce에 문의해야 함
    • CreatedDate
      • 생성한 일시
    • LastModifiedById
      • 마지막 수정한 User의 ID
    • LastModifiedDate
      • 마지막 수정한 일시

Standard Objects

장단점

장점

  • 시간과 비용 절약
    • Objects를 설계하고 만들 필요가 없다
    • Standard Objects에 대한 교육 자료가 많다(Trailhead, udemy 등)
  • 약속된 형식으로 인한 일관성
    • 처음보는 서비스라도 같은 Standard Objects를 사용한다면 의미가 통할 수 있다
    • 같은 Standard Objects를 사용한다면
      • 서로 다른 조직의 데이터 통합 시 고려사항이 적어진다
      • 같은 데이터를 다른 App에서 활용할 수 있다
  • Salesforce가 관리하고 발전시켜온 검증된 개체
    • 오랜시간 설계하고 피드백 받아 개선된 Objects이므로 효율적인 사용이 가능하다
    • 앞으로도 Salesforce에서 유지보수를 해줄 수 있다

단점

  • 제한된 확장성
    • 필드의 추가 및 삭제를 하면 장점이 사라짐
    • 모든 사용자의 요구사항을 만족할 수는 없다
  • 복잡한 Standard Objects들의 관계
    • 교육이 잘 되어있더라도 모든 Standard Objects를 이해하기까지 시간이 오래걸린다

주요 Standard Objects

  • Account
    • 비즈니스와 관련된 회사, 개인 등
  • User
    • 조직(org)의 사용자
  • Contact
    • 회사, 개인 등의 연락처
    • 연관 관계(Field(object) 형식)
      • AccountId(Account), OwnerId(User)
  • Product2
    • 회사에서 판매중인 제품 정보
    • Label은 Products이고 API 명은 Product2
    • Product가 아닌 이유
      • 원래는 Product였는데 API 8 버전부터 사용할 수 없음
    • 연관 관계
      • SellerId(User)
  • Pricebook2
    • 제품에 대한 제품 가격
  • PricebookEntry
    • Product2와 Pricebook2를 연결해줌
    • 연관 관계
      • Product2Id(Product2)
      • Pricebook2Id(Pricebook2)
  • Task
    • 하고있거나 해야할 작업들
    • 연관 관계
      • OwnerId(User)
      • WhoId(Contact, Lead)
      • WhatId(Account, Contact, 등)
  • Opportunity
    • 판매 가능성이 있는 계약 건
    • 연관 관계
      • AccountId(Account)
      • ContactId(Contact)
      • ContractId(Contract)
      • OwnerId(User)
      • Pricebook2Id(Pricebook2)
  • Contract
    • Account에 대한 계약 내역
    • 연관 관계
      • AccountId(Account)
      • ActivatedById(User)
      • CompanySignedId(User)
      • CustomerSignedId(Contact)
      • Pricebook2Id(Pricebook2)
  • Orders
    • 계약한 건에 대한 주문
    • 연관 관계
      • AccountId(Account)
      • ContractId(Contract)
      • ActivateById(User)
      • CompatyAuthorizedById(User)
      • CustomerAuthorizedById(Contact)
      • OpportunityId(OpportunityId)
      • QuoteId(Quote)
  • Case
    • 문의, 불만 등 고객의 문의사항
    • 연관 관계
      • AccountId(Account)
      • ContactId(ContactId)
      • OwnerId(User, Group)
  • CollaborationGroup
    • Chatter 그룹
    • CollaborationGroupFeed
      • Chatter 그룹에서 작성한 Feed
    • CollaborationGroupMember
      • Chatter 그룹에 포함된 멤버
  • Report
    • 어떤 Objects에 대한 데이터 분석 결과
  • Dashboard
    • Report를 차트 또는 표 등으로 시각화한 결과
  • Calendar
    • 일정 등을 관리하기 위한 달력

Objects Supported Calls

Account가 지원하는 명령어

  • create() : 데이터 추가
  • delete() : 데이터 삭제
  • getDeleted() : 특정 시간 이후 삭제된 개체 ID를 검색
  • getUpdated() : 특정 시간 이후 수정된 개체 ID를 검색
  • merge() : 동일 유형 Object의 레코드를 병합
  • query() : 쿼리를 실행하고 기준과 일치하는 데이터 반환
  • retrieve() : 특정 ID 기준으로 검색
  • search() : 데이터에서 텍스트 기반 검색을 실행
  • undelete() : Object 삭제를 취소
  • update() : Object를 수정
  • upsert() : 데이터가 없으면 생성, 데이터가 있으면 수정
  • describeLayout()
  • describeSObjects()

[참고자료]

profile
안녕하세요!
post-custom-banner

0개의 댓글