Archive for March, 2008

Project Breakdown in [Eclipse] Workspaces

Yesterday, I was doing some refactoring on some code in Rational Application Developer (a derivative of eclipse) and I ended up creating a couple of new projects to house some of it.  When I told my colleague he’d need to synchronize with CVS and pull down the new projects he expressed some concern about why I had created the new projects.  It made me revisit why I actually did it.
Read the rest of this entry »

Database: Intelligent (Natural) keys versus Surrogate (Blind) Keys

I’m not a data architect or DBA, but in my current and past positions I, like most software developers, have been responsible for designing schemas for both simple and complex databases.  One thing I always waffle about is whether to compose keys from meaningful data or generate surrogate keys for my tables.

I have always been a proponent of using surrogate, or blind, keys.  The reason is that I have faced scenarios where what is said to be an iron-clad rule about the business meaning associated with a primary key suddenly changes requiring the need to change that primary key – most DBs don’t handle this well.  It’s also cumbersome constructing joins on natural keys when they are composed of several columns.   With that said, I do see advantages to having real meaning attached to the fields used as a composite key.

What do you think?  Is this a matter of preference of the database designer or is there some rule or advantage that I don’t know of that would be a definite answer one way or another?

Here are a couple of articles to refer to for arguments.

http://www.bcarter.com/intsurr1.htm

http://searchsqlserver.techtarget.com/general/

Checking out the dynamic language scene (Briefly)

Here in the midwest we were inundated with a massive snow storm this weekend.  I took the time I was stuck inside to finally give Groovy (and Grails) a day long once over.  Recently I have checked out Scala and JRuby.  I have to say, I like them all at this point.  I definitely haven’t spent enough time with any of them to endorse one over the other, but it is exciting to see that the JVM is being ‘extended’ beyond plain ol’ Java.

If I was pegged down and had to pick one considering the limited time I have spent with them , I’d say I’d go with Groovy.  All other things being equal, I like its closure style and Grails simply rocks.   All the playing I did was really simple, but I tried enough scenarios to determine it would be capable of handling some of the database and domain scenarios I would like to throw at it.

I’m definitely going to get more into these dynamic languages for the JVM.

45401 pages viewed, 29 today
17672 visits, 19 today
FireStats icon Powered by FireStats