This page is for application designers who want define the data that will back the application. It explains how to draw an ERD and setup its properties.
ERD is still asking for a relationship name.
Overview
Use an ERD to define the structure of the data that backs your application. For an introduction to ERD concepts and why ERDs are important, see Understanding ERDs.
The process for creating an ERD is slightly different depending on whether or not you have already created tables in PhixFlow. The following table summarises the different ways you can add tables to an ERD, depending on your starting point. (See the sections below for details of how to add tables and relationships.)
Panel | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
Define the tables, attributes and their relationships in the ERD.
Later you will need to add records to the tables:
- either manually, for example create a screen in which application users can enter data.
- or via an analysis model.
PhixFlow automatically creates each table with:
- a primary key called UID
- a Name attribute
- the Name attribute set as the display name; see Display Name.
Defining Data Structures using ERDs
Creating a Screen from a Table
Load Data
In each table:
- either set one attribute as the primary key and ensure all values will be unique
- or add an attribute called UID with
- Data Type = Integer
- Precision = 10
- Data Type = Integer
- Set one attribute to be the Display Name.
hidden | true |
---|
Things not yet implemented
For the Starting Point table:
Drag the Excel files directly into an ERD. PhixFlow loads the data structure and records. It then adds the table to the ERD.
In the ERD, you then add the relationships between tables.
For Open an Existing ERD
- From the home menu, select Data and click on an ERD in the list.
- In the repository, open your application and find Data → ERD.
- Either right-click on an ERD name and select Display.
- Or...
For Create a New ERD
Tip |
---|
When you are creating tables, choose a name that reflects the entity your table represents. |
PhixFlow opens a new ERD canvas on the left with a toolbar at the top. Hover your mouse pointer over toolbar icons to display a tooltip.
For Create a Table From an Excel File Document Flow 4.10
How to Define an ERD
Open an Existing ERD
In the repository, find ERD.
Create a New ERD
In the repository, find ERD. Right-click to display the context menu, and selectTip |
---|
When you are creating tables, choose a name that reflects the entity your table represents. |
PhixFlow opens a new ERD canvas on the left with a toolbar at the top. Hover your mouse pointer over toolbar icons to display a tooltip.
Add an Existing Table
In the toolbar, clickCreate a New Table
DragThe header displays the name entered in step 2. PhixFlow automatically adds 2 attributes:
- UID - PhixFlow requires a unique identifier and primary key for each table.
- Name - PhixFlow sets the Name attribute to be the display name. In data grids and forms etc. PhixFlow uses this attribute to provide a user-friendly name, rather than a numeric identifier. Optionally, change the attribute name.
- Type = String
- Length = 50 characters.
- For String add Length
- For Integer add Precision
- For Decimal add Significant Figures and Decimal Places
Create Relationships
In an ERD you can create a one-to-many relationship between a primary key in one table with an attribute in another table. For relationship concepts, see Understanding ERDs.
To create a relationship, click-drag from one attribute to another.
Expand | ||
---|---|---|
| ||
|
See the table below for the relationships that can be created between attributes.
table1.primarykey → table2.attribute
1:many
table2.primarykey → table1.attribute
1:many
if table1 has no primary key: PhixFlow makes the table1.attribute the primary key
if table 1 has a primary key: the relationship is from table1.primarykey instead of from table1.attribute.
PhixFlow cannot create a relationship between your selected attributes if your selected foreign key attribute:
- is already a foreign key to a different primary key.
- has a different Data Type and type properties to the primary key.
In these cases, PhixFlow reports an error: Related attributes must have the same type and length. This <type/length is different.
You can:
- create a new attribute to be the foreign key
- change the foreign key attributes to match the primary key, provided there is no data in the table
- create the relationship with a different attribute.
To change the data type properties, In the ERD, click on an attribute to open its properties.
Show Relationships From Other ERDs
Tip |
---|
If you have created several ERD to define the data structure that your application requires, then each ERD is a view onto a part of the full data structure. |
If a table appears on more than one ERD it may have relationships with tables that are not visible in your current ERD. To see other related tables, right-click a table to show the context menu and select:
Saving ERDs
Changes to tables, attributes and relationships are automatically saved. However, you must clickRearranging ERDs
To move tables around in the ERD, click on the header and drag the table. There are also Align options in the toolbar that you can use to line up or distribute selected tables.
If you want to highlight the relationships that affect a table, click the table to select it. The following screenshot shows the Teacher table is selected.
- Blue lines indicate relationships to a foreign key in the selected table
- Green lines indicate relationships from the primary key in the selected table.
If a table has a lot of attributes that you do not need to see you can collapse the list to show only the table's primary and foreign keys.
- either right-click on a table and select Hide attributes or Show attributes
- or double-click on the table header.
To select multiple tables, draw a square around them.
Properties
Basic Settings
The name for the ERD.
ERD Toolbar
The toolbar is at the top of the canvas. Hover your mouse pointer over the toolbar to see a tooltip.
Create
List
Canvas
Redraw the ERD to display recent changes to the diagram.
Zoom out
Zoom out to see more of the diagram, with smaller text.
Zoom in
Zoom in to see a smaller area of the diagram, with larger text.
Ungroup
Select a grouped set of items and then click to ungroup them.
Select several items then click to group them together.
Group
Select several items then click to group them together.
For screen layout, move a component back.
Align options
Click/hover to show all the options for aligning items on the canvas.
Align Grid
Organise selected items into a grid pattern.
Align left
Align selected items to the left.
Align right
Align selected items to the right.
Align top
Align selected objects to the top.
Align bottom
Align selected objects to the bottom.
Distribute horizontally
Distribute vertically
Table Pop-up Menu
You can access more options in a pop-up menu:
in the table header, clickConfigure Table
Open the properties for this table.
Remove this item from the Diagram
Remove the selected item(s) from the diagram.
Starting Point | Process | Primary Key | See | |||||||
---|---|---|---|---|---|---|---|---|---|---|
I have no data | Define the tables, attributes and their relationships in the ERD. Later you will need to add records to the tables:
| PhixFlow automatically creates each table with:
| Defining Data Structures using ERDs | |||||||
I have data but it's not in PhixFlow | Use an analysis model to connect to your data. PhixFlow can read the data structures to create tables. When you run analysis on the model, PhixFlow loads the data records. | In each table:
| Load Data | |||||||
I have tables in PhixFlow already | In the ERD toolbar, click
| Defining Data Structures using ERDs |
Note | ||||||||
---|---|---|---|---|---|---|---|---|
|
How to Define an ERD
Open an Existing ERD
In the repository, find ERD.
- Either right-click on an ERD name and select Display.
- Or double-click the ERD name to open the properties. In the properties toolbar, click the
icon.Insert excerpt _erd_display _erd_display nopanel true
Create a New ERD
- In the repository, find ERD. Right-click to display the context menu, and select
Insert excerpt _add _add nopanel true Enter a name for your ERD, and a description then click
.Insert excerpt _finish _finish nopanel true Tip When you are creating tables, choose a name that reflects the entity your table represents.
PhixFlow opens a new ERD canvas on the left with a toolbar at the top. Hover your mouse pointer over toolbar icons to display a tooltip.
Add an Existing Table
- In the toolbar, click
.Insert excerpt _table_list _table_list nopanel true - PhixFlow filters the repository to show the list of tables available in this application.
- Drag a table from the repository onto the ERD canvas.
Create a New Table
- Drag
from the toolbar into the diagram.Insert excerpt _table_new _table_new nopanel true - In the pop-up, enter a name, for example "Customer", and click
.Insert excerpt _dialog_finish _dialog_finish nopanel true - PhixFlow opens the properties tab for the new table on the right and adds the table to the canvas.
The header displays the name entered in step 2. PhixFlow automatically adds 2 attributes:
- UID - PhixFlow requires a unique identifier and primary key for each table.
- Name - PhixFlow sets the Name attribute to be the display name. In data grids and forms etc. PhixFlow uses this attribute to provide a user-friendly name, rather than a numeric identifier. Optionally, change the attribute name.
- To add attributes to the table:
- In the table, click
. PhixFlow opens the attribute properties on the right, with the default settings of:Insert excerpt _new _new nopanel true - Type = String
- Length = 50 characters.
- In the properties, enter the Name and select appropriate type properties, such as Date or Integer; see Attributes. The following data types have additional properties:
- For String add Length
- For Integer add Precision
- For Decimal add Significant Figures and Decimal Places
- Click
to save the attribute properties.Insert excerpt _finish _finish nopanel true
- In the table, click
- PhixFlow adds the attribute to the table in the ERD.
Create Relationships
In an ERD you can create a one-to-many relationship between a primary key in one table with an attribute in another table. For relationship concepts, see Understanding ERDs.
To create a relationship, click-drag from one attribute to another.
Expand | ||
---|---|---|
| ||
|
See the table below for the relationships that can be created between attributes.
Drag | Relationship line | |
---|---|---|
From table1 | To table2 | |
primary key | attribute | table1.primarykey → table2.attribute |
attribute | primary key | table2.primarykey → table1.attribute |
attribute | attribute | if table1 has no primary key: PhixFlow makes the table1.attribute the primary key if table 1 has a primary key: the relationship is from table1.primarykey instead of from table1.attribute. |
PhixFlow cannot create a relationship between your selected attributes if your selected foreign key attribute:
- is already a foreign key to a different primary key.
- has a different Data Type and type properties to the primary key.
In these cases, PhixFlow reports an error: Related attributes must have the same type and length. This type/length is different.
If this happens, you can:
- create a new attribute to be the foreign key
- change the foreign key attributes to match the primary key, provided there is no data in the table
- create the relationship with a different attribute.
To change the data type properties, In the ERD, click on an attribute to open its properties.
Show Relationships From Other ERDs
Tip |
---|
If you have created several ERDs to define the data structure that your application requires, then each ERD is a view onto a part of the full data structure. |
If a table appears on more than one ERD it may have relationships with tables that are not visible in your current ERD. To see other related tables, right-click a table to show the context menu and select:
Insert excerpt _rel_in _rel_in nopanel true Insert excerpt _rel_out _rel_out nopanel true
Saving ERDs
Changes to tables, attributes and relationships are automatically saved. However, to keep any changes you make to the layout, such as moving tables or adding angle points to relationships, remember to click
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Rearranging ERDs
To move tables around in the ERD, click on the header and drag the table. There are also Align options in the toolbar that you can use to line up or distribute selected tables.
If you want to highlight the relationships that affect a table, click the table to select it. The following screenshot shows the Teacher table is selected.
- Blue lines indicate relationships to a foreign key in the selected table
- Green lines indicate relationships from the primary key in the selected table.
If a table has a lot of attributes that you do not need to see, collapse the list to show only the table's primary and foreign keys.
- Either right-click on a table and select Hide attributes or Show attributes
- Or double-click on the table header.
To select multiple tables, draw a square around them.
Properties
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Basic Settings
Field | Description |
---|---|
Name | The name for the ERD. |
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
ERD Toolbar
The toolbar is at the top of the canvas. Hover your mouse pointer over the toolbar to see a tooltip.
Option | Description |
---|---|
Create | |
Create | Drag this icon onto the canvas to create a table. |
Screen | Creates a new screen for the selected table. |
List | |
Tables | Click to see a list available tables. |
Screens | Click to see a list available screens. |
Canvas | |
Save | Save changes to the diagram. If there is no save icon, PhixFlow is saving changes automatically. |
Refresh | Redraw the ERD to display recent changes to the diagram. |
Properties | Open the properties for the current diagram. |
Zoom out | Zoom out to see more of the diagram, with smaller text. |
Zoom in | Zoom in to see a smaller area of the diagram, with larger text. |
Ungroup | Select a grouped set of items and then click to ungroup them. Select several items then click to group them together. |
Group | Select several items then click to group them together. |
Back | For screen layout, move a component back. |
Forward | For screen layout, bring a component forward. |
Align options | Click/hover to show all the options for aligning items on the canvas. |
Align Grid | Organise selected items into a grid pattern. |
Align left | Align selected items to the left. |
Align right | Align selected items to the right. |
Align top | Align selected objects to the top. |
Align bottom | Align selected objects to the bottom. |
Distribute horizontally | For 3 or more items, distributes the selected items evenly between the left and right items. |
Distribute vertically | For 3 or more items, distributes the selected items evenly between the top and bottom items. |
Table Pop-up Menu
You can access more options in a pop-up menu:
- in the table header, click
Insert excerpt _more_options_erd _more_options_erd nopanel true - right-click anywhere in the table.
Option | Description |
---|---|
Configure | Open the properties for this table. |
Remove this item from the Diagram | Remove the selected item(s) from the diagram. |
Show many to one relations | |
Show one to many relations | |
Hide Attributes | Collapse the table so that it only shows the table name, primary key and any foreign keys. Other attributes are hidden. |
Show Attributes | Expand the table to show all the attributes |
Parmanently Delete | Delete the selected item(s) from the ERD and from everywhere it is used. |
Attribute Pop-up Menu
Option | Description |
---|---|
Make Primary Key | |
Make Foreign Key | |
Add New Stream Attribute | |
Delete Attribute |
HTML Comment | |||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||
Things not yet implementedFor the Starting Point table:
For Open an Existing ERD
For Create a New ERD
For Create a Table From an Excel File Document Flow 4.10For Create Relationships table
For Show Relationships From Other ERDs (before or after saving ERDs)
If a table appears on more than one ERD it may have relationships with tables that are not visible in your current ERD. To see other related tables, right-click a table to show the context menu and select:
|