DEV Community

Cover image for Object Relationships Intro
Terry Threatt
Terry Threatt

Posted on

Object Relationships Intro

When you are constructing object-oriented programs in programming. You will run into a need to model your related objects/data and save them to a database in a way that is both useful and expressive.

Understanding object relationships will help you identify the proper connections you need to make when modeling your objects in your code.

These connections make your programs easy to understand for other programmers and make your program very extensible.

Object Relationships

Object relationships are the technique of creating hierarchy, relations, and communication with complex data types in your code. Software like Object Relational Mapping Systems and Relational Database Management Systems make it possible to utilize organized classes of objects in your code to create object relationships.

UML (Unified Model Language) is a great tool to learn to construct object relationships.

UML

Here are 3 important object relationship types:

One to One Relationship

A one-to-one relationship is an association of one object class instance to one single instance of a different class object.

// Example:
Credit Card 
has_one: Credit Card Number 

Credit Card Number 
belongs_to: Credit Card
Enter fullscreen mode Exit fullscreen mode

One to Many Relationship

A one-to-many relationship is an association of one object class instance to many instances of a different class object.

// Example:
Customer
has_many: Orders 

Order
belongs_to: Customer 
Enter fullscreen mode Exit fullscreen mode

Many to Many Relationship

A many-to-many relationship is an association of many object class instances to many instances of a different class object.

// Example:
Product 
has_many: Customers

Customer 
has_many: Products 
Enter fullscreen mode Exit fullscreen mode

Let's chat about object relationships

We learned some important parts to object relationships and now understand 3 important object relationship types. If you enjoyed this post feel free to leave a comment about your thoughts and experiences working with object relationships.

Happy Coding,
Terry Threatt

Top comments (0)