Ellie User Guide - the basics
- 1 Getting started
- 2 Accessing models
- 3 The Modeling Canvas
- 3.1 Canvas layout and toolbar
- 3.1.1 Top bar
- 3.1.2 More actions toolbar
- 3.1.3 Bottom toolbar
- 3.2 Adding entities to a model
- 3.3 Drawing relations
- 3.4 Adding text to relationships
- 3.5 Changing elements' size
- 3.6 Relationship types and cardinalities
- 3.7 Entity Subtypes
- 3.8 Entity types
- 3.9 Setting an entity type
- 3.10 Linked entities
- 3.11 Entity groups
- 3.1 Canvas layout and toolbar
- 4 The Logical Modeling Canvas
- 5 The Physical Modeling Canvas
- 6 Folders and Sublossaries
- 7 User management
- 8 Hints, tips & best practices for creating good models
Getting started
Ellie runs in the cloud; no installation is required. Just open your favorite web browser and navigate to your organization’s Ellie instance. Usually, the URL is in the form of https://yourorganization.ellie.ai .
There are two options for logging in:
Log in with your Ellie account: you can have an Ellie account created based on your email address. Enter your email address as your username, your Ellie password, and click Login. If you don’t know your password or have forgotten it, you can also reset your Ellie account’s password from the login page by clicking on the Reset password button.
Log in with your SSO provider: if your organization has enabled Azure Active Directory or Okta user management in Ellie, you can use the Login using Microsoft or Login using Okta button to log in with your Microsoft/Okta credentials. Note that usually your Microsoft/Okta account is entirely managed by your own IT department; if either of these login options is used in your organization, you cannot change your account details or reset your password from Ellie. If you’re unsure whether or not the Microsoft or Okta account login has been enabled in your organization, please check with your own Ellie admins.
Accessing models
Models in Ellie can be accessed in multiple ways.
The front page displays a list of recently updated models. Selecting a model from this list opens it directly in the modeling canvas.
Models are also organized into folders, which can be browsed using the left-hand sidebar. Both personal and organization folders are supported. Each folder may contain its own sub-glossary and a set of associated models.
New models are created from within a folder by selecting the blue Create + button in the top-right corner. The available options under Create Model include:
Whiteboard
Conceptual Model
Logical Model
Physical Model
The Create Entity menu allows the creation of Conceptual and Logical entities.
Model types are color-coded as follows:
Blue: Conceptual
Grey: Logical
Purple: Physical
The Modeling Canvas
Canvas layout and toolbar
The modeling canvas in Ellie is divided into three main areas: the top bar, the bottom toolbar, and a contextual panel.
Top bar
The top bar is split into two sections:
Top left:
Global navigation: Includes the Ellie logo, sidebar toggle (≡), and the search.
Ellie logo: Returns to the dashboard.
Sidebar toggle (≡): Opens the navigation panel.
Search: Opens the global asset search.
Folder and model name: Displays the current folder path (clickable for quick navigation) and model title with a model type label (e.g., CM, LM).
Top right:
+ (Add Entity): Opens the entity creation/search panel, which allows searching for existing entities or creating new entities. This panel includes:
A search bar for finding glossary entities defined in the folder’s settings
Options to create new conceptual or logical entities (depending on context and permissions)
Model status: Indicates the current workflow stage of the model (e.g. Work in Progress, Approved). The setting is informational and does not affect permissions.
More actions: A set of action buttons for common tasks (e.g., version history, model conversion, export, share). Additional options are available via the more actions (⋯) menu.
More actions toolbar
Model history: Enters the versioning view, where you can switch between snapshots — both autosaved and manually created. A filter lets you include or exclude automatic snapshots. To exit, use the X button or the Back to model button at the bottom.
Convert model: Allows converting models between levels: Conceptual → Logical, Conceptual → Physical, and Logical → Physical.
Export model offers several export formats:
Entities, attributes, and relationships as CSV files
The canvas as a PDF or PNG image
The model structure as a DBT YAML file
Model info expands into a collapsible panel that includes:
Model Info: Displays the model name, unique ID, and a text field for model description.
Last edited: Shows the edit history including dates and editor names.
Relationship types: A reference table showing relationship notations, their visual representations, and meanings.
Entity types: A reference list of available entity types and their assigned colors.
SQL export (physical model): Exports SQL for Snowflake or Fabric. Requires the correct DB engine set in Model Info.
The three vertical dots icon (also called a kebab menu) opens a small menu with options to Copy, Share, or Hide comments on the canvas.
Bottom toolbar
The bottom edge of the canvas contains persistent controls, split into two sections:
Bottom left: Navigation tools
Minimap: Opens a miniature overview of the model for easy navigation in larger canvases.
Zoom out / Fit to View / Zoom in: Controls the canvas zoom level. Fit to View automatically adjusts the view to include the full model.
Bottom center: Modeling tools
Undo / Redo: Reverses or re-applies the user’s latest actions. These only affect the actions of the current user.
Textbox (T): Adds a free-positioned text box to the canvas, which can be resized and moved. Useful for notes or instructions. Click the icon to enable the tool, then drag to create a text box anywhere on the canvas.
Autodraw: Automatically arranges the model layout to improve readability — no changes to the model itself.
Group: Adds a group box to visually organize entities that belong together. You can also give the group a name. Click the icon to enable the tool, then drag to create a group anywhere on the canvas.
Comment: Enables commenting mode for adding inline comment boxes and viewing all comment threads in the right-side panel. Comments move elements if placed on top of them. Click the icon again or press Esc to exit commenting mode.
Adding entities to a model
To add entities to a model, users with edit access can click the + (Add Entity) button in the top-right corner of the canvas. This opens a panel that includes a Search or Create Entity field.
There are two options:
Add existing entities: Typing a name will show matching entities from glossaries that are available in the folder (based on folder settings). Selecting one will place it on the canvas.
Create new entities: If the typed name does not match any existing entity, pressing Enter will create a new entity in the current folder’s sub-glossary and place it on the canvas. For the Logical and Physical levels, it is possible to create entities that would exist just on the model (local entities). At the conceptual level, all entities will belong to some glossary.
Note: The search covers both the folder’s own sub-glossary and any additional glossaries configured to be visible in that folder.
Entities created this way are automatically assigned the default entity type set by your organization. Admins can configure default types and the full list of available types in the organization settings (check this guide for more details).
Drawing relations
Once entities have been placed on the canvas, relationships between them can be created by drawing lines from one entity to another.
To create a relationship:
Hover over the border of a source entity
Click and drag a line to the border of the target entity
A relationship line will appear, defaulting to a one-to-many relationship. This can be modified after it has been placed.
Right-click on the end of the relationship line (where it connects to the entity)
Select a new relationship type from the context menu
Adding text to relationships
You can add descriptions directly to relationship lines.
Click on the relationship line where you want the label to appear. This adds an elbow (a small corner point).
Right-click the elbow and select Description.
Enter your label text. It will be displayed on the canvas.
Relationship labels can be repositioned relative to the elbow. Drag the label to one of four positions: top, bottom, left, or right.
Changing elements' size
When you move your mouse cursor on top of a canvas element (entity, group, textbox), corners appear. Click and drag on the corners to resize the element.
Relationship types and cardinalities
When a relationship is first drawn between two entities, it is created as a one-to-many relationship by default.
Ellie uses crow’s feet notation to represent cardinalities:
A straight line indicates “one”
A three-pronged line (the “foot”) indicates “many”
For example, a one-to-many relationship from A to B means:
Each A is related to many B, and each B is related to one A.
After creating a relationship, its type can be adjusted by right-clicking on either end of the line and selecting from the available options.
The available cardinality types include:
One: Exactly one
Many: An unspecified number greater than one
Exactly one: Fixed cardinality of one
One or more: At least one (mandatory many)
Zero or one: Optional, at most one
Zero or more: Optional, possibly many
Arrow: A directional link without cardinality (used for reference or flow)
These options allow the modeler to express both structure and business rules more precisely.
Entity Subtypes
Entities can have subtypes. Let’s look at an example of a travel agency industry to illustrate subtyping in Ellie.
Hotel Booking and Flight Booking are subtypes of Booking. Customer and Booking Notification are related to the main entity Booking, and Flight Booking and Hotel Booking have their own relationships.
This kind of notation is used by e.g. Len Silverston in his Universal Data Models books, and by Graeme Simsion in his book Data Modeling Essentials.
In our experience, people can understand this notation quite intuitively. You can find a more detailed explanation of subtypes in Ellie from our Modeler’s Corner blog post subtypes in data modeling.
Entity types
The idea of entity types in Ellie is to make models more readable, faster to build, and easier to add information about the nature of the data you are seeing. This is based on the notion that there are certain similarities between data entities, even across different industries. We have seen that a simple categorization of entities helps here. This should be considered a “best practice style” that can be used on top of a normal conceptual model.
The entities are by default divided into six classes: Master data, Contract, Transaction, Reference, Transaction header, and Transaction detail.
You can find more information on Ellie’s Entity types from our Modeler’s Corner blog post on entity types. Note that the entity types are also completely customizable - your own organization’s Ellie admin can change the type options and their colors by following this guide.
Setting an entity type
Right-click on an Entity. Choose the Entity type from the context menu, and you’ll see a list of the available types and can select a new one. Note that this changes the entity’s type in the Glossary, not just on this particular model’s canvas - the change will be visible on all models that contain this entity!
Linked entities
When you use an entity from another glossary within a model, it will appear on the canvas in italic font, indicating that this is a linked entity rather than one created in the active folder's glossary. This visual cue helps distinguish entities that originate from other folders or domains.
If you hover over the name of a linked entity, a tooltip will display the folder from which the entity originates, providing quick context about its source. If you lack write access to this entity, you won’t be able to change its Entity Type on the canvas, as modifying this attribute would impact the entity’s metadata across all models where it is used.
Entity groups
Entity Groups allow you to organize related entities visually and logically within your model. By grouping entities, you simplify navigation, enhance collaboration, and make your data model easier to understand and manage.
Key Features
Group Multiple Entities - Select and group related entities to reflect logical or physical relationships in your data model.
Move as One - When entities are grouped, they—and their internal relationships—move together on the canvas.
Model-Wide Support - Groups can be created in Conceptual, Logical, and Physical models.
Creating a Group
Group button from the toolbar
Give your group a name (optional but recommended for clarity).
Managing Groups
Add to Group: Drag and drop entities into an existing group.
Remove from Group: Drag the entity out of the group.
Rename Group: Double-click the group name.
Delete Group: Right-click the group container and choose “Delete Group” (entities will remain on the canvas).
How Groups Behave
Entities inside a group retain their relationships.
Moving the group moves all included entities and relationships.
Groups are non-hierarchical: no groups within groups (yet!).
Best Practices
Use groups to represent business domains, modules, or subsystems.
Name your groups to make their purpose clear to collaborators.
Keep groups focused—avoid cramming unrelated entities together.
The Logical Modeling Canvas
Logical Models in Ellie are meant for designing more technical data structures for your individual data products. Often, they could be structured according to e.g. a Star Schema model. The logical models can be converted from existing conceptual models, and the logical entities themselves can be linked with conceptual entities to maintain a semantic understanding of the data content.
Creating logical models
The steps to create a Logical Model (or LM for short) or a Conceptual Model (or CM for short) are the same.
You can create a CM or an LM from the Dashboard by clicking on the + sign right next to Models on the left.
Or you can navigate to the Model List View, where on the sidebar, you have three buttons: New Folder, New Logical Model, New Conceptual Model.
After clicking on the New Logical Model button, you will be navigated to a form where you can set the name and the description of the logical model.
After typing in a valid name for the model (duplicate names are not allowed), the Create Logical Model button will be enabled. After that, you are transported onto the Logical Modeling Canvas where the editing of the model will now commence.
Overall, the LM canvas functions very much like the CM canvas. The main differences are in how entities are added, and the lack of a separate sidebar here.
Adding logical entities to the canvas
Click on the Add Entity button in the top-right corner of the canvas to start adding entities to your logical model. The logical entities are not part of the Glossary - they exist only within the scope of a single logical model - so they can’t be searched for or reused.
When the Add Entity button is clicked, a modal opens where you can give the entity a name and add attributes to it. You can also mark attributes as primary (PK) or foreign (FK) keys, and link the logical entity with existing conceptual entities in the Glossary.
You can add as many attributes as you like by pressing Enter on your keyboard when typing an attribute name: this creates a new attribute row, and you can keep typing your next attribute. Use the checkboxes to mark attributes as PK/FK.
When you’ve added some attributes, you can use the checkbox on the left to select one or more of them, and then delete the selected attributes by clicking on Delete selected attributes at the top.
Press Create Entity at the bottom to create the entity on the canvas, or Close (or the X in the corner) to cancel.
Editing logical entities
Here is what a logical entity will look like on the LM Canvas. It will be placed in the center of the Canvas, so if you create multiple entities, they will appear on top of each other - move them around if needed!
You can edit the entity by clicking on the Edit button, or you can click on the trashcan icon to delete the entity.
The entity edit modal that opens from the Edit button is similar to the modal when creating new logical entities, and allows you to do the same actions.
Editing model info
This is a simple dialog where you can change the name and the description of the logical model. You will immediately see the changes when you press Save.
Just like in a Conceptual Model, you can also create relationships between Entities in a Logical Model.
Let's show that by creating a secondary Entity and connecting the two.
By hovering your mouse over the edge of an Entity, it will change into a crosshair, and you can press your left mouse button down and start dragging toward the edge of another Entity to create a Relationship.
A dashed line will appear between the two Entities, and after you release the left mouse button, a One to Many Relationship will be formed.
If you right-click on the relationship’s “crow’s foot” symbol, you will be able to change the Relationship Type or Delete the Relation. If you click on Relationship Type, you will see a sub-context menu with the usual Relationship arrows.
When your Logical Model has at least one Entity or more, you will see that the Export button is enabled.
You can use it to
Export Entities
Export Attributes
Export Relations
These will come out in the .CSV format
The format of the filename will be
{OrganizationName}-{ModelName}-{TypeOfExport}-{DateInYYYYMMDDFormat}.csv
Such as
exampleOrganization-New Logical Model Created For Tutorial 2-entities-2022-01-31.csv
exampleOrganization-New Logical Model Created For Tutorial 2-relationships-2022-01-31.csv
exampleOrganization-New Logical Model Created For Tutorial 2-attributes-2022-01-31.csv
Use these in the application of your choice.
You can also use the Model Export API to export logical model data, just like you can do with the conceptual model data. You can find more information on the APIs here.
The Physical Modeling Canvas
Ellie's Physical Modeling Canvas is designed for creating representations that closely mimics the structure of an actual data warehouse. This involves defining tables, columns, and the relationships among them using foreign key constraints. The physical model can be converted from a conceptual model, a logical model, or designed from scratch.
Future updates will include functionality for importing structures directly from existing data warehouse databases. Tables can be linked with conceptual entities to enhance the semantic understanding of the data.
Adding Tables to the Model
To add tables to your model:
Click on "Create table" located at the top right sidebar.
Enter the name of the table in the provided field and press Enter.
Editing Tables
To modify a table:
Click the Edit table icon located at the top right of the table's representation on the canvas. This action opens the table details window.
The editing interface includes the following fields:
Entity Name: Specify the name of the table.
Entity Description: Provide a description of the table.
Columns: Manage the columns within the table.
Glossary Links: Associate glossary terms with the table.
Managing Columns
Adding Columns
To add a new column: In the column editor, either click "+ New attribute" or press Enter after typing the column name.
Column parts
Each column consists of several parts:
PK (Primary Key): Indicates if the column is part of the primary key. Activating PK on multiple columns creates a composite primary key. Primary keys automatically enforce uniqueness and not-null constraints.
FK (Foreign Key): Indicates if the column is part of a foreign key constraint. This attribute is read-only and can be toggled off only for draft foreign keys (indicated by an orange color).
Name: The column's name, which must be unique within the table.
Data Type: Select from a list of predefined data types or use a custom data type. Ensure the data type is supported by your data warehouse.
Not Null: Ensures that the column cannot hold a null value.
Unique: Ensures that all values in the column are unique.
Default: Sets a default value for the column.
Description: Provides a non-exportable description to aid other modelers.
Modifying Column Order and Deletion
To reorder columns, use the six-dot icon located at the beginning of the row. Click and drag to adjust the order.
To delete a column, click the trashcan icon next to the column details.
Establishing Relationships Between Tables
Suppose you have two tables: Product and Customer. To add a foreign key constraint between these tables, you can establish a relationship starting from the table containing the primary keys and extending to the table with the foreign keys.
Creating the Relationship:
Initiate the Relationship Editor: Drag a connection from the table with the primary keys to the table with the foreign keys. This action will open the relationship editor.
After dragging a relationship editor opens.
Configure the Relationship:
In the dialog that appears the table with the primary keys is displayed on the left side and the table with the foreign keys is on the right side.
To set up the foreign key constraint, select the primary key(s) from the left and the corresponding foreign key(s) from the right.
Note: To create a composite foreign key constraint involving multiple columns select the appropriate keys from both sides. These will be combined into a single constraint.
Draft relationships and managing relationships
When transitioning from a conceptual or logical model to a physical model, all relationships are initially highlighted in orange. This signifies the presence of a relationship but the absence of enforced foreign key constraints.
Adding Foreign Key Constraints:
Ensure that all necessary data types and columns (both primary and foreign) are defined in your tables.
To modify the relationship, right-click on the relationship line and select "Edit Relationship" from the context menu. This will reopen the relationship editor where you can add or adjust foreign key constraints.
This manual aims to guide you through the process of defining and troubleshooting relationships between tables in your database model, ensuring data integrity and relational logic.
Troubleshooting Relationships:
Color Indicators: If the relationship line is marked with an orange color, this indicates an issue, such as a mismatch in data types between the primary key and foreign key. To identify the specific problem, hover your mouse over the relationship line.
Glossary
Conceptual entities from the glossary can be linked to physical model tables. Select conceptual model entity by writing its name and selecting from the list of glossary entities.
SQL generator
On the right hand side there is a SQL Generator. To generate a SQL presentation of the physical model press generate. Note: The SQL does not update automatically. Whenever you want to generate a new presentation, press Generate.
To copy the SQL from Ellie, press copy.
Currently the SQL is in Snowflake format, but we will be adding support for more databases in the future.
Importing SQL
To export SQL DDL statements from Snowflake, please follow these steps:
Log into your Snowflake account.
Click on “Create new worksheet” located in the top left corner.
If you are unable to create worksheets, please contact your company’s Snowflake administrator for assistance.
Write the following SQL statement to retrieve the DDL for the desired schema:
SELECT GET_DDL('SCHEMA', '<database>.<schema>');
For example:
SELECT GET_DDL('SCHEMA', 'ELLIETEST.PUBLIC', TRUE);
Execute the statement by pressing the play button in the top right menu bar.
Once the results are displayed, click the download button in the bottom right corner.
From the menu, select “Download as .csv”. The SQL DDL statements will be saved to your hard drive.
To import the SQL into Ellie,
Click “Create new model” and select "Physical Model".
In the dialog that opens, select “Upload a file”.
Choose the file from your hard drive containing the SQL DDL statements.
The SQL DDL statements will appear in the dialog.
Click “Create new model” to finalize the creation of the new model.
Folders and Sublossaries
Overview
Ellie’s folder structure organizes models and glossaries, allowing users to create folders and subfolders to categorize models based on projects, domains, or departments. Each folder can contain its own sub-glossary, which lets users define terms specific to the folder’s focus while maintaining access to the organization-wide glossaries. See how subfolders and subglsosaries work in practice in this video Enterprise Data Management: Introducing Subfolders & Sub-glossaries in Ellie.
Creating and Managing Folders
To create a new folder:
Navigate to the Parent Folder: Access the folder under which you want to create a new subfolder.
Click on the Create Button: Select the option to create a new folder.
Configure Folder Settings: In the folder settings, you will find three tabs:
General: Enter the folder name and an optional description.
Glossary: Set up glossary settings, including:
Whether the folder has its own glossary.
Which other glossaries to suggest entities from when modeling in this folder.
Restrictions on which glossaries can be shown in the search or create bar during modeling.
Permissions: Define who has access to view or edit the folder and its contents.
Save the Folder: Once configured, save the folder to add it to your hierarchy.
More information on the Folder settings can be found in our Folder User Guide - Working with folders and glossaries
Using Sub-glossaries in Folders
Each folder can have its own sub-glossary. This sub-glossary allows you to create entities specific to the models within that folder without affecting the organization-wide glossary. This is helpful for managing terms that may differ across projects or domains.
To add terms to a sub-glossary:
Open the desired folder.
Press Create button.
Press Create Entity button.
Terms added here will appear only within the folder’s sub-glossary unless used as linked entities in folders of other models.
Working with Linked Entities
Models within a folder can access terms from the organization-wide glossary or from other folders. When an entity from a different glossary is added to a model, it appears in italic font on the canvas, signaling it is a linked entity.
Viewing Source Folder: Hover over the entity name to see the folder from which it originates.
Editing Linked Entities: If you have only read access to the linked entity, you cannot change its entity type or other metadata to avoid affecting shared definitions.
User management
Ellie has two ways to manage users:
Email-based accounts: this is the default option, where each user gets an Ellie account based on their email address. They log in with an email+password combination. Admins can directly manage these users and their privileges in Ellie.
SSO integration: on request to support@ellie.ai, a customer organization can integrate their Ellie user management with their internal SSO provider. The options currently available are Okta and Azure Active Directory. With the SSO integration, user management in Ellie happens with SSO user groups: each group is assigned a role in Ellie, and the membership of these groups is managed within the customer’s own user management system. When this option is in use, Ellie admins can’t make changes to users or their privileges within Ellie; SSO options can be changed with a support request to Ellie, and the individual memberships are handled outside Ellie. You can find more details on the Okta integration here.
User roles and their privileges in Ellie
Ellie has four levels of users: Admin, Write, Contributor, and Read.
They have the following privileges:
Read: can read all content (models, Glossary items) but can’t modify anything
Contributor: can read all content, and can work in a personal folder, and can copy public assets into a personal folder. When a certain model or entity is complete in their personal folder, Contributor user can share their asset with an Admin or Write user for approval and further promotion to a public folder.
Write: can modify existing content and create new content (models, Glossary items), except for Folders where this has been separately restricted to specific Write-access users
Admin: can modify all existing content and create new content (models, Glossary items) everywhere in a subdomain, and in addition can perform admin tasks:
manage email-based users and their privileges
change organization settings on entity types
access and generate API tokens
set Folders to restricted status and modify these restrictions to cover specific Write-access users
Adding new email-based users
Admin-level users can add new email-based users the following way:
Click on the cogwheel icon on the Dashboard (frontpage)
Then click on Users
Click on the + Create users button
Create as many users as you like - all you need to do is have their name and valid e-mail address.
Define the role of each user, a role can be either Admin, Write, Contributor, or Read.
If the user has an existing Ellie account for the given email address (in any organization), they can use their existing password to log in. If the account is new, the admin can either copy-paste the generated password from the user management screen, or the user can reset their password from the login screen. Note: for security reasons, the admin can’t access any passwords after the initial user creation.
Hints, tips & best practices for creating good models
Modeler's Corner #1 Identifying Entities | Ellie Data Modeling
Modeler's Corner #2 Entity Types in Data Modeling | Ellie Data Modeling
Modeler's Corner #3 Modeling Verbs and Nouns | Ellie Data Modeling
Modeler's Corner #4 Subtypes in Data Modeling | Ellie Data Modeling
Modeler's Corner #5 Roles and Subtypes | Ellie Data Modeling
Modeler’s Corner #6 Category vs Instance | Ellie Data Modeling
Modeler’s Corner #7 Getting started with ELM & Ellie | Ellie Data Modeling
You can contact us by e-mailing support@ellie.ai.