A Simpler Explanation of Object-Relational DBMS
A relational database management system is a piece of software which takes organized information and processes it in order to answer questions presented by...
View ArticleAn Awesome One-Liner for PostgreSQL
Recently I was looking at options for exploring CIDR blocks in PostgreSQL. In particular, I was wondering about checking a CIDR block for unallocated...
View ArticleBuilding SOLID Databases: Introduction
The SOLID design approach is a set of principles developed in object-oriented programming. This series will explore the applicability of these principles...
View ArticleBuilding SOLID Databases: Single Responsibility and Normalization
IntroductionThis instalment will cover the single responsibility principle in object-relational design, and its relationship both to data normalization and...
View ArticleBuilding SOLID Databases: Open/Closed Principle
Like the Single Responsibility Principle, the Open/Closed Principle is pretty easy to apply to object-relational design in PostgreSQL, very much unlike the...
View ArticleBuilding SOLID Databases: Liskov Substitution Weirdness
If the Open/Closed principle starts looking a little strange as applied to object-relational design, the Liskov Substitution Principle applies in...
View ArticleBuilding SOLID Databases: Interface Segregation, or Keep Stored Procedures...
As far as interfaces go, we are talking specifically about functional interfaces (UDF's, or "User Defined Functions", and stored procedures). Raw...
View ArticleBuilding SOLID Databases: Dependency Inversion and Robust DB Interfaces
Dependency inversion is the idea that interfaces should depend on abstractions not on specifics. According to Wikipedia, the principle...
View ArticleObject-Relational Algebra 3: The Series Join Function
I am back from a break due to working hard on getting LedgerSMB 1.4 closer to release (beta 2 has been released and we are working hard on moving towards...
View ArticleThe LedgerSMB Service Locator for UDF's: How it Works
One of the questions I got from a post last week was how the LedgerSMB service locator works. In the past I have covered the database design side, but...
View ArticleA Distributist View on Software Freedom
We are relatively familiar with Stallman's views on software freedom. These views are deeply based on the idea that we can enumerate rights which...
View ArticleA Few Cases Where EAV Modelling Really Works in LedgerSMB.
Entity-attribute-value (EAV) modelling is typically seen as an antipattern and for good reasons. Misapplied it leads to inflexible queries, poor...
View ArticleIntroduction to PostgreSQL Arrays, Basic Concepts and Normalization...
This is part of a two part series. The second will discuss indexing arrays which is a complex topic. PostgreSQL has very good support for arrays of...
View ArticleArrays and Indexing, Problems and Solutions
Arrays in PostgreSQL are relatively well supported by the indexing engines of this RDBMS. There are a fair number of options however to be aware of and...
View ArticleSetting Up a Cloud in a PostgreSQL-Centric Automation Environment
One of the challenges of setting up a cloud hosting environment is ensuring that systems are as configured and that the desired state is one which can be...
View ArticleIn Defense of Hand-coded SQL
One common comment I get when I point out that I hand-write all of my SQL queries, rather than relying on an ORM or the like, is that it is drudge work,...
View ArticleEncryption: MySQL vs. PostgreSQL
First a note, all my tests involved a relatively simple table with a schema like this (column names did vary):CREATE TABLE enctest ( id int, id_text...
View ArticlePGObject on CPAN: NoSQL Ideas for PostgreSQL Applications
One of the legitimate points Martin Fowler has argued in favor of NoSQL databases is that expecting application to directly manipulate relational data is far...
View ArticleMath and SQL, Part 1: Introduction - Relations and Functions
There are two goals I have in this series. The first is to heavily ground database thinking in mathematics thinking. The second is to connect this...
View ArticleMath and SQL, Part 2: Functions and First Normal Form
There is probably no piece of relational database theory which is so poorly understood in professional literature than first normal form. This piece seeks to...
View Article