Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
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.
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 streams tables in PhixFlow. The following stream following table summarises the different ways you can add streams data to an ERD, depending on your starting point. (See the sections below for details of how to add streams and relationships.):
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 streams, choose a name that reflects the entity your stream 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 Stream
In the toolbar, clickCreating 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
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 that reflects what the table will represent. For example Customer.nopanel true - PhixFlow opens the properties tab for the new stream table on the right and adds the stream table to the canvas.
The table header displays the its name entered in step 2. PhixFlow automatically adds 2 attributes:
- UID - PhixFlow requires , a primary key that is a unique identifier and primary key for each streamrecord.
- Name - PhixFlow sets the Name attribute to be the display name. In data grids and forms etc. PhixFlow uses this attribute , a display name which in a view or form will be used to provide a user-friendly name , rather than a numeric identifier. Optionally, change the attribute name.to the user in place of the numeric UID.
- To add attributes to the stream:
- In the stream, 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 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
to save the attribute properties.Insert excerpt _finish _finish nopanel true
- In the stream, click
- PhixFlow adds the attribute to the stream in the ERD.
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 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 stream one table with an attribute in another streamtable. For relationship concepts, see Understanding ERDs.
To create a relationship, click
- Click-drag from one attribute to another.
title | More detail |
---|
- 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 stream 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 |
1:many
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.
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 streamthe 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 Anchor erd-view erd-view
erd-view | |
erd-view |
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 stream table appears on more than one ERD it may have relationships with streams tables that are not visible in your current ERD. To see other related streams, right-click a stream table to show the context menu and select:
Insert excerpt _rel_in _rel_in nopanel true Insert excerpt _rel_out _rel_out nopanel true
PhixFlow adds the related streams tables to your ERD.
To keep the related streams tables in your ERD, in the toolbar, click
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
To remove the related streams table from your ERD, in the toolbar, click
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Saving ERDs
Changes to streams, attributes and relationships are automatically saved. However, to keep any changes you make to the layout of a diagram, such as moving streams or adding angle points to relationships, remember to click Insert excerpt
Accessing Properties
You can set properties for all the items in an ERD. To access properties:
- for the ERD: in the canvas toolbar click
Insert excerpt _property_settings _property_settings nopanel true - for a streamTable : in the ERD, click on the stream header or right-click to open the pop-up menu and select
Insert excerpt _config _config nopanel true - for an attributeAttribute: in the stream, click on an attributefor a relationship: in the ERD, click on the relationship line. For relationships you can only add or change the description.
PhixFlow opens the properties panel on the right.
Rearranging ERDs
To move streams around in the ERD, click on the header and drag the stream. There are also Align options in the toolbar that you can use to line up or distribute selected streams.
If you want to highlight the relationships that affect a stream, click the stream to select it. The following screenshot shows the Teacher stream is selected.
- Blue lines indicate relationships to a foreign key in the selected stream
- Green lines indicate relationships from the primary key in the selected stream.
If a stream has a lot of attributes that you do not need to see, collapse the list to show only the stream's primary and foreign keys.
- Either right-click on a stream and select Hide attributes or Show attributes
- Or double-click on the stream header.
To select multiple streams, draw a square around them.
By default, relationships are straight lines, but you can change them to have angles.
- Click on a relationship line to add an angle point, which appears as a blue dot; see the screenshot on the left.
- Move the mouse pointer over the blue dot. It changes to a four-way arrow to indicate you can drag.
- Drag the point to the position you require.
To remove an unwanted angle, right-click the blue dot and select Remove Point; see the screenshot on the right.
Hover your mouse pointer over
an angle to see the blue angle point.
Right-click the blue angle point to see the Remove option