Part VI: Data modelling for the blog app

Our basic data requirements are as follows:

  • Storing the profile data of each user
  • Storing the article data and the author of each article
  • Storing the likes given by users to articles
  • Storing the comments written by users on articles

Create tables

As you would normally do with any relational database, data is modelled as tables.

Table Columns
author id, name
article id, title, content, rating, author_id
like user_id, article_id
comment id, user_id, article_id, comment

Note: If you are using the hello-world quickstart, the tables author and article have already been created via migrations

You can create tables via the API console. Head to Data -> Add Table.

Create Table like:

../../../_images/tutorial-create-table-like1.png

Create Table comment:

../../../_images/tutorial-create-table-comment1.png

Create the author and article tables similarly if not already created.

Add foreign key constraints:

After creating the tables, the following foreign key constraints need to be set up to complete our data modelling:

  • article::author_id -> author::id
  • like::article_id -> article::id
  • comment::article_id -> article::id

To add foreign key constraints, click on the table, go to the Modify tab and edit the columns for which you wish to add foreign keys.

Adding a foreign key constraint to the article_id of the like table:

../../../_images/tutorial-modify-table-like1.png

Similarly, add the other foreign key constraints.

Next: Explore the data APIs

Next, head to Part VII: Explore the data APIs.