Wednesday, October 7, 2015

Difference between master-detail relationships and lookup relationships

Difference between master-detail relationships and lookup relationships



Master-detail relationship

Lookup relationship

You can define master-detail relationships between custom objects or between a custom object and a standard object (standard object must be the parent).

You can define a relationship between any two objects, standard or custom.

When a record in a master object (parent) is deleted, all the records in the detail object (child) that are related to that master record will be deleted.

When a parent object is being deleted, you can configure a child object to either clear the parent record value in the child record or prevent deletion of the parent record.

All child records must have a related parent record.

The parent record may not require a related parent record.

The ownership of the child record is determined by the related parent record. Child records do not have an owner.

Each child record has an owner and is not related to the parent record.

The detail record inherits sharing and security from the master record.

There is no security or inheritance between related parent and child records.

To relate an object to another object, no records should exist in the child object.

To relate an object to other objects, there is no condition on the number of records.

If you have the Roll-Up Summary field in the parent object, any create, edit, or delete action in the child record will trigger an edit action in the parent object. If you have a validation rule and other rules in parent object, the validation rules will trigger for the parent object.

You cannot create the Roll-Up Summary field in the lookup relationship using out-of-the-box Salesforce functionality.

Supports cross-object workflow. You can configure a field update action to update a field in the parent record using a value from the child record.

Does not support cross-object workflow.



To create a master-detail relationship for an existing object with records as the child object, you can initially define it as a lookup relationship, populate all parent fields for all records, and then change the relationship to a master-detail relationship.



You can build a many-to-many object relationship using two master-detail relationships in a single custom object, which is known as a junction object in that case. 





Thanks for reading...

0 comments:

Post a Comment

 
| ,