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.
Share with us in the comments section below. And to upgrade your Salesforce Org with latest features and updates, Talk to our team at Tecnovators, a one-of-a-kind Salesforce consulting partner delivering pay-as-you-use On demand services for Salesforce.
Also, you can give us a call at 313-209-7137 or email us at info@tecnovators.com