Concept: Class of databases


We need to move away from the notion that we make "a" database and toward defining a class of databases. Having a class yields numerous advantages, the most important of which are safe reliable construction and high testability.


The way we make databases now - treating them as individual fixtures in an environment each deserving of human attention - has worked to our detriment. While the intention was to ensure that databases are stable and well maintained, it has had the exact opposite effect.

Human intervention is an inherently error-prone thing. The advent of test-driven development has given us a tool we can use to start confining and eradicating those errors. However, the high-degree of manual intervention that is prevalent in many database build processes circumvents any benefit we might derive from test driven development.

A more effective model for database development is the one that was adopted in the middle-tier programming world: object-oriented development. We need to stop defining the schemas of individual databases and start defining the schemas of classes of databases instead. If our classes are made to be trustworthy enough, then individual databases can easily be created and maintained using the class.

This is where DataClass got its name: its job is to serve as a development toolkit that facilitates your creation of database classes.

This role is fulfilled by a number of features:

Related Use Cases

Related Concepts

Other Actions

documentation | all examples | use cases | concepts | keywords