Relationships between tables/views¶
Table of contents
Introduction¶
To make nested object queries, the tables/views in your database need to be connected via relationships.
Let’s say we have the following tables in our database: authors
, passport_infos
, articles
and tags
.
Table relationships¶
The tables/views in any relational database are typically related to each other via one of the following types of table relationships:
Type | Example | Meaning |
---|---|---|
one-to-one |
authors and passport_infos |
|
one-to-many |
authors and articles |
|
many-to-many |
articles and tags |
|
GraphQL schema relationships¶
Each table relationship, as you can see from the above section, will have two component relationships (one in either direction) in the GraphQL schema. These relationships can be one of the following types:
Type | Example | Meaning |
---|---|---|
object relationship (one-to-one) |
an article can have one author |
an article object will have a single nested author object called author |
array relationship (one-to-many) |
an author can have many articles |
an author object will have an array of nested article objects called articles |
Note
The relationship name is used to refer to the nested objects in queries. For example, “articles
” of an author
and “author
” of an article
.
Managing GraphQL relationships¶
See the following to manage the object/array relationships between tables/views for the GraphQL schema:
Table relationships modelling guides¶
The following guides will help you model the different types of table relationships in the database:
- Modelling one-to-one table relationships
- Modelling one-to-many table relationships
- Modelling many-to-many table relationships