Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 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
borderColor#00374F
titleColorwhite
titleBGColor#00374F
borderStylesolid
titleSections on this page

Table of Contents
maxLevel4
indent12px
stylenone



Starting PointProcessPrimary KeySee
I have no data

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

I have data but it's not in PhixFlowUse 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:

  • 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
  • Set one attribute to be the Display Name.
Load Data
I have tables in PhixFlow already

In the ERD toolbar, click

Insert excerpt
_table_list
_table_list
nopaneltrue
 to display a list of all the tables. Drag tables into the ERD and then add the relationships.

Defining Data Structures using ERDs


Note

Insert excerpt
_uid
_uid
nopaneltrue

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
    Insert excerpt
    _erd_display
    _erd_display
    nopaneltrue
     icon.

Create a New ERD

  1. In the repository,  find ERD. Right-click to display the context menu, and select 
    Insert excerpt
    _add
    _add
    nopaneltrue
  2. Enter a name for your ERD, and a description then click 

    Insert excerpt
    _finish
    _finish
    nopaneltrue
    .

    Tip

    When you are creating tables, choose a name that reflects the entity your table represents.


  3. 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

  1. In the toolbar, click 
    Insert excerpt
    _table_list
    _table_list
    nopaneltrue
    .
  2. PhixFlow filters the repository to show the list of tables available in this application.
  3. Drag a table from the repository onto the ERD canvas. 

Create a New Table

  1. Drag 
    Insert excerpt
    _table_new
    _table_new
    nopaneltrue
      from the toolbar into the diagram.
  2. In the pop-up, enter a name, for example "Customer", and click
    Insert excerpt
    _dialog_finish
    _dialog_finish
    nopaneltrue
    .
  3. 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.
  1. To add attributes to the table:
    1. In the table, click 
      Insert excerpt
      _new
      _new
      nopaneltrue
      . PhixFlow opens the attribute properties on the right, with the default settings of:
      • Type = String
      • Length = 50 characters.
    2. 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
    3. Click 
      Insert excerpt
      _finish
      _finish
      nopaneltrue
       to save the attribute properties.
  2. 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
titleMore detail
  1. Click on the source attribute.
  2. Drag to the destination attribute. PhixFlow highlights the attribute when your mouse pointer is over it. 
  3. When the destination attribute is highlighted, release the click.

See the table below for the relationships that can be created between attributes.

DragRelationship line
From table1To table2
primary keyattribute

table1.primarykey → table2.attribute
1:many

attributeprimary key

table2.primarykey → table1.attribute
1:many

attributeattribute

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.

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. 

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 

Show Relationships From Other ERDs 
Anchor
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 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:

  • Image AddedShow many to one relations ?? should be  
    Insert excerpt
    _rel_
save
  • in
    _rel_
save

To select multiple tables, draw a square around them. 

Image Removed

By default, relationships are straight lines, but you can change them to have angles.

  1. Click on a relationship line to add an angle point, which appears as a blue dot; see the screenshot on the left.
  2. Move the mouse pointer over the blue dot. It changes to a four-way arrow to indicate you can drag.
  3. 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.

Properties

Insert excerpt_parent_parentnopaneltrue

Basic Settings

FieldDescriptionName

The name for the ERD.

Insert excerpt_description_descriptionnopaneltrue Insert excerpt_audit_auditnopaneltrue

ERD Toolbar

The toolbar is at the top of the canvas. Hover your mouse pointer over the toolbar to see a tooltip.

OptionDescription

Create options

Insert excerpt_tables_tablesnopaneltrueDrag this icon onto the canvas to create a table.

List options

Insert excerpt_tables_tablesnopaneltrueClick to open the repository filtered to list the tables available in your application.

 Canvas options

Insert excerpt_help_helpnopaneltrueOpen the help topic with details about working with ERDs. Insert excerpt_align_alignnopaneltrue

Options to arrange the selected tables in the ERD:

Insert excerpt_align_grid_align_gridnopaneltrue Insert excerpt_align_left_align_leftnopaneltrue Insert excerpt_align_right_align_rightnopaneltrue Insert excerpt_align_top_align_topnopaneltrue Insert excerpt_align_bottom_align_bottom
  • in
    nopaneltrue
 in the toolbar. PhixFlow notifies you if there are unsaved changes when you attempt to close an ERD.

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.

Image Removed

  • 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.
  • Image AddedShow one to many relations ?? should be  
    Insert excerpt
    _rel_out
    _rel_out
    nopaneltrue

PhixFlow adds the related tables to your ERD. 

To keep the related tables in your ERD, in the toolbar, click 

Insert excerpt
_save
_save
nopaneltrue
.

To remove the related tables from your ERD, in the toolbar, click 

Insert excerpt
_refresh
_refresh
nopaneltrue
.

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
_save
_save
nopaneltrue
 in the toolbar. PhixFlow notifies you if there are unsaved changes when you attempt to close an ERD.

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
    nopaneltrue
  • for a table: in the ERD, click on the table header or right-click to open the pop-up menu and select 
    Insert excerpt
    _config
    _config
    nopaneltrue
  • for an attribute: in the table, click on an attribute
  • for 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 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.

Image Added

  • 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. 

Image Added

By default, relationships are straight lines, but you can change them to have angles.

  1. Click on a relationship line to add an angle point, which appears as a blue dot; see the screenshot on the left.
  2. Move the mouse pointer over the blue dot. It changes to a four-way arrow to indicate you can drag.
  3. 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.

Properties

Insert excerpt
_parent
_parent
nopaneltrue

Basic Settings

FieldDescription
Name

The name for the ERD.

Insert excerpt
_description
_description
nopaneltrue

Insert excerpt
_

distribute

audit
_

horizontal

audit

_distribute_horizontal

nopaneltrue

Insert excerpt_distribute_vertical_distribute_verticalnopaneltrue

Toolbars and Popup Menus

ERD Toolbar

The toolbar is at the top of the canvas. Hover your mouse pointer over the toolbar to see a tooltip.

Description
OptionDescription

Create options

Insert excerpt
_property_settingstables
_property_settingstables
nopaneltrue
Open the properties tab for the ERD.Drag this icon onto the canvas to create a table.

List options

Insert excerpt
_zoom_outtables
_zoom_outtables
nopaneltrue
Zoom out to see more of the diagram, with smaller text.Click to open the repository filtered to list the tables available in your application.

 Canvas options

Insert excerpt
_zoom_inhelp
_zoom_inhelp
nopaneltrue
Zoom in to see a smaller area of the diagram, with larger textOpen the help topic with details about working with ERDs.
Insert excerpt
_
save
align
_
save
align
nopaneltrue
PhixFlow automatically saves changes to tables and relationships.
Use this icon to save layout changes to the ERD.
Menu option

Options to arrange the selected tables in the ERD:

Insert excerpt
_align_

refresh

grid
_align_

refresh

grid
nopaneltrue

Update the ERD to the last saved layout. This clears any unsaved layout changes. 
Your ERD should automatically show an changes elsewhere in PhixFlow.  For example, if someone adds a new attribute to a table in your ERD, the attribute will appear on the list. If changes are not appearing, click this icon.

Ungroup

Not available??

Select a grouped set of items and then click to ungroup them.

Select several items then click to group them together.

tmp

change to Show in layers??

Insert excerpt
_align_left
_align_left
nopaneltrue

Insert excerpt
_align_right
_align_right
nopaneltrue

Insert excerpt
_align_

delete

top
_align_

delete

top
nopaneltrue

When a specific component is selected, delete the component.

Other delete options that may be available relate to specific types of component in the selected pane.

Insert excerpt
_align_bottom
_align_bottom
nopaneltrue

Insert excerpt
_

element

distribute_

delete

horizontal
_

element

distribute_

delete

horizontal
nopaneltrue

Delete a pane or dashboard element from the layout.
Check whether Remove Element from Dashboard is also going??

Insert excerpt
_

delete

distribute_

item

vertical
_

delete

distribute_

item

vertical
nopaneltrue

Delete a form component from the layout.
Excerptexcerpt-include
_formproperty_newsettings
_formproperty_newsettings
nopaneltrue
Create a new form in the current areaOpen the properties tab for the ERD.
Insert excerpt
_pinzoom_unpinout
_pinzoom_unpinout
nopaneltrue
Fix the position of selected objects. ??Going away??Zoom out to see more of the diagram, with smaller text.
Insert excerpt
_
palette_palette
zoom_in
_zoom_in
nopaneltrue
Open the palette to drag in componentsZoom in to see a smaller area of the diagram, with larger text.
Insert excerpt
_autosizesave
_autosizesave
nopaneltrue

Toggle whether or not the currently selected component is automatically autosized when an application window is resized by the user.

Note

Using this option, or manually resizing a component may change the state of the Layout → Style Settings → Auto Size property.

Arrange the selected items

Options to arrange the selected components within a pane:

PhixFlow automatically saves changes to tables and relationships.
Use this icon to save layout changes to the ERD.

Insert excerpt
_

align_left

refresh
_

align_left

refresh
nopaneltrue

Insert excerpt
_align_right_align_right
nopaneltrue
Insert excerpt
_align_top_align_top
nopaneltrue
Insert excerpt
_align_bottom_align_bottom
nopaneltrue
Insert excerpt
_distribute_horizontal_distribute_horizontal
nopaneltrue
Insert excerpt
_distribute_vertical_distribute_vertical
nopaneltrue
Insert excerpt
_repository_find_repository_find
nopaneltrue
Open the repository with to see the selected component in the list. This can be useful if you want to move a component.
Insert excerpt
_screen_properties_screen_properties
nopaneltrue
Open the properties tab for the screen.
Insert excerpt
_record_show_record_show
nopaneltrue
Display information about the table and its records. Check this option's name has changed??
Select all childrenFor the selected parent container, select all the child components too.
Show Attributes for <table name>Open the list of attributes for the table. This option is available when a screen is backed by a table.
Show Attributes for <view name>Open the list of attributes for the view. This option is available when a screen is backed by a view.

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_erdnopaneltrue 
  • right-click anywhere in the table.
  • OptionDescription

    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 relationsShow one to many relationsHide AttributesCollapse the table so that it only shows the

    Update the ERD to the last saved layout. This clears any unsaved layout changes. 
    Your ERD should automatically show an changes elsewhere in PhixFlow.  For example, if someone adds a new attribute to a table in your ERD, the attribute will appear on the list. If changes are not appearing, click this icon.

    Ungroup

    Not available??

    Select a grouped set of items and then click to ungroup them.

    Select several items then click to group them together.

    Table Pop-up Menu

    To access more options in a pop-up menu, in the table header, click 

    Insert excerpt
    _more_options_erd
    _more_options_erd
    nopaneltrue
     


    OptionDescription

    Insert excerpt
    _config
    _config
    nopaneltrue

    ?? Can this be 

    Insert excerpt
    _property_settings
    _property_settings
    nopaneltrue

    Open the properties for this table.

    Insert excerpt
    _remove
    _remove
    nopaneltrue

    Remove the selected item(s) from the diagram.

    Image AddedShow many to one relations
    ?? should be 
    Insert excerpt
    _rel_out
    _rel_out
    nopaneltrue

    Tables may have relationships to other tables not represented on the current ERD. Use these options to add all related tables to your ERD so that you can see the full relationship set; see Show Relationships From Other ERDs , above.

    Image AddedShow one to many relations

    ?? should be 

    Insert excerpt
    _rel_in
    _rel_in
    nopaneltrue
     

    Insert excerpt
    _attributes_show_hide
    _attributes_show_hide
    nopaneltrue

    Toggle the table between expanded to show all attributes or collapsed to show only the table name, primary key and any foreign keys.

    Other attributes are hidden.
    Show AttributesExpand the table to show all the attributes
    Parmanently Delete

    This is useful if your table contains many attributes.

    Insert excerpt
    _delete
    _delete
    nopaneltrue
    Delete the selected item(s) from the ERD and from everywhere it is used.

    Attribute Pop-up Menu

    Delete Attribute
    OptionDescription
    Make Primary Key
    Make Foreign KeyAdd New Stream AttributeKey
    Add New Stream Attribute

    Delete Attribute

    Insert excerpt
    _delete
    _delete
    nopaneltrue




    .
    HTML Comment
    hiddentrue
    Things not yet implemented
    For the Starting Point table:
    I have data in Excel files

    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.

    PhixFlow prompts you to set the primary key and display name attributes.Link to doc on XD flow 4.10
    For Open an Existing ERD
    1. From the home menu, select Data and click on an ERD in the list.
    2. 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
    For Open an Existing ERD
    1. From the home menu, select Data.
    2. PhixFlow displays the list of ERDs. Select Create New from the left hand side.
    3. In the pop-up, enter a name for your ERD, and a description then click 
    Insert excerpt
    _dialog_finish_dialog_finish
    nopaneltrue
    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
    For Create Relationships table
    primary keytable headertable1.primarykey → table2.new-attribute
    1:many
    For Show Relationships From Other ERDs (before Saving 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_innopaneltrue Insert excerpt_rel_out_rel_outnopaneltrue
    1. and click on an ERD in the list.
    2. 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
    1. From the home menu, select Data.
    2. PhixFlow displays the list of ERDs. Select Create New from the left hand side.
    3. In the pop-up, enter a name for your ERD, and a description then click 

      Insert excerpt
      _dialog_finish
      _dialog_finish
      nopaneltrue
      .

      Tip

      When you are creating tables, choose a name that reflects the entity your table represents.


    4. 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
    For Create Relationships table
    primary keytable headertable1.primarykey → table2.new-attribute
    1:many