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.

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

Table of Contents
maxLevel4
indent12px
stylenone

Starting PointProcessPrimary KeySeeI 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 DataI have tables in PhixFlow alreadyIn the ERD toolbar, click Insert excerpt_table_list_table_listnopaneltrue to display a list of all the tables. Drag tables into the ERD and then add the relationships.Defining Data Structures using ERDs 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 ERD
  • From the home menu, select Data.
  • PhixFlow displays the list of ERDs. Select Create New from the left hand side.
  • In the pop-up, enter a name for your ERD, and a description then click  Insert excerpt_dialog_finish_dialog_finishnopaneltrue.
    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
    Note Insert excerpt_uid_uidnopaneltrue

    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_displaynopaneltrue icon.

    Create a New ERD

    In the repository,  find ERD. Right-click to display the context menu, and select  Insert excerpt_add_addnopaneltrueEnter a name for your ERD, and a description then click  Insert excerpt_finish_finishnopaneltrue.
    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_listnopaneltrue.
  • 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  Insert excerpt_table_new_table_newnopaneltrue  from the toolbar into the diagram.In the pop-up, enter a name, for example "Customer", and click Insert excerpt_dialog_finish_dialog_finishnopaneltrue.
  • 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  Insert excerpt_new_newnopaneltrue. 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 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  Insert excerpt_finish_finishnopaneltrue to save the attribute properties.
  • 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 lineFrom table1To table2primary 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.

    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:

    Insert excerpt_rel_in_rel_innopaneltrue Insert excerpt_rel_out_rel_outnopaneltrue

    Saving ERDs

    Changes to tables, attributes and relationships are automatically saved. However, you must click  Insert excerpt_save_savenopaneltrue to keep any changes you make to the layout, such as moving tables or adding angle points to relationships. 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 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. 

    Image Removed

    By default, relationships are straight lines, but you can change them to have angles (shown in the screenshot on the left).

    1. Click on a relationship line to add an angle point, which appears as a blue dot.
    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 (shown in 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
    CreateDrag this icon onto the canvas to create a table.ScreenCreates a new screen for the selected table.
    List
    TablesClick to see a list available tables.ScreensClick to see a list available screens.
     Canvas
    SaveSave 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.

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

    ForwardFor 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_erdnopaneltrue 
  • right-click anywhere in the table.
  • OptionRename to Description

    Configure Table

    Table properties

    Open the properties for this table.

    Remove this item from the Diagram

    Remove from ERD

    Remove the selected item(s) from the diagram.

    Hide AttributesHide attributesCollapse the table so that it only shows the table name, primary key and any foreign keys. Other attributes are hidden.Show AttributesShow attributesExpand the table to show all the attributesParmanently DeleteDelete everywhereDDelete the selected item(s) from the ERD and from everywhere it is used.

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

    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
      nopaneltrue
    • Insert excerpt
      _rel_out
      _rel_out
      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.

    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
    _audit
    _audit
    nopaneltrue


    ERD Toolbar

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

    OptionDescription
    Create
    CreateDrag this icon onto the canvas to create a table.
    ScreenCreates a new screen for the selected table.
    List
    TablesClick to see a list available tables.
    ScreensClick to see a list available screens.
     Canvas
    SaveSave 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.

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

    ForwardFor 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
      nopaneltrue
       
    • 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 relations
    Show one to many relations
    Hide AttributesCollapse the table so that it only shows the table name, primary key and any foreign keys. Other attributes are hidden.
    Show AttributesExpand the table to show all the attributes
    Parmanently DeleteDelete the selected item(s) from the ERD and from everywhere it is used.

    Attribute Pop-up Menu

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



    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 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
    For Show Relationships From Other ERDs (before or after 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_in
      nopaneltrue
    • Insert excerpt
      _rel_out
      _rel_out
      nopaneltrue