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.

Insert excerpt
_Banners
_Banners
nameERD
nopaneltrue

Overview

For an introduction to ERD concepts and why ERDs are important, see 

Understanding ERDs things you need to consider when defining

process for defining data structures in an ERD

depend

depends on whether or not you have already

loaded data into PhixFlow. 
  • If you do not have any data for your application or it has not been loaded yet:
    1. Create tables, attributes and relationships in the ERD.
      • New tables have an attribute called UID, which is the primary key.
      • Make sure the data Type is correct for the data that will populate each attribute.
      • PhixFlow adds table items to the repository. Attributes are listed within the Table properties. 
      • Relationships are not listed in the repository. To see relationship properties, in the ERD, click the relationship arrow.
    2. Add records to your tables:
      • either manually
      • or from an external source, e.g. Excel file, database etc.
  • If you have already loaded data, the tables are listed in the repository.
    1. Drag tables from the repository Data → Tables into the ERD canvas.
    2. Set the primary key:
      • Either create an attribute called UID that PhixFlow will populate with unique values for each record
      • Or select an attribute to be the primary key. You will need to ensure this contains unique values.
    3.  Add relationships
      • Primary key and foreign key attributes must have the same data Type.
Panel
borderColor#00374F
titleColorwhite
titleBGColor#00374F
borderStylesolid
titleSections on this page

Table of Contents
maxLevel4
indent12px
stylenone

How to Define an ERD

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 double-click the ERD name to open the properties. In the properties toolbar, click the Insert excerpt_erd_erdnopaneltrue icon.

    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.
  • 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 Table ListImage Removed
    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

    Drag Table CreateImage Removed

    created tables in PhixFlow. The following table summarises the different ways you can add data to an ERD, depending on your starting point:

    Creating and Importing Data

    Starting PointProcessAttributesFurther Topics
    I have CSV or Excel dataDrag the file onto the ERD canvas. PhixFlow automatically imports the data for you.

    In each table:

    • either set one attribute as the Primary Key and ensure all values are unique
    • or add an attribute called UID with 
      • Data Type = Integer
      • Precision = 10
    • and set one attribute to be the Display Name.
    • Creating Tables in an ERD, below.
    I have no data

    Define the tables, attributes and their relationships in the ERD.

    Later you will need to add records to the table:

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

    • Primary Key called UID
    • a Name attribute, as the Display Name.
    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.

    In each table:

    • either set one attribute as the Primary Key and ensure all values are unique
    • or add an attribute called UID with 
      • Data Type = Integer
      • Precision = 10
      • Tick Primary Key
    • and set one attribute to be the Display Name.
    I have tables in PhixFlow alreadyIn the ERD toolbar, click
    Insert excerpt
    _tables
    _tables
    nopaneltrue
     to display a list of all the tables. Drag tables into the ERD and then add the relationships.


    Note

    Insert excerpt
    _uid
    _uid
    nopaneltrue

    Creating Tables in an ERD

    Drag and Drop Import: Create a New Table using Excel or CSV
    Anchor
    Excel
    Excel

    1. Drag a CSV or Excel file directly onto an ERD canvas.
    2. PhixFlow creates a table automatically based on the information in the file.

    This topic is also covered in the ERD Fundamentals video course; see Entity Relationship Diagrams.

    Create a New Table 
    Anchor
    NewTable
    NewTable

    1. Drag 
      Insert excerpt
      _tables
      _tables
      nopaneltrue
       from the toolbar into the diagram.
    2. In the
    pop-up
    1. popup, enter a name
    , for example "Customer" and click Insert excerpt_dialog_finish_dialog_finishnopaneltrue.PhixFlow
    1. that reflects what the table will represent. For example, Customer.
    2. PhixFlow opens the properties for the new table and adds the table to the canvas
    and opens its properties tab on the right
    1. .
     

  • Name - displays the name entered in step 2.
  • UID - the unique identifier and primary key
    1. The table header displays its name. PhixFlow automatically adds two attributes:
      • UID, a primary key that is a unique identifier for each record.
      • Name, a display name that is shown instead of the numeric UID in a view or form.
    1. To add attributes to the table:
      1. In the table, click 
        Insert excerpt
        _
    add
      1. new
        _
    add
      1. 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
    , Type and Length for the data; see Attributes.
    PhixFlow creates attributes with a Type or String and Length of 50 characters. Remember to select
      1. and select appropriate type properties
    for an attributes data
      1. , 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
      2. Click 
        Insert excerpt
    _dialog
      1. _finish
    _dialog
      1. _finish
        nopaneltrue
     the
      1.  to save the attribute properties.
    1. PhixFlow adds the attribute to
    the table
    1. the table in the ERD.
    TipChanges to tables, attributes and relationships are automatically saved to the ERD. However, you must

    Add an Existing Table

    1. In the toolbar, click 
      Insert excerpt
      _
    save
    1. tables
      _
    save
    1. tables
      nopaneltrue
     to keep any changes you make to the layout, such as moving tables or adding corners to relationships.
    1. .
    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. 

    Image Added

    Create Relationships

    In an ERD you can create a one-to-many relationship between a primary key in

    one table

    one table with an attribute in another table. For relationship concepts, see 

    Understanding ERDs

    Entity Relationship Diagrams.

    To create a relationship

    , click

    :

    1. Click-drag from one attribute name to another.
      Expand
    titleMore detail
  • Click on the source attribute.
  • Drag to the destination attribute.

    1. One of the attributes must be a primary key.
    2. PhixFlow highlights the attribute when your mouse pointer is over it. 
    3. When the destination attribute is highlighted, release the click.

    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.

    To select multiple tables, draw a square around them.

    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.

    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

    How PhixFlow Manages Different Relationship Drags

    DragRelationship line

    Foreign key type

    If PhixFlow does any automatic changing of types, then record them here

    From table1To table2primary keyattribute

    table1.primarykey → table2.attribute
    one → many

    Table has no records:  

    Table has records: 21052021 PhixFlow creates relationships with types that don't match

    attributeprimary key

    table2.primarykey → table1.attribute
    one → many

    primary keyprimary keytable1.primarykey → table2.primarykey
    one → one 21052021 should this work?attributeattribute

    if table1 has no primary key: PhixFlow makes the table1.attribute the primary key

    if table 1 has a primary key: relationship is from table1.primarykey  instead of from table1.attribute.

    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

    Image Added

    Relationships

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

    Drag fromRelationship
    Table 1Table 2
    primary keyattribute

    1:Many

    Table1.primarykey → Table2.attribute

    attributeprimary key

    1:Many

    Table2.primarykey → Table1.attribute


    attributeattribute

    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 
    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 popup menu and select:

    • Insert excerpt
      _rel_in
      _rel_in
      nopaneltrue
    • Insert excerpt
      _rel_out
      _rel_out
      nopaneltrue

    PhixFlow adds the related tables to your ERD. 

    To remove the related tables from your ERD, right click on each one and click 

    Insert excerpt
    _remove
    _remove
    nopaneltrue
    from the diagram.

    Saving ERDs

    Any changes you make on the ERD canvas are automatically saved. 

    Accessing Properties

    To access properties for:

    • the ERD: in the canvas toolbar click
      Insert excerpt
      _property_settings
      _property_settings
      nopaneltrue
    • tables: in the ERD, click on the table header or right-click to open the popup menu and select 
      Insert excerpt
      _edit
      _edit
      nopaneltrue
    • attributes: in the table, click on an attribute

    PhixFlow opens the properties pane on the right.