Skip to content
This repository has been archived by the owner on Sep 29, 2021. It is now read-only.

Data Modelling Design Process

Mansi Patel edited this page Nov 10, 2020 · 1 revision

Entity/Relationship Modelling

The first step in database architecture is to decide the data requirements of the users. A process called normalization can help us to develop data model. To review data and data requirements with user perspective, the entity and attribute must be defined.

Entity: An entity is something about which information is known. It represents or describes something of interest to the user, such as person, a place, or a thing. Example of entities can be Transporter, Inspector etc.

Attribute: An attribute provides detailed information about an entity. it helps one to identify, describe, or clarify the entity by providing a value for some quantifiable characteristic or trait. Example, Transporter name, Truck License Plate# etc.


The steps requires to normalize the data to create effective data model:

  1. As a staring point, determine the data requirements from the available forms to create the entity/attribute list.

  2. Cleaning up the entity/attribute list

    Before beginning the normalization process, the initial entity/attribute list must be checked for errors or oversights. The following four problem types can be considered to cleaning the entity/attribute list

    • Problem Type 1 - Synonyms
    • Problem Type 2 - Homonyms
    • Problem Type 3 - Redundant Information
    • Problem Type 4 - Mutually Exclusive Data
  3. Now that a clean entity/attribute list exists in which an attribute has one and only one name as well as a unique meaning, the normalization process begin.

    Normalization is the process of analyzing the dependencies between attributes within entities.

  4. Normalization Steps includes -

    • First Normal Form(1NF)(according to book "A Practical Guide to Database Design (Second Edition) by Rex Hogan):

      An entity is in 1NF if 1. All entities must have a key, composed of an attribute or combination of attributes which uniquely identify one occurrence of the entity. 2. For any single occurrence of an entity, each attribute must have one and only one value.

    • Second Normal Form(2NF)(according to book "A Practical Guide to Database Design (Second Edition) by Rex Hogan):

      For 2NF, each non key attribute must depend on the key and all parts of the key.

    • Third Normal Form(3NF):

      For an entity to be in 3NF, each non-key attribute must relate to the key, the whole key, and nothing but the key.

  5. Creating a Relational Data Model based on 3NF.


Using the above process, we can create error-free and detailed data model of an application. After creating the data model, it is easier to implement database for our application.

Deliverables pages (see website)

Client meeting minutes pages:

  1. Progress Update and Project Requirement Questions Oct 5, 2020
  2. Progress Update Meeting Oct 29, 2020
  3. Progress Update Meeting and USM-related questions Nov 11, 2020
  4. Mentor Progress Update Meeting Nov 25, 2020
  5. Livestock Services Saskatchewan Project Meeting Dec 3, 2020
  6. Team and Instructor, Mentor, and Faculty Meeting Minutes

Team meeting minutes pages:

  1. Sprint 0
  2. Sprint 1
  3. Sprint 1 Retrospective
  4. Sprint 2
  5. Sprint 2 Retrospective
  6. Sprint 3
  7. Sprint 3 Retrospective
  8. Sprint 4
  9. Sprint 4 Retrospective
  10. Sprint 5
  11. Sprint 5 Retrospective
  12. Sprint 6
  13. Sprint 6 Retrospective
  14. Sprint 7
  15. Sprint 8
  16. Sprint 7/8 Retrospective
  17. Sprint 9
  18. Sprint 10

Requirements-related pages:

  1. About Project Charter
  2. About Project Requirements

Specification-related pages:

  1. Animal Record Transport Template Breakdown
  2. Transfer of Care Document Breakdown
  3. FWR Document Breakdown
  4. Contingency Plan Breakdown

User Story Mapping-related pages:

  1. User Story Mapping Guide

Design-related pages:

  1. C4-Model for Client-Server Architecture
  2. Data Modelling Design Process
  3. Guide to GUI Prototyping Structure

System Test Procedure pages:

  1. Animal Transport Record-related Test Cases
  2. Transporter Account-related Test Cases
  3. System Settings-related Test Cases

Investigation pages:

  1. Adobe XD vs Figma
  2. Client-Server Architecture Tools
  3. Firebase vs. AWS Amplify

Project Setup/FAQ pages:

  1. Cloning Humane Transport
  2. Set up Pre-Commit
  3. IDE Useful Settings
  4. Testing Workflow
  5. Useful Git Commands
  6. Must Know Flutter Concepts
Clone this wiki locally