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 data to an ERD, depending on your starting point:
Creating Tables in an ERD
Create a Table using CSV or Excel Data
- Drag a CSV or Excel file directly onto an ERD canvas.
- PhixFlow will create a table automatically based on the information in the file.
This is covered in the ERD Fundamentals video course found here: Entity Relationship Diagrams.
Create a New Table
- Drag Create New Table from the toolbar into the diagram.
- In the pop-up, enter a name that reflects what the table will represent. For example Customer.
- PhixFlow opens the properties tab for the new table on the right and adds the table to the canvas.
The table header displays its name. PhixFlow automatically adds 2 attributes:
- UID, a primary key that is a unique identifier for each record.
- Name, a display name which in a view or form will be used to provide a user-friendly name to the user in place of the numeric UID.
- To add attributes to the stream:
- In the stream, click Create New. PhixFlow opens the attribute properties on the right, with the default settings of:
- Type = String
- Length = 50 characters.
- In the properties, enter the Name and select appropriate type properties, such as Date or Integer; see Attribute. The following data types have additional properties:
- For String add Length
- For Integer add Precision
- For Decimal add Significant Figures and Decimal Places
- Click OK to save the attribute properties.
- In the stream, click Create New. PhixFlow opens the attribute properties on the right, with the default settings of:
- PhixFlow adds the attribute to the stream in the ERD.
Add an Existing Table
- In the toolbar, click List Tables.
- PhixFlow filters the repository to show the list of tables available in this application.
- Drag the desired table from the repository onto the ERD canvas.
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.
- One of the attributes must be a primary key.
- PhixFlow highlights the attribute when your mouse pointer is over it.
- When the destination attribute is highlighted, release the click.
Relationships
See the table below for the relationships that can be created between attributes:
Drag from | Relationship | |
---|---|---|
Table 1 | Table 2 | |
primary key | attribute | 1:Many Table1.primarykey → Table2.attribute |
attribute | primary key | 1:Many Table2.primarykey → Table1.attribute |
attribute | attribute | If Table1 has no primary key, PhixFlow makes the Table1.attribute the primary key. If Table1 has a primary key, the relationship is from Table1.primarykey instead of from the attribute being dragged. |
Relationship Restrictions
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.
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
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 streams, right-click a table to show the context menu and select:
- Show many-to-one relations
- Show one-to-many relations
PhixFlow adds the related tables to your ERD.
To keep the related tables in your ERD, in the toolbar, click Save.
To remove the related table from your ERD, in the toolbar, click Refresh.
Saving ERDs
Changes to an ERD are automatically saved.
Accessing Properties
You can set properties for all the items in an ERD. To access properties:
- ERD: in the canvas toolbar click Properties
- Table : in the ERD, click on the stream header or right-click to open the pop-up menu and select Configure
- Attribute: in the stream, click on an attribute
PhixFlow opens the properties panel on the right.