When we design a database, we draw an entity relationship diagram (ERD). It helps us understand what kind of information we want to store and what kind of relationships there are. It is imperative that this diagram is easy to read and understand.
The number of entities in a relationship is the arity of this... Read more
When you phone up for house insurance, the insurance company asks you; ”Do you have a five lever mortice deadlock? Does it comply to BS3621? Do you have a burglar alarm and so on? These are all very standard questions for this situation, and we need to make sure we are asking similar questions... Read more
The kata Following on from last time, this is based on Uncle Bob’s now-famous bowling game kata, with the added spice of adhering to the open-closed principle of SOLID. The kata is well-documented online, but briefly, the idea is to write a program that takes in a series of scores for each ball a... Read more
The kata Let’s get this clear: we’re not going to write a chess-playing AI in this kata. The idea is a bit more humble: to write a program that can work out valid moves for a set of chess pieces. The purpose of this kata is to practise writing SOLID code. Use TDD, but... Read more
In this video you will learn how to start creating your database model. You will find out why nouns are important and how you should handle them when creating a database model. Read more
Why do you need all of this normalization stuff? The main goal is to avoid redundancy in your data. Redundancy can lead to various anomalies when you modify your data. Every fact should be stored only once and you should know where to look for each fact. The normalization process brings order to your... Read more
We're happy to announce that Vertabelo has a new feature we've been working on for some time: Photo Reverse Engineering. This is the quickest way to transfer your hand-written design sketches into Vertabelo. Draw your model on a piece of paper, a whiteboard, or a blackbord, take a photo, upload it into Vertabelo and... Read more
Some time ago, the Vertabelo Team participated in the PostgreSQL Conference Europe 2013. Some of the talks were really nice. One of them stuck in my head for quite a long time. It was Markus Winand's lecture titled "Indexes: The neglected performance all-rounder." Although I had had a solid background in databases, this 50... Read more
Naming things can be very hard, yet a well-chosen name can really help a reader understand how your code works. This code kata is an old favorite, one that we’ve done before, but this time we’ve added an emphasis on naming things well. The kata A word ladder is a sequence of words (each... Read more
Today we continue our series of posts on data normalization. In the previous post on data normalization I explained what functional dependency is. Today we will talk about candidate keys in a table. Read more