Declaration of Database Design

Altering the schema of a production database is not a step to be taken lightly. But when requirements dictate, it must be done.

Declaration of Database Design

When in the Course of human events, it becomes necessary to alter the schema of a database, a decent respect to the opinions of mankind requires that the Database Administrator should declare the causes which impel them to the change.

I hold these truths to be self-evident, that all data are not created equal, but they are endowed by their Relational Database with certain unalienable protections, that among these are normalization, referential integrity, and the pursuit of data validity.  That whenever any schema becomes destructive of these ends, it is the Right of the Database Administrator to alter or abolish it, and to institute a new design, laying its foundation on such principles as to them shall seem most likely to effect the data's Safety and Happiness.  

Prudence, indeed, will dictate that Databases long established should not be changed for light and transient causes; and accordingly, all experience hath shewn, that developers are more disposed to jury rig, where workarounds are sufferable, than to right themselves by abolishing the dreckage of data to which they are accustomed.  The accumulation of technical debt must one day be paid--but never on the date or in the manner of one's choosing, and a cavalier attitude toward data validation will lead to great suffering.  But when a long train of validity checks and manual update queries no longer can support the crush of poor design, it is the Database Administrator's right, their duty, to throw off such design, and to provide a new schema for the data's future security.

Image by WikiImages from Pixabay

All original code samples by Mike Wolfe are licensed under CC BY 4.0