Overview
PhixFlow Entity Entity Relationship Diagrams (ERDs) define the logical structure of the data in your application. "Entities" are displayed as tables and represent the "things" in the world that you want to represent as data.
The ERD Window show as data.
Image Added
Opening and Creating ERDs
- On your application's home page, click to list the existing ERDs.
- Alternatively, click from the header bar.
- Image Added
- To create a new ERD, click the button.
- To open an existing ERD, double-click it.
ERD Layout
Here is a simplified view of the ERD window:
Image Removed
The toolbar provides ERD specific options, such as displaying the available data tables that you can add to your ERD and creating a new screen for your data. Image Added
Expand |
---|
|
- Toolbar: This contains ERD-specific options to add data to the ERD and move tables on the canvas.
- Repository: On the toolbar, click
Insert excerpt |
---|
| _tables |
---|
| _tables |
---|
nopanel | true |
---|
| to list all
|
available rpane on . The main part of the window is the canvas, where you create the ERD.To add a new table, from the toolbar, drag the Insert excerpt |
---|
_tables | _tables | nopanel | true |
icon onto the canvas.To add an existing table, on the toolbar, click Insert excerpt |
---|
_tables | _tables | nopanel | true |
. PhixFlow lists the available tables in the repository. Drag a table from the repository onto the canvas. To add an Excel or CSV spreadsheet, drag it directly onto the canvas. PhixFlow imports the data and uses it to create a new table.Image Removed
Table Relationships
- A table is represented as a box, containing a list of all of the attributes it contains and their associated data type.
- A line connecting tables represents the relationship between them. The line connects the primary key of one table to a foreign key in a different table; see Relationship.
Image Removed
ERD Example
The following example shows an ERD for a school. Here the school has entities: departments, teachers, students, classrooms and so on. All these entities are represented as tables and the lines connecting them show their relationships to one another. We can see from this diagram that a School Department has many Classrooms and Teachers. This example is covered in detail in Understanding ERDs.
Image Removed
Creating an ERD and Opening an Existing ERD
On your application's home page, click Insert excerpt |
---|
_erd | _erd | nopanel | true |
to list the existing ERDs.Alternatively, click Insert excerpt |
---|
_erd | _erd | nopanel | true |
from the header bar. On the Entity Relationship Diagrams page:Click the Insert excerpt |
---|
_add | _add | nopanel | true |
button to create a new ERD.Alternatively, double-click any existing ERD to open it.Already Have Data?
If you have data to import into PhixFlow, such as a database or API, use an Analysis Model to import it. This allows you to configure connectors to access your existing data and store the data as tables in PhixFlow's own database. See Importing Data and Importing Data Through an API.
You can also use an Analysis Model to set up bulk processes to manipulate large volumes of data before it is presented to your users. See Analysis Models for Batch Processing Data.
What's Next?
Understanding ERDs covers ERDs in more depth to help you design your own ERDs and views to display your data.- . These can be dragged and dropped onto the canvas.
- Canvas: This is where you create and modify your ERD.
- Table: This is represented as a box, containing a list of all of the attributes within the data and their associated data type (e.g. string).
- Relationship: This is represented as a line connecting the tables.
- Options: View the data in the table by clicking
Insert excerpt |
---|
| _view_show_icononly |
---|
| _view_show_icononly |
---|
nopanel | true |
---|
| or show all table options by clicking Insert excerpt |
---|
| _more_options_erd_IconOnly |
---|
| _more_options_erd_IconOnly |
---|
nopanel | true |
---|
| .
|
Tables
A table is where your data is stored for your application. Click on the image below to enlarge it.
Image Added
Attributes
Attributes represent the different pieces of data recorded in the table, and can be thought of as column headers on a spreadsheet.
- Attributes are configured with a data type (e.g. string, integer, true/false) and properties. To change these, click on the attribute's name. See Understanding Data Types.
Primary Keys
Insert excerpt |
---|
| _key_primary |
---|
| _key_primary |
---|
nopanel | true |
---|
|
s are special attributes which uniquely identify each record.
Secondary Keys
Insert excerpt |
---|
| _key_secondary |
---|
| _key_secondary |
---|
nopanel | true |
---|
|
s are attributes that index records and do not have to be unique.
- When creating relationships on the ERD, one attribute in the relation must be either a Primary Key or a Secondary Key
Example: In a student records table, if a student ID is the primary key, a student's email address or phone number could be a secondary key. This allows data to be retrieved using these attributes even if the student ID is not known.
Foreign Keys
Insert excerpt |
---|
| _key_foreign |
---|
| _key_foreign |
---|
nopanel | true |
---|
|
s are attributes in one table that relate to the Primary Key or Secondary Key in another table.
- Foreign Keys must have the same data type as the corresponding Primary Key or Secondary Key. For example, both must be strings and of the same length.
Info |
---|
When a relationship is created by dragging a Primary Key or Secondary Key from one table onto the attribute of another table, PhixFlow sets this attribute to be a Foreign Key. |
Image Added
Display Names
Display Names are special attributes which are displayed instead of a Foreign Key, as they make more sense to a human.
- When you create a new table, PhixFlow adds an attribute called Name and configures it as the Display Name.
- This is then shown in place of the Foreign Key when displayed on a screen as part of a relational view, see Using Relational Views. Display Names do not need to be unique and should be user-friendly.
- If your data already has an attribute you want to use as the Display Name, right-click it and select Make Display Name.
Validation
Validation is applied to table attributes and determines the criteria an attribute must satisfy in order to be considered valid. For example, the attribute is mandatory, must contain a minimum number of characters or must adhere to a specific pattern. Validation, added to a table attribute, will be applied wherever that attribute is updated, such as when saving data on an input screen. See Adding Validation to Table Attributes.
Indexing
Indexes are applied to attributes on a table and help improve the speed of data retrieval when handling large data sets. See Indexing.
Relationships Between Tables
Anchor |
---|
| relationships |
---|
| relationships |
---|
|
For full information on table relationships, including multi-hop relationships, see Understanding Table Relationships.
Working in an ERD
You can add tables in an ERD manually. See Adding Data and Tables to an ERD.
- Create a new table by dragging
Insert excerpt |
---|
| _tables |
---|
| _tables |
---|
nopanel | true |
---|
|
from the toolbar onto the canvas. - Add an Excel spreadsheet or CSV file by dragging it onto the canvas. PhixFlow imports the data and creates a new table. Note, the expected format is the header is the first row followed by the data. If your data is in a different format, this is supported, see Importing Data from Excel (Advanced).
- Add an existing table by clicking
Insert excerpt |
---|
| _tables |
---|
| _tables |
---|
nopanel | true |
---|
|
in the toolbar. The available tables are listed in the Repository and can be dragged onto the canvas. - If you have data in an external source such as database and wish to add this data, it will first need to be imported. See Importing Data.
View Table Data
To view the data in a table, click
Insert excerpt |
---|
| _view_show_icononly |
---|
| _view_show_icononly |
---|
nopanel | true |
---|
|
from the header as illustrated below. Different views can be created and will also be made available from this option, see Creating Dashboards and Reports (Charts and Graphs).Image Added
Create a Screen from a Table
Select
Insert excerpt |
---|
| _more_options_erd_IconOnly |
---|
| _more_options_erd_IconOnly |
---|
nopanel | true |
---|
|
from the table options and click Create Screen. See Creating a Screen from an ERD Table.Image Added
Multiple ERDs
The same table can appear on multiple ERDs.
ERD Example
Expand |
---|
title | Display worked example |
---|
|
The below example is an ERD for a school. A school has entities, for example: departments (SchoolDept), teachers, students, class rooms, and so on. All these entities are represented as tables. The lines connecting the tables show the relationships between them. We can see from this diagram that a Departments (SchoolDept) has many Classrooms and Teachers. Image Added In the Teacher table, Department is the Foreign Key and contains the same data type as the Primary Key, UID, in the SchoolDept table. The Foreign Key represents the many side and the Primary Key the one side. This means that SchoolDept.UID is unique and there is only one record containing this unique information. Teacher.Department can have one or more instances of a value of UID. For example, the Maths Department UID could occur 10 times, once for each of the 10 maths teachers. When you create screens that show data, PhixFlow uses the relationships defined in the ERD to provide options for displaying data from related attributes in the same grid, form, card, graph or chart. This means you only need to store the School DeptID against a teacher to be able to access all of the SchoolDept details. See Displaying Data (Views). |
What's Next?
The PhixFlow Fundamentals course provides a practical guide to using PhixFlow, including setting up ERDs.
Already started PhixFlow Fundamentals?
Return to ERD Fundamentals
Further Reading
Child pages (Children Display) |
---|
|