Astah Professional allows you to create and manage Entity-Relationship Diagrams (ER Diagrams) using IDEF1X or IE notation. You can also auto-generate ER diagrams by reverse-engineering tables from your database.
Because all models are stored centrally, you can easily convert ER models into other formats, such as UML Class Diagrams.


You can automatically generate ER Diagrams by importing database tables using the DB Reverse Plug-in.

Astah allows you to manage both Logical and Physical names for entities.
There are three ways to switch between displaying logical and physical names:



TIP: You can set the default name type in [Tools] → [System Properties] → [ER Diagram].

You can switch between IDEF1X and IE notation for your ER diagrams. To do so, right-click the ER diagram in the Structure Tree and select [Diagram Notation].
Astah provides several ways to create ER Entities – please refer to the Diagram Editor page.
There are multiple ways to add Primary Keys and Attributes to ER Entities:
Hover over an ER Entity to reveal mini icons.

Once you add an item, press [Enter] to create another.
Alternatively, you can add Primary Keys and Attributes by pasting text.
There are three display levels for ER Entities: Entity, Primary Key, and Attribute.
To change the level, right-click an ER Entity and select [Display Level] from the menu.
To show additional details such as data types and lengths, select [Extended Visibility] from the context menu and check the items you wish to display.
TIPS: You can set the default display settings in [Tools] → [System Properties] → [ER Diagram].
Right-click [Domain] in the Structure Tree and select [Add ER Domain].
You can add multiple domains at once:


To apply a domain, drag it from the Structure Tree and drop it directly onto an ER Entity in the diagram.
You can create relationships using the Tool Palette. Select the desired relationship type and click the two Entities you wish to connect.
IDEF1X | IE | Relationship type |
|---|---|---|
| Identifying Relationship | ||
| Non-Identifying Relationship | ||
| Many-to-many Relationship |



You can export ER Entities into SQL (SQL-92).


You can export each Entity’s definition as a comment by enabling it in the [Option] menu.



TIPS: To set a specific data type as the default for new Attributes, check the [Default Type] box when creating or editing it.
You can export a comprehensive list of ER Domains, Entities and detailed Entity information to an Excel file.



| Logical Name of Attribute | $each.entity.each.attribute.logical_name |
|---|---|
| Physical Name of Attribute | $each.entity.each.attribute.physical_name |
| Domain Name of Attribute | $each.entity.each.attribute.domain |
| Primary Key Flag of Attribute | $each.entity.each.attribute.pk |
| Foreign Key Flag of Attribute | $each.entity.each.attribute.fk |
| NotNull Flag of Attribute | $each.entity.each.attribute.notnull |
| Reference of Attribute | $each.entity.each.attribute.ref |
| Datatype of Attribute | $each.entity.each.attribute.type |
| Length/Precision of Attribute | $each.entity.each.attribute.length_precision |
| Initial Value of Attribute | $each.entity.each.attribute.initial_value |
| TaggedValue of Attribute | $each.entity.each.attribute.initial_value |
What are you looking for?