Design the ERd model

Describe the domain with entities, relationships and attributes. NoER checks the model while it is drawn, so problems are fixed here rather than in the database.

The Show button opens the Code panel next to the canvas, with a preview of each entity as a document.

Entities and relationships

  1. Place entities and relationships on the canvas with the Entity and Relationship buttons.
  2. Select a relationship and click Connect (Shift + C), then click an entity to link it.
  3. Double-click any element to rename it.

A relationship links two or three entities. A recursive relationship connects an entity to itself and needs a Role on each participation, such as parent and child.

Attributes

In the ER model, attributes describe the properties of an entity or a relationship. In NoER they become the fields of the future documents:

  • Attribute (Shift + A) adds a field. An optional attribute is a field that some documents may not have.
  • Subattr (Shift + S) makes it composite, which becomes a subdocument. Composite attributes can be nested to build nested structures.
  • A maximum cardinality of N makes it multivalued, which becomes an array.
  • Identifier (Shift + I) marks an atomic attribute as part of the key.

Generalizations and time entities

  • Select a child entity, click Parent (Shift + P) and select the parent entity. Set coverage and disjointness with Type. Generalizations model documents of different kinds in one collection.
  • Select an entity and click Time to make it a time entity for events that repeat over time, such as price changes or sensor readings.

How NoER checks the model

CheckShown asExample
Invalid actions are disabledThe button is greyed out; hover it for the reason.No identifier on a child entity or on a relationship
Rule violationsAn error in the status bar. It must be fixed before refining.A relationship connected to one entity; an entity with no identifier
Naming conflictsAn error in the status bar.Two entities with the same name; repeated attribute names
Completeness hintsA warning. It does not block the next step.An entity with only its identifier

Select an element to see its messages. Refine becomes available when the model is non-empty and has no errors. The full list is in Validation messages.