Database Normalization

Database normalization is the process of organizing data in a database so that it is structured, efficient, and easy to use. It involves splitting up large tables into smaller, more manageable ones and ensuring that each table has a single, well-defined purpose. Normalization is a critical part of database design, as it ensures data consistency,…

Read more

With Recursive in PostgreSQL

There are several concepts in real world, which in order to be modeled properly in a database we will need to use a self referential tables. Such concepts can be anything that looks like a “tree”. Think of employees and managers as an organizational chart, taxonomy systems such as animals or genetics, graphs like travel…

Read more

PostgreSQL Window Functions with practical examples

Window functions provide the ability to perform calculations across sets of rows that are related to the current query row. In this post we will explore PostgreSQL’s window functions and how we can utilize them.

Read more

Handling Slowly Changing Dimensions in ETL/BI – From theory to implementation

Slowly Changing Dimensions in Data Warehousing are dimensions that will change over time slowly – instead of changing in regular intervals. Think for example a customer’s address. This is an attribute that it will be not changing on the regular data refreshes, but it could change at some point in the future. In Data Warehouses…

Read more

Handling dates in BI projects and Data Warehouses

One of the biggest challenges -if not the biggest- when we are building ETL pipelines, either for BI projects either for any project that has any integration requirements, is the unification of data. Overall this will be a domain-specific task. Handling dates although, that are imported in our system from external or internal sources (e.g…

Read more