# Data Modeler - UI Walkthrough

Astera Data Stack contains a built-in data modeler that you can use to create a data model from scratch or by reverse engineering an existing database. In this article, we will cover a detailed overview of the data modeler’s user interface.

### Video

{% embed url="<https://youtu.be/9eoYQwlOjks>" %}

### Overview

Let’s assume that we’ve created this data model by reverse engineering an existing database:

<img src="/files/mUERKtRdiGvqkPTY8Min" alt="01-sample-data-model" width="563">

### Toolbar

The data modeler contains a dedicated toolbar that provides an extensive list of options.

![02-data-model-toolbar](/files/ZB3Nu2QJYYRTDIzK4J8k)

You will find the following options or shortcut icons on the toolbar, from left to right.

*Zoom*: A dropdown menu that allows you to zoom in or out of a model.

*Auto-Size All*: Adjusts the size of each entity object.

*View at an Entity Level*: Reverts to the default setting of displaying only entity names on the data modeler.

*View Entity and all Elements*: Displays all of the elements or fields in each entity present in the model.

<figure><img src="/files/97xd4eMXHrxHcwfj8I4O" alt="" width="560"><figcaption><p>03-view-entity-and-all-elements</p></figcaption></figure>

*View Entity and Keys*: Displays all of the primary and foreign keys in each entity present in the model.

<figure><img src="/files/xAz0nt1h02HYMbRkezoj" alt="" width="563"><figcaption><p>04-view-entity-and-keys</p></figcaption></figure>

*Show or Hide Items*: Displays only the selected entities in the model.

<figure><img src="/files/ce3S6ZEf7I8WXBfCllIl" alt=""><figcaption><p>05-show-or-hide-items</p></figcaption></figure>

*Show Alias Labels*: Displays the parent and child alias on each relationship link in the model.

<img src="/files/vSalmKpZ3CHyvjVT1mcd" alt="06-data-model-aliases" width="563">

*Show Verb Labels*: Displays the parent-to-child and child-to-parent verbs, if assigned by the user, on the relationship link. You can assign these verbs to each relationship via the *Edit Relationship* window.

*Show Data Types*: Displays the data types of each field in an entity. This option is only applicable if one of the following options has already been selected: *View Entity and all Elements* or *View Entity and Keys*.

![07-view-data-types](/files/1MuPfX7fI5du4FduTIuk)

*Add Self Reference*: Allows you to create a self-reference relationship within an entity. To learn more about how you can use this option, click [here](/data-model/data-models/creating-and-editing-relationships.md#self-reference).

*Link entities to create non-identifying relationships*: Allows you to create non-identifying relationships between entities. To learn more about how you can use this option, click[ here](/data-model/data-models/creating-and-editing-relationships.md#non-identifying).

*Link entities to create identifying relationships*: Allows you to create identifying relationships between entities. To learn more about how you can use this option, click [here](/data-model/data-models/creating-and-editing-relationships.md#identifying).

*Manage all relationships in data model*: Allows you to manually mark relationships as identifying or non-identifying.

*Pointer*: Reverts back to the default pointer in case you had selected one of the options used to link entities and create relationships.

*Infer Relationships from Field Names*: Automatically assumes and creates relationships based on common field names between entities.

*Denormalize Entities*: Enables you to denormalize or combine two entities in the model.

*Deploy Data Model*: Enables you to deploy a data model. For more information on deploying a data model, click [here](/data-model/deployment-and-usage/deploying-a-data-model.md).

*Change Database Connection Info*: Allows you to change the database connection of the model via a *Database Connection* window.

<img src="/files/rZ9VJKqOBim3j0iilgcb" alt="08-database-connection" width="563">

*Bulk Operations*: *Allows you to perform actions on multiple data model entities at once, such as filtering or updating attributes.*

<figure><img src="/files/2382YiszIBiuarT19HaM" alt="" width="563"><figcaption><p>09-bulk-operations</p></figcaption></figure>

*Reverse engineer an existing database*: Allows you to create a data model by reverse engineering an existing database. To learn more about the process of reverse engineering, click [here](/data-model/data-models/reverse-engineering-an-existing-database.md).

*Forward Engineer an existing database*: Allows you to create a DDL script from a data model.

*Povider*: Select the database provider to connect to your data source (e.g., SQL Server, PostgreSQL, Snowflake).

### Toolbox

The toolbox includes a few objects which can be used as part of a model.

<img src="/files/JsFYpLQTS1wVwU5U6uWU" alt="10-data-model-toolbox" width="263">

You can drag and drop any of these objects onto the data modeler.

*Annotation*: Provides a textbox for you to add a comment on the model.

*Date Dimension*: A non-editable date dimension entity that can be used as part of a dimensional model.

*Entity*: An editable general entity that can be added to an existing data model or used to create a data model from scratch. To learn about general entities, click [here](/data-model/data-models/general-entity-properties.md).

Time Dimension: A non-editable time dimension entity that can be used as part of a dimensional model. For more information on date and time dimensions, click [here](/data-model/dimensional-modelling/date-and-time-dimension.md).

### Data Model Browser

The data model browser provides a single window for you to edit the data model and its components without having to look through the entire model and access the entities directly.

<img src="/files/fNpDPH6JZp0YsAHQbq4C" alt="11-data-model-browser" width="293">

You can expand each entity to view the elements contained in it.

<img src="/files/rwiOOYRfoi5zJMhL4E8B" alt="12-data-model-browser-entity-elements" width="290">

Moreover, you can right-click on an entity name and choose to go to the actual item in the data model.

<img src="/files/jfrgjWEG77xf6jerO3aR" alt="13-data-model-browser-context-menu" width="279">

The other options available in the context menu are the same as those that appear when you right-click on an entity in the data model.

<img src="/files/HvEJbg3AoYqUfJRsJTjw" alt="14-entity-context-menu" width="336">

At the very top of the data model browser, a few options/icons are available.

<img src="/files/anzCd0u1ZIS82EZW3Z83" alt="15-data-model-browser-options" width="293">

*Sort Entities Alphabetically*: Sorts the entity names in an alphabetical order. This option is selected by default.

*Group Entities by Type*: Creates separate nodes for each entity type. In this case, there’s only going to be one node, *General*, if this option is selected.

*Group Entities by Schema*: Organizes entities under nodes based on their database schema (e.g., dbo, sales).

*Expand All*: Expands all of the nodes in the data model browser.

*Collapse All*: Collapses all of the nodes in the data model browser.

*Delete this object from the data model*: Deletes the selected object from the data model.

You can use the search bar underneath these options to search for any specific entity or field in the model.

### Views

At the bottom of the data modeler, you’ll notice a tab titled *Main* and an icon that represents the *Add New View* option.

<img src="/files/sRqthAtEkFb6iJj41KZv" alt="16-data-model-views" width="563">

The *Main* tab contains a view of the complete data model. If you wish to add a new view consisting of a few specified entities, click on the *Add New View* icon. A blank designer will appear on the screen. Here, you can create a new view by adding entities from the existing model, which can be done in two ways.

1. &#x20;Drag and drop the entities of your choice from the data model browser.

<img src="/files/7kP9ZguD4gHJPeivocvx" alt="17-view-data-model" width="563">

2. &#x20;Right-click on the designer and select *Add Existing Entities* from the context menu.

![18-data-model-context-menu](/files/mLNzxMupmiakO2ctBBTN)

The following pop-up window will appear on the screen:

![19-add-entities-new-view](/files/WX6jc0m1QMCht4lYpRr8)

Here, you can select the entities you want to include in the new view. In this case, we’ll select *People*, *Invoices*, and *InvoiceLines*.

![20-add-new-entities-new-view](/files/kQ36Xz5gsbL015n4lbDQ)

Once you’re done selecting the entities, click *OK*.

A new view consisting of the selected entities will appear on the screen.

<img src="/files/cHarON0j4S8fY2VtUQ22" alt="21-data-model-new-view" width="511">

Using the tabs at the bottom, you can switch between different views of the same model.

This concludes our walkthrough of the data modeler’s user interface.

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.astera.com/data-model/data-models/data-modeler-ui-walkthrough.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
