Missing data in databases can cause bugs in applications or incorrect calculations. Recently, while working on a RETS application, I needed to ensure that not many missing values were encountered in one of the MySQL tables. Although one could easily write a SQL query to find the percentage of missing values, I many times find it easier to first get a visual representation of the amount of missing data there is in the table, and then drill-down further if required. One library that I found that lets you easily get a visual representation of missing data in your database tables is missingno – a Python library.
Read More
Tag: database
Pitfalls of assigning a wrong data type to a database column
A recent debugging session on a web application surfaced a recurrent issue in database design – that of assigning a wrong data type to a database field.
Read More

Free datasets for testing database engines
Below is a small list of free datasets with which you can test your database queries or use it for learning and practicing sql query optimization or other things.
Read More
Combinatorial row pairing in databases
While working on a database design I came across the problem of finding combinations or ‘cartesian product’ between all the rows between one table to another table, but not repeating the same permutations.
Take the ‘Teams’ table below which lists four cricket teams. We want to create a combination list of matches between each teams.
Read More

Semantic Normalization of data
Every database programmer knows about database normalization – the process of organizing the columns and tables a relational database to minimize data redundancy. Semantic Normalization is the process of reshaping free form entered data. I first encountered the concept in Nathan Marzs Big Data: Principles and best practices of scalable realtime data systems.
Read More

MySQL transactions in NodeJS
In a previous post we saw how to access and query MySQL from NodeJS. In this post we will see how we can use MySQL transactions in NodeJS. We will be using the same library as used before, so if you have not installed it go ahead and install it. The library supports simple transaction at the connection level.
Read More