{"id":717,"date":"2005-10-07T22:25:11","date_gmt":"2005-10-08T02:25:11","guid":{"rendered":"http:\/\/wordpress.cephas.net\/?p=717"},"modified":"2005-10-07T22:25:11","modified_gmt":"2005-10-08T02:25:11","slug":"database-meaning","status":"publish","type":"post","link":"https:\/\/cephas.net\/blog\/2005\/10\/07\/database-meaning\/","title":{"rendered":"Database Meaning"},"content":{"rendered":"<p>Rafe Colburn <a href=\"http:\/\/rc3.org\/2005\/10\/what_should_the_database_do.php\">pointed<\/a> to <a href=\"http:\/\/www.loudthinking.com\/arc\/000516.html\">a blog posting by David Heinemeier Hansson<\/a> where he that you should keep your business logic in your business layer rather than in your database which then lead to a blog post by Martin Fowler entitled <a href=\"http:\/\/martinfowler.com\/bliki\/DatabaseStyles.html\">Database Styles<\/a>. Martin says he has only one principal point but he I think he made two good points. First (as he mentioned), there are generally two styles of databases: <a href=\"http:\/\/martinfowler.com\/bliki\/ApplicationDatabase.html\">application databases<\/a> (a database controlled and accessed by a single application) and <a href=\"http:\/\/martinfowler.com\/bliki\/IntegrationDatabase.html\">integration databases<\/a> (which acts as a data store for multiple applications) and that when you enter a discussion about THE &#8216;database&#8217;, you need to make it clear which type of database you&#8217;re talking about.  His second point is that SOA (I&#8217;m not a fan of the acronym, but I like the implementations) can make and maybe should make integration databases unnecessary. Instead of having multiple applications interop through a common datastore (which is really nothing more than a gigantic global variable isn&#8217;t it?), each application maintains it&#8217;s own application database and communicates through a service interface like SOAP, REST, JMS, etc.<\/p>\n<p>Rafe went on to make a good point as well (or maybe just a point that I agree with). He said that the one exception he makes to the rule of logic in the business layer rather than the database is the use of constraints.  A commenter summed it up nicely by saying that &#8220;&#8230; constraints are to your data what assertions and tests are to your code.&#8221;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rafe Colburn pointed to a blog posting by David Heinemeier Hansson where he that you should keep your business logic in your business layer rather than in your database which then lead to a blog post by Martin Fowler entitled Database Styles. Martin says he has only one principal point but he I think he &hellip; <a href=\"https:\/\/cephas.net\/blog\/2005\/10\/07\/database-meaning\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Database Meaning<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"_links":{"self":[{"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/posts\/717"}],"collection":[{"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/comments?post=717"}],"version-history":[{"count":0,"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/posts\/717\/revisions"}],"wp:attachment":[{"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/media?parent=717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/categories?post=717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/tags?post=717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}