<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Database on Architecture and Data Blog</title>
    <link>https://sadalage.com/tags/database/</link>
    <description>Recent content in Database on Architecture and Data Blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 15 May 2017 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://sadalage.com/tags/database/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Using liquibase to load data and ignore some columns</title>
      <link>https://sadalage.com/post/using-liquibase-to-load-data-and-ignore-some-columns/</link>
      <pubDate>Mon, 15 May 2017 00:00:00 +0000</pubDate>
      <guid>https://sadalage.com/post/using-liquibase-to-load-data-and-ignore-some-columns/</guid>
      <description>&lt;p&gt;Loading data into tables is needed many times on projects to load test, &lt;a href=&#34;http://www.liquibase.org/&#34;&gt;Liquibase&lt;/a&gt; provides a method to load data into tables with lots of customization.&#xA;In the example shown below, I&amp;rsquo;m loading &lt;a href=&#34;http://federalgovernmentzipcodes.us/&#34;&gt;zip code data&lt;/a&gt; with the following column layout&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;#34;Zipcode&amp;#34;,&amp;#34;ZipCodeType&amp;#34;,&amp;#34;City&amp;#34;,&amp;#34;State&amp;#34;,&amp;#34;LocationType&amp;#34;,&amp;#34;Lat&amp;#34;,&amp;#34;Long&amp;#34;,&amp;#34;Location&amp;#34;,&amp;#34;Decommisioned&amp;#34;,&amp;#34;TaxReturnsFiled&amp;#34;,&amp;#34;EstimatedPopulation&amp;#34;,&amp;#34;TotalWages&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Synonyms as abstraction layer</title>
      <link>https://sadalage.com/post/synonyms-as-abstraction-layer/</link>
      <pubDate>Fri, 15 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://sadalage.com/post/synonyms-as-abstraction-layer/</guid>
      <description>&lt;p&gt;In many development shops, developers are not allowed to access the database schema directly, and are not allowed to create tables, indexes, views etc, instead are given access via a different schema that allows &lt;em&gt;SELECT&lt;/em&gt;, &lt;em&gt;UPDATE&lt;/em&gt; and &lt;em&gt;DELETE&lt;/em&gt; access on data. The general reason is to avoid developers creating database objects without&lt;/p&gt;</description>
    </item>
    <item>
      <title>MSSQL JDBC Driver behavior&#34;</title>
      <link>https://sadalage.com/post/mssql_jdbc_driver_behavior/</link>
      <pubDate>Sun, 22 Apr 2012 00:00:00 +0000</pubDate>
      <guid>https://sadalage.com/post/mssql_jdbc_driver_behavior/</guid>
      <description>&lt;p&gt;My latest project involves talking to MS-SQL Server using the JDBC driver and Java. While doing this we setup the database connection and had a simple SQL to get the &lt;em&gt;first_name&lt;/em&gt; and &lt;em&gt;last_name&lt;/em&gt; for a unique &lt;em&gt;user_id&lt;/em&gt; from the &lt;em&gt;application_user&lt;/em&gt; table in the database.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;SELECT first_name,last_name&#xA;FROM application_user&#xA;WHERE user_id = ?&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Given the above SQL, we did not think too much about performance as the &lt;em&gt;user_id&lt;/em&gt; was indexed. The java code as below was used to run the SQL.&lt;/p&gt;</description>
    </item>
    <item>
      <title>With so much pain, why are stored procedures used so much</title>
      <link>https://sadalage.com/post/why_use_stored_procedures/</link>
      <pubDate>Wed, 19 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://sadalage.com/post/why_use_stored_procedures/</guid>
      <description>&lt;p&gt;I keep encountering situations where all the business logic for the applications is in stored procedures and the application layer is just calling the stored procedures to get the work done and return the data. There are many problems with this approach some of them are.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Writing stored procedure code is fraught with danger as there are no modern IDE&amp;rsquo;s that support refactoring, provide code smells like &amp;ldquo;variable not used&amp;rdquo;, &amp;ldquo;variable out of scope&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Article about Behavior Driven Database Design is out</title>
      <link>https://sadalage.com/post/article_about_behavior_driven/</link>
      <pubDate>Mon, 22 Dec 2008 00:00:00 +0000</pubDate>
      <guid>https://sadalage.com/post/article_about_behavior_driven/</guid>
      <description>&lt;p&gt;Recently I have been thinking a lot about making specification and behavior expected about the database and the code that interfaces with the databases &lt;strong&gt;executable&lt;/strong&gt;. The Behavior Driven Design has a lot of parallels in the database world.&lt;/p&gt;&#xA;&lt;p&gt;Just finished writing a article about Behavior Driven Design applied to Databases or &lt;a href=&#34;http://www.methodsandtools.com/archive/archive.php?id=78&#34;&gt;Behavior Driven Database Design for Methods and Tools&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>When does evolutionary design happen?</title>
      <link>https://sadalage.com/post/when_does_evolutionary_design/</link>
      <pubDate>Tue, 28 Aug 2007 00:00:00 +0000</pubDate>
      <guid>https://sadalage.com/post/when_does_evolutionary_design/</guid>
      <description>&lt;p&gt;A question I get, mostly related to the evolutionary database design and development. When the pair (team) gets a new feature (story) to work on, the team looks at the existing table/database design and sees if the current design is enough to implement the feature they are working on. If the currency database design does support the feature they are trying to implement, then they do not have to change the database at all, they will move on to implement the feature and change the application code as necessary.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
