Building Applications with Force.com and VisualForce (DEV401) (三):Application Essential:Building Your Data Model

Dev 401-003:Application Essential:Building Your Data Model

Object Relationships
1.Link two objects
- Parent to child
- One to Many
2.Two main Types:
- Look up
- Master- Detail
3.Two special types:
- Self
- Many to many

Lookkup Relationships
1.Loosely coupled
- Child field value may be optional
- No cascade delete
- Independent ownership & sharing
2. Maximum 25 look-up relationships per child

Master-Detail Relationships
1.Tightly coupled
- child field value is always required
- Cascade delete
- Inherited ownership & sharing
2.Maximum 2 master relationships per detail object

Let's Compare... Look-up and Master-detail Relationships
Look-up Relationships                     Master Relationships
Up to 25 allowed per object              Up to 2 allowed per object
Parent is not a required field           Parent filed on child is required
No impact on security and access         Access to parent determines access to children
Can be multiple layers deep            Can only be one layer deep(a child of one master-detail relationship cannot be the parent of another)
Look-up field is not required              Look-up field on page layout is required
Both relationship types look almost the same on a page layout:both include a look-up field for the one side and related list for the many side.

Relationships and Reporting
Relation Type RelationTypeStandard Report TypesReport Type Category
LookupObject by itselt object with first lookupBased on the object
Object with second lookup
Object with third lookup
Master-DetalObject by itselt object with first lookupMaster object
Object with second lookup
Object with third lookup
Many-To-ManyPrimary master object by itself Secondary       Primary master object and
master object by itselfSecondary master object
Primary master object with junction
Object and secondary master object
Secondary master object with junction
object and primary master object

Exercise 2-3:Creating lookup Relationships
1.Goal:
- Create lookup relationships to connect objects to one another.
2.Scenario:
- Universal Containers needs to be able to see which Job Applications are related to each Position. Additionally, they need 
to see which Hiring Managers are related to each Position.
3.Tasks:
- Create a lookup relationship between Job Application and Position
- Create a lookup relationship between Position and Hiring Manager.

Self Relationships
1.A self relationship is a lookup relationship to the same object.
- Example: it is possible to create a lookup relationship from Position to Position
2. the User object has a special type of lookup relationship:the hierarchy relationship.For example, a hierarchy 
relationship allows developers to create a manager field on the User object to relate another user.

Many-to-many Relationships
1.Allow for the relationship of two object in a many-to-many fashion
- Candidates may apply for many position by submitting a job application fro each position
- A position may have many candidates apply.
- Implementing a many-to-many relation requires a third junction object.

Junction Objects
1.When modeling a many-to-many relation, you use a junction object to connect the two objects you want to relate to each 
other.
2.A junction object is a custom object with two master-detail relationships.
3.When  creating a junction object, consider the following:
- Name the object with a label that indicates its purpose.
- Use the auto-number data type.

Exercise 2-5:Creating a Custom Junction Object.
1.Goal:
- Create a Many-to-Many Relationship between Position and Job Posting Site.
2.Scenario:
- Universal Containers will have many positions advertised on various job posting sites. They want to be able to connect and 
manage those records within Salesforce.
3.Tasks:
- Create a new custom junction object.
- Create the master-detail relationships of Job Posting with Position and Job Posting Site.

Module Review
1.What is a custom object?
2.List examples of custom field types.
3.True or false:if a field is set to "universally required," users will be required to populate it when loading data 
through the API.
4.List the for types of custom relationships that can be built in the force.com platform and describe the differences 
between them.

原文地址:https://www.cnblogs.com/shgq/p/3257252.html