{"id":82036,"date":"2008-12-09T17:23:00","date_gmt":"2008-12-09T17:23:00","guid":{"rendered":"https:\/\/www.webstaging.red-gate.com\/simple-talk\/?p=73199"},"modified":"2018-12-12T13:34:42","modified_gmt":"2018-12-12T13:34:42","slug":"the-n-pillars-of-a-well-built-database","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/blogs\/the-n-pillars-of-a-well-built-database\/","title":{"rendered":"The N pillars of a well built database?"},"content":{"rendered":"<p><P>As I am starting the process of writing my next edition of the database design book (over the next 3+ years) I am starting to try to come up with some catchy way of stating that a database is well designed and implemented.&nbsp; So I started to think of some metaphor and pillars is the best I could do. Catchy? Dunno, but the idea is that without one, the others could fail. <\/P> <P>I figure I will post a blog on each of them first, and then work my way from there.&nbsp; The end goal being a theme that I run through the book, starting in chapter one with a little intro, then relating the pillars through some of the book, but certainly culminating in the final chapter as a way to tie it all together.<\/P> <P>The pillars I came up with are the following 7. The final number may be more or less, but eventually I need to figure a way to make the number have some deep meaning (7 is theologically, the <A target=\"_blank\" href=\"http:\/\/en.wikipedia.org\/wiki\/7_%28number%29\">perfect number<\/A>!) but hey, who knows\u2026I have a few years to ruminate on them.<\/P> <P>Design<\/P> <UL> <LI><STRONG>Coherent<\/STRONG> \u2013 cohesive, comprehendible, standards based, names\/datatypes all make sense, needs little documentation <\/LI> <LI><STRONG>Normal<\/STRONG> \u2013 normalized as much as possible without harming usability\/performance (based on testing) <\/LI> <LI><STRONG>Fundamentally Sound<\/STRONG> \u2013 fundamental rules enforced such that you don\u2019t have to check datatypes, base domains, relationships, etc <\/LI> <LI><STRONG>Documented<\/STRONG> \u2013 Anything that cannot be gather from the previous four is written down and\/or diagrammed for others <\/LI><\/UL> <P>Implementation<\/P> <UL> <LI><STRONG>Secure<\/STRONG> \u2013 Users can only see data they are privy to <\/LI> <LI><STRONG>Well Performing<\/STRONG> \u2013 Gives you answers fast <\/LI> <LI><STRONG>Encapsulated<\/STRONG> \u2013 Changes to the structures cause only changes to usage where a table\/column directly accessed it <\/LI><\/UL> <P>I can see this being a great little set of things to have in the back of your mind when you are designing, sort of a checklist to see if you meet these different \u201cpillars\u201d of something or other.&nbsp; Clearly it will take more work (and if any of you chimes in with ideas, I promise credit in the acknowledgements \ud83d\ude42<\/P><\/p>\n","protected":false},"excerpt":{"rendered":"<p>As I am starting the process of writing my next edition of the database design book (over the next 3+ years) I am starting to try to come up with some catchy way of stating that a database is well designed and implemented.&nbsp; So I started to think of some metaphor and pillars is the&#8230;&hellip;<\/p>\n","protected":false},"author":56085,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2],"tags":[],"coauthors":[19684],"class_list":["post-82036","post","type-post","status-publish","format-standard","hentry","category-blogs"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/82036","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/56085"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=82036"}],"version-history":[{"count":1,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/82036\/revisions"}],"predecessor-version":[{"id":82364,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/82036\/revisions\/82364"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=82036"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=82036"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=82036"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=82036"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}