Data Modelling

Data modelling (data modelling) is the analysis of data objects and their relationships to other data objects. Data modelling is often the first step in database design and object-oriented programming as the designers first create a conceptual model of how data items relate to each other. Data modelling involves a progression from conceptual model to logical model to physical schema.

Data modelling is a process used to define and analyze data requirements needed to support the business processes within the scope of corresponding information systems in organizations. Therefore, the process of data modelling involves professional data modelers working closely with business stakeholders, as well as potential users of the information system.

There are three different types of data models produced while progressing from requirements to the actual database to be used for the information system. The data requirements are initially recorded as a conceptual data model which is essentially a set of technology independent specifications about the data and is used to discuss initial requirements with the business stakeholders. The conceptual model is then translated into a logical data model, which documents structures of the data that can be implemented in databases. Implementation of one conceptual data model may require multiple logical data models. The last step in data modelling is transforming the logical data model to a physical data model that organizes the data into tables, and accounts for access, performance and storage details. Data modelling defines not just data elements, but also their structures and the relationships between them.

I have made four tables for my webapp database:

  1. User
  2. Announcement
  3. comment
  4. post

The Schema

The database schema of a database system is its structure described in a formal language supported by the database management system (DBMS). The term “schema” refers to the organization of data as a blueprint of how the database is constructed (divided into database tables in the case of relational databases).

For creating the schema we were recommended to use PonyORM software. Without any ambiguity about the choice of the tool(as it was suggested by ‘Hasura’ :D),we started to get to know more about PonyORM. It basically involves drag and drop operation for the structure of the schema and simple buttons to create entities and attributes. There are options to specify the type of attribute(eg. Primary Key) and even the relationships(eg. many to one) between different entities.

Thank you and feel free to give your feedback, mail me at or visit me at

Show your support

Clapping shows how much you appreciated Rishab Sharma’s story.