Relationships in ER diagrams for PostgreSQL

Relationships are the connections between tables that establish how data in one table is related to data in another table. Read more about database relationships.

How to create relationships in ER diagram for PostgreSQL

To create a new relationship between two tables in Luna Modeler, click the Relationship button on the main toolbar and then click parent and child tables in your ER diagram.

In this example, click table customer and then table cart.

Two database tables in ER diagram for PostgreSQL.

The new relationship line appears in the diagram and column customer_id is added to the child table cart automatically.

A relationship created between two PostgreSQL database tables

By default, the primary key is used for the relationship. If you wish to change the primary key, select the parent table and modify the primary key.

Creating relationships in case a column already exists in the child table

Since version 7.5, you can easily model new relationships by clicking on a column in a parent table and then on a column in a child table. Luna Modeler automatically uses the primary key (or creates an alternate key in the parent table) and maps the relationship to the selected column in the child table.

In this case, new column will not be automatically added to the child table.

Alternate keys

To create a new alternate key, click the +Add key button in section Keys.

How to add an alternate key to PostgreSQL table

The new key appears in the child table. Click +Add Column to Key and select a column.

Compound keys

In case you need to create a compound key, for example, a key that should contain columns name and surname, repeat the process twice.

Creation of compound keys


To use the compound/alternate key instead of the primary key, select the relationship and navigate to section Key.

How to change key for the relationship in ER diagram for PostgreSQL

Change the value in the key dropdown to the new alternate key name. The tool removes the customer_id column from the child table and adds there both the columns defined in the alternate key: customer_name and customer_surname.

Alternate key used in the ER diagram

Changing the mapping of columns in the child table

In case you want to use another existing column in the child table for the relationship, select the desired column from the drop-down menu in the Keys -> Columns section.


Cardinality settings affect the display of relationships in your diagram. Select a relationship and change values in section Cardinality.

Optional child settings change the appearance of line ending to circle. And if you set cardinality to one, the relationship line will be displayed without the crows’ foot notation graphics.

Cardinality settings for relationships in ER diagrams for PostgreSQL

Primary foreign keys

If you set a foreign key column in a child table to the primary key, the color of the key/graphics changes to blue.

Primary foreign key defined instead of primary key.

Referential integrity

To change referential integrity settings, select a relationship and modify values in section Referential integrity.

Geneated SQL script for the PostgreSQL relationship


To create a self-relationship, click the Relationship item on the toolbar and then click one table in the diagram twice (not double click it, wait a moment before you click the same table again.)

Self-relationship in ER diagram


Quick links

Download Buy Now!

Blog Categories
Blog by Platforms