Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 91

This page is for data modellers or application designers. It explains how to draw an ERD and its properties.

See Understanding ERDs

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

Table of Contents
indent12px
stylenone

Drawing ERDs

Create an ERD

In the repository for your application, right-click on  Insert excerpt_erd_erdnopaneltrue.Click  Insert excerpt_add_addnopaneltrue.PhixFlow opens the properties tab on the right. Enter the name for your ERD and either press Return or click  Insert excerpt_finish_finishnopaneltrue.
  • PhixFlow opens a new ERD canvas on the left. The ERD has a toolbar at the top; see the Toolbar section below for details.
  • TipWhen you make any changes to the ERD, remember to  Insert excerpt_save_savenopaneltrue.

    Open an ERD

    To open an existing ERD

  • either, in the repository, right-click on its name and select Display.
  • or, in the properties toolbar, click the . Insert excerpt_erd_erdnopaneltrue icon.

    Create a New Table

    Drag the  Insert excerpt_streams_add_streams_addnopaneltrue icon

    Insert excerpt
    _Banners
    _Banners
    nameERD
    nopaneltrue

    Overview

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

    The process for defining data structures in an ERD depends on whether or not you have already 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 PointProcessPrimary KeySee
    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 will be 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:

    • a primary key called UID
    • a Name attribute, as the Display Name.
    I have data but it's not in PhixFlow

    Use 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 will be 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 already

    In 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

    Create a New Table using Excel or CSV Data 
    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_new
      _table_new
      nopaneltrue
        from the toolbar into the diagram.
    2. In the
    pop-up
    1. popup, enter
    its name, for example "Customer" and click Insert excerpt_dialog_finish_dialog_finishnopaneltrue. PhixFlow opens a new Stream properties tab.PhixFlow adds a box to represent the table, and opens the properties tab for it
    1. a name 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.
      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:
      either, in the properties tab
        1. In the table, click 
          Insert excerpt
          _new
          _new
          nopaneltrue
          . PhixFlow opens the attribute properties on the right,
      In the Attributes section, click 
        1. 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
          _
      add
        1. finish
          _
      add
        1. finish
          nopaneltrue
      .
    2. or right-click the table and select Add New Stream Attribute.
    3. PhixFlow opens a Stream Attributes properties tab where you can specify details for the attribute, such as its name, data type and length. 
    4. If this is the unique identifier, tick Primary Key. Remember to include ID or UID in the name
        1.  to save the attribute properties.
      1. PhixFlow adds the attribute to the table in the ERD.

      Add an Existing

      Stream

      Table

      1. In the
      repository, open
      1. toolbar, click 
        Insert excerpt
        _table_list
        _table_list
        nopaneltrue
        .
      2. PhixFlow filters the repository to show the list of tables
      /streams
      1. available in this application.
      2. Drag a table
      /stream
      1. from the repository
      into
      1. onto the
      diagram. PhixFlow adds the stream with a list of all of its attributes.
    5. If the stream has many attributes, click Image Removed to collapse the stream so that it only shows the primary and foreign keys.
    6. Connect Attributes

      To connect attributes in different tables/streams, click-drag from one attribute to another. PhixFlow shows the currently selected destination in bold. Release the click to connect to the selected destination.

      PhixFlow can only connect primary and foreign keys. This creates a one to many relationship. If you connect standard attributes, PhixFlow automatically sets them to be foreign keys.

      Tip

      PhixFlow automatically ticks the Primary Key or a Foreign Key boxes in the the Stream Attributes properties.

      Properties

      Insert excerpt_standard_settings_standard_settingsnopaneltrue

      Basic Settings

      FieldDescriptionNameEnter the name for the ERD. When you press Return or Save a new properties tab, PhixFlow opens an empty diagram in the workspace on the left
      1. ERD canvas. 

      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

      1. Click-drag from one attribute name to another.
        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.

      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 keep the related tables in your ERD, in the toolbar, click 

      Insert excerpt
      _save
      _save
      nopaneltrue
      .

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

      Insert excerpt
      _refresh
      _refresh
      nopaneltrue
      .

      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
        _config
        _config
        nopaneltrue
      • attributes: in the table, click on an attribute.

      PhixFlow opens the properties pane on the right.