Versions Compared

Key

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

Insert excerpt
_Banners
_Banners
nameERD
nopaneltrue

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 ERDsEntity Relationship Diagrams.

The process for creating defining data structures in an ERD is slightly different depending depends on whether or not you have already created streams tables in PhixFlow.   The following stream The 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.):

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

streams

tables, attributes and their relationships in the ERD.

Later you will need to add records to the

streams

table:

  • either manually, for
example create
  • example, create a screen in which application users can enter data.
  • or via an
analysis model
  • Analysis Model.

PhixFlow automatically creates

each stream

each table with:

a primary key
  • Primary Key called UID
  • a Name attribute
the Name attribute set as the display name; see 
9106729476 Import Scenarios
I have data but it's not in PhixFlowUse an
analysis model
Analysis Model to connect to your data. PhixFlow can read the data structures to create
stream. When you run analysis on the model, PhixFlow loads the data records
tables.

In each

stream

table:

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


Note

Insert excerpt
_uid
_uid
nopaneltrue

How to Define

Creating Tables in 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 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, click  Insert excerpt_table_list_table_listnopaneltrue.
  • PhixFlow filters the repository to show the list of streams available in this application.
  • Drag a stream from the repository onto the ERD canvas. 
  • Create a New Stream

    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
      _table_newtables
      _table_newtables
      nopaneltrue
        from  from the toolbar into the diagram.
    2. In the pop-uppopup, enter a name , for example "Customer", and click Insert excerpt_dialog_finish_dialog_finishnopaneltruethat reflects what the table will represent. For example, Customer.
    3. PhixFlow opens the properties tab for the new stream on the right table and adds the stream table to the canvas.
      The table header displays the its name entered in step 2.PhixFlow automatically adds 2 two 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 to provide a user-friendly name, rather than a numeric identifier. Optionally, change the attribute name, a display name that is shown instead of the numeric UID in a view or form.
    1. To add attributes to the streamtable:
      1. In the streamtable, 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 Attribute. 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 stream in the ERD.to the table in the ERD.

    Add an Existing Table

    1. In the toolbar, click 
      Insert excerpt
      _tables
      _tables
      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. 

    Image Added

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

    Image Added

    Relationships

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

    Drag fromRelationship
    line
    From stream1To stream2
    Table 1Table 2
    primary keyattribute
    stream1

    1:Many

    Table1.primarykey →

    stream2

    Table2.attribute


    1:many



    attributeprimary key
    stream2

    1:Many

    Table2.primarykey →

    stream1

    Table1.attribute


    1:many


    attributeattribute
    if stream1

    If Table1 has no primary key

    :

    , PhixFlow makes the

    stream1

    Table1.attribute the primary key.

    if stream 1

    If Table1 has a primary key

    :

    , the relationship is from

    stream1

    Table1.primarykey instead of from

    stream1.

    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 in the ERD, click on an attribute to open its properties.

    TipIf 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

    .

     

    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 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 streamstables, right-click a stream table to show the context popup menu and select:

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

    PhixFlow adds the related streams tables to your ERD. 

    To keep remove the related streams in tables from your ERD, in the toolbar, right click on each one and click 

    Insert excerpt
    _saveremove
    _saveremove
    nopaneltrue
    .
    To remove the related streams from your ERD, in the toolbar, click  Insert excerpt_refresh_refreshnopaneltruethe diagram.

    Saving ERDs

    Changes to streams, attributes and relationships are automatically saved. However, to keep any 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_save_savenopaneltrue 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

    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
    • for a streamtables: in the ERD, click on the stream the table header or right-click to open the pop-up popup menu and select 
      Insert excerpt
      _configedit
      _configedit
      nopaneltrue
    • for an attributeattributes: in the streamtable, 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 pane 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.

    Image Removed

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

    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.

    Hover your mouse pointer over
    an angle to see the blue angle point.

    Image Removed

    Right-click the blue angle point to see the Remove option

    Image Removed