Quantcast
Channel: Chris_Travers
Browsing index pages (24 articles)

Math and SQL Part 6: The Problem with NULLs

This will be the final installment on Math and SQL and will cover the problem with NULLs.  NULL handling is probably the most poorly thought-out feature...

View Article


Math and SQL Part 5: Projection and Selection

The SELECT statement is the workhorse of SQL.  Updates and inserts are necessary, but selects are where the power is.  One of the significant issues...

View Article


Math and SQL, Part 4: Basic Data Types - Sets, Tuples, and Bags

A reasonable understanding of the relational model requires understanding the basic data types which make it up, both in the idealized model and in real-world...

View Article

Math and SQL Part 3: MVCC, Immutability, and Functional Programming

While first normal form is pretty much restricted to relational operations, this piece is more general. It looks at the basic promise of functional...

View Article

Math 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


Math 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 Article

PGObject 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 Article

Encryption: 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 Article


In 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 Article


Setting 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 Article

Arrays 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 Article

Introduction 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 Article

A 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 Article


A 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 Article

The 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 Article


Object-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 Article

Building 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 Article


Building 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 Article

Building 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 Article

Building 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 Article
Browsing index pages (24 articles)


Latest Images