# Many-to-Many Relationships
# Introduction to Many-to-Many Relationships
A many-to-many relationship in databases occurs when multiple records in one table are associated with multiple records in another table. This kind of relationship often requires a third table, known as a junction, associative or joining table (depending on who you ask). For this class, I will use the term joining table. The joining table is used to break a many-to-many relationship down into two one-to-many relationships.
Let’s explore this concept with a new set of tables for books and authors that represent a many-to-many relationship.
# Authors Table:
| AuthorID | AuthorName |
|---|---|
| 1 | Luna Bellatrix |
| 2 | Orion Stardust |
| 3 | Celeste Moon |
# Books Table:
| BookID | Title |
|---|---|
| 101 | Whispers of the Galaxy |
| 102 | Secrets of the Eclipse |
| 103 | Shadows in the Cosmos |
| 104 | Starlight Symphony |
| 105 | Moonlit Myth |
# BooksAuthors Joining Table:
| BookID | AuthorID |
|---|---|
| 101 | 1 |
| 102 | 2 |
| 103 | 2 |
| 103 | 1 |
| 104 | 3 |
| 105 | 3 |
In the BooksAuthors table, both BookID and AuthorID are used together to create unique combinations, allowing for the representation of multiple authors per book and vice versa.
# Understanding the many-to-many Relationship
First One-to-Many: Each record in the
Authorstable can be linked to multiple records in theBooksAuthorstable. For example, AuthorID 2 is linked to BookID 102 and 103. This is a one-to-many relationship from Authors to BooksAuthors.Second One-to-Many: Similarly, each record in the
Bookstable can be linked to multiple records in theBooksAuthorstable. For instance, BookID 103 is linked to AuthorID 1 and 2. This is another one-to-many relationship, but from Books to BooksAuthors.The Many-to-Many: These two one-to-many relationships combine to form a many-to-many relationship. An author can write multiple books, and a book can be written by multiple authors. The
BooksAuthorstable serves as a bridge, linking each book to one or more authors and each author to one or more books.
# Lessons
- SQL - W7 Many-to-Many Relationships
- Next: SQL - W7 JOIN Tables with Many-to-Many Relationships
- SQL - W7 Table Aliasing
- SQL - W7 Practice Assignment