Versions Compared

Key

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

This page is for application designers who want their application to be backed by data. It explains how to draw an ERD and setup its properties.

Overview

Use an ERD to represent the data tables that your application will use and the relationships between the tables.

As you draw the diagram, PhixFlow creates table, attribute and relationship items. You can find:

  • tables in the repository Data → Tables category.
  • attributes listed in the table's properties.

PhixFlow sets the properties for a relationship item automatically. If you want to check them, in the ERD, click the relationship arrow to open its properties.

PhixFlow automatically saves any changes you make to the ERD. This is no longer true, the save will work the same way as an Analysis model.

For ERD concepts, see Understanding ERDs.


Panel
borderColor#7da054
titleColorwhite
titleBGColor#7da054
borderStylesolid
titleSections on this page

Table of Contents
indent12px
stylenone


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 confirm ??icon.
  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.
Tip

When you make any changes to the ERD, remember to 

Insert excerpt
_save
_save
nopaneltrue
 them. PhixFlow autosaves any new tables, attributes and relationships check??

Open an Existing ERD

To open an existing ERD you can:

  • 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
      _erd
      nopaneltrue
       icon.

Create a New Table

  1. From the canvas toolbar, drag the 
    Insert excerpt
    _streams_add
    _streams_add
    nopaneltrue
     icon from the toolbar into the diagram.
  2. In the pop-up, enter its name, for example "Customer" and click
    Insert excerpt
    _dialog_finish
    _dialog_finish
    nopaneltrue
    .
  3. PhixFlow the table to the canvas, and opens the table's properties tab on the right. The table is created with two attributes: UID and Name. The UID is set as the primary key and the Name has the name you entered in the pop-up. is set as the display attribute for the table. We might want to make reference to how this is used?
  4. To add attributes to the table:
    1. In the table, click 
      Insert excerpt
      _add
      _add
      nopaneltrue
      . PhixFlow opens the attribute properties.
    2. Enter the Name, Type and Length for the data; see Stream Attributes. Attributes are created with the default of a 50 character string. It's important to change this for other types of data, for example, numerical or date/time data. We make no reference to the current table  relation button?
    3. Insert excerpt
      _dialog_finish
      _dialog_finish
      nopaneltrue
       the attribute properties.
  5. PhixFlow adds the attribute to the table in the ERD.

Add an Existing Table

  1. From the canvas toolbar, Click the Stream List icon. Tables icon. Should this be an icon?
  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. 

Creating Relationships Between Attributes

The purpose of a relationship is to show that an attribute in one table contains the same data as the same as a primary key in another table. I dont understand this? My understanding is that it allows us to display data from a different table without having to duplicate the data in multiple places? You are aiming to: Not sure how this helps?

  • relate a primary key with a non-primary attribute. do we want to make refence to a foreign key? 
  • ensure related attributes have the same data properties.

To create a relationship between attributes in different tables, click-drag from one attribute to another. 

  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.
  4. PhixFlow
    • adds the relationship arrow
    • sets the destination attribute to be a foreign key. Only if you have dragged a primary key, but we can drag a non-primary key onto a primary key. I think this is a bug - it should only be possible to connect primary to foreign key, and I'm not happy with converting non-key to foreign-key because it currently ignores type mismatches. Can drag a primary key onto a non-primary key (if the types match), can drag a non-primary key onto a primary key (if the type matches). 

If you try to create a relationship between two non-primary attributes, PhixFlow assumes the source attribute is the primary key. We don't support this as it's considered a many-to-many.

  • If the source table does not have a primary key, it sets the source attribute to be primary. This isn't true if you've defined a stream elsewhere, but I'm inclined to think that you shouldn't be allowed to add relationships until you have added/nominated a primary key.
  • If the source table already has a primary key, it uses it as the source attribute. 

Do we need to explain the many-to-one and the one-to-many and that m:n is not supported at this time?

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.

Image Added

Context menu

To see the context menu for a table:

  • in the table header, click 
    Insert excerpt
    _more_options_erd
    _more_options_erd
    nopaneltrue
     
  • right-click anywhere in the table.

Configure → Table properties

Hide Attributes  →  Hide attributes

Remove this item from the Diagram → Remove from ERD

Permanently Delete → Delete everywhere

Properties

I cant add a direct comment but the section below relates to the properties toolbar? Should it say tab? it links later to the tabs section.

Insert excerpt
_standard_settings
_standard_settings
nopaneltrue

Basic Settings

FieldDescription
NameEnter the name for the ERD. When you press Return or click Save  PhixFlow opens an empty diagram in the workspace on the left. check??

ERD Context Menu and Toolbar

In an ERD, you can hover your mouse pointer over the toolbar or context menu options to see what they are for.

We have a more menu and make no reference to it? I am note sure we have a right click menu.

Toolbar

You can find the toolbar at the top of the canvas.

This should be to record what goes into tooltips

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.

HelpSlide open the help panel on the right. there is no help button??
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.

Context Menu

In the ERD, right-click a table to show the context menu.

OptionDescription

Configure Table

Open the properties for this table.

Remove from Diagram

Remove the selected item(s) from the diagram.

Show all tables using this table

Lists the tables with a relationship into this one (many-to-one).

Show all tables related tables

Show all tables used by this table

List the tables this one relates out to (one-to-many).  

Delete everywhere

Delete the selected item(s) from the ERD and from everywhere it is used.