title: Database Column Naming for REST API
body: <p><strong>tl/dr;</strong></p>
  
  <p>Should both the column names in my db and JSON-Keys be <code>camelCase</code></p>
  
  <p>or</p>
  
  <p>Should both the column names in my db and JSON-Keys be <code>uppercase SNAKE_CASE</code></p>
  
  <p><strong>Long version</strong></p>
  
  <p>I'm designing a REST API that communicates with a sqlite database. I have been following some of the google styling guides, particularly the one for <a href="https://google-styleguide.googlecode.com/svn/trunk/jsoncstyleguide.xml" rel="nofollow noreferrer">JSON</a>. As it mentions, <strong>camelCase</strong> is the preferred style for JSON. I've also seen a comment where <strong>snake_case</strong> is up ~20% easier to read.</p>
  
  <p>Currently, I have implemented functions to execute the SQL query, receive the result as a table object, then use json-smart to convert that to an actual JSON string. </p>
  
  <p>The column names I've been using inside of the database are really <code>upper SNAKE_CASE</code>, since the are only a few references to <a href="https://stackoverflow.com/questions/7662/database-table-and-column-naming-conventions">a standardized format for database column names</a>. This upper <code>SNAKE_CASE</code> column names become part of key-value pairs in the returned JSON.</p>
  
  <p>So, since I'm at the very early stages of the design, does it seem reasonable to use camelCase column labels in my database or stick to the <code>upper CAMEL_CASE</code>, thereby breaking the JSON standard? I don't want to convert the names after an sql query in the application as this would add un-needed complexity and potential performance hinderance.</p>