Best Practices for Data Modeling

Here are the key things to keep in mind:
Request a Trial


How to identify entities?

The 4 Core Principles

#1: Entities are singular nouns
Not “Customers” but “Customer”; not “Condition Monitoring” but “Condition Measurement”

#2: Entities exist in the real world business
People, places, events, physical objects – not database tables, reports, or files

#3: Entities are countable
Always ask, “can I say I have x number of these?” and avoid abstractions like “Staff” or “Analytics”

#4: Attributes are not entities
“Customer name” is not an entity: it tells you something about the Customer, so it’s an attribute for that


Define entities as nouns, relationships as verbs

Find the story behind your model

A Data Model should always describe something in the real world that can also be described as a nar-rative: “A customer books an appointment in a bank office...”

Entities are usually the nouns of the story
Customer, Appointment, Bank

Relationships between entities are the verbs that de-scribe the association
Customer books an appointment

Define your relationships with the correct verbs
Avoid meaningless words: “relates to”, “linked with”

Note that different verbs = different relationships
Customer books an appointment, but also customer cancels an appointment


Write accurate entity descriptions

Make sure to define your entities!

Entities in Ellie are reusable; if someone else later uses the entity you created, they need to know what it means

Aim for a short, clear definition in simple business language

Good pattern for entity description:
1. Definition in max. 2 sentences
2. Some examples from real life to make it more concrete
3. Important special cases, if anyWriting a good entity description

Library customer

“A customer is an owner of a library card who can borrow books from our library. Customers are natural persons such as John Smith and Erin Example. A customer can also be an employee of the library. Underaged children who use their parents’ cards are not considered separate customers."


Take advantage of entity types

Use colors to add extra meaning

• Ellie has predefined “entity types” that you can use

• You can also create custom entity types for your organization

• Shown as different colours of entities on the model canvas

• Use the entity types to make your model more easily readable

• Often they also help you figure out what’s missing: e.g. transactions can hardly exist by themselves, so who or what is doing something there?


Use subtypes and supertypes

Add layers to your entities

• Subtype-supertype structure is a very powerful pattern for modeling

• It allows you to define commonalities and distinctions between kinds of a thing

• Click and drag an entity inside another entity to “lock” them into a subtype structure


Create separate domain and use case models

It’s often wise to create two kinds of models in your Ellie

• Model an area of business or a process to understand core terminology and to get the big picture -> “domain model”

• Model the data need of a project or a use case, defining the scope about which you need data to accomplish your goals -> “use case model”

Remember that copying models is easy: use your domain models as the starting point of your use case models to make things easier!


Use collections to organize your models

Create Collections in Ellie’s Model List view to organize your models

• A Collection is like a bucket for your models
• A model can belong to any number of Collections
• Useful ways to set up your Collections:
• By business area (Consumer goods, Chemicals, Services...)
• By organizational unit (Sales, Finance, HR...)
•  By model purpose (Enterprise-level domain models, DW-related models...)