Background: Work with Relational Databases

My work with databases - particularly relational databases - began at the beginning of my professional career over 10 years ago. My first paid work, actually, was testing table triggers in Sybase generated by a modelling tool called ERWin, back when that feature was new.

Building quality relational databases requires a variety of complementary skills. Mine include:

  • Domain Analysis: I have worked in problem domain analysis for over 10 years, in a variety of industries and applications.
  • Database Modelling: I have extensive experience in conceptual, logical and physical modelling for relational databases.
  • Tuning and Optimization: I can tune both database structures (for optimal access) and SQL in several different database systems.
  • Experience in a Variety of Databases: My work includes hands-on development with Oracle, Microsoft SQL Server, Sybase, as well as a handful of desktop database systems.

Since I started this career, I've worked in all stages of database development from modelling through final tuning. I am comfortable programming SQL either as single statements/queries or procedures/packages/triggers. My skills in data extraction and reporting are solid, and I have basic experience in database administration.

I believe all significant relational database efforts should be driven by a graphical model, or entity-relationship diagram (ERD). Our models should hold most important database information, including the data dictionary, validations and constraints, and documentation on our data structures.

I am comfortable with conceptual, logical, and physical database modelling, and have worked with Sybase PowerDesigner, Systems Engineer ("Data Modeller"), and ERWin at various points. My goal is to use the modelling tool to generate the database - so that the model is always in sync with our current implementation of it.

Designers also need to know physical constraints in any given RDBMS and the optimizations within it. My work with several different vendors allows me to both avoid problems early on in the modelling effort, and to optimize for a given RDBMS when necessary. I have worked in tuning individual statements and larger processes in SQL. I also understand the logic behind index assignment and query optimization.

I have performed data migration, including migration from Access to SQL Server, FoxPro to Access, SQL Server to Oracle, and so on. Being comfortable with programming in different SQL dialects, I can also plan and carry out migration of SQL queries and transactions between database systems. I also understand and take advantage of the different facilities vendors offer: modular design using packages in Oracle, optimized procedures using temporary tables in SQL Server and Sybase, and so on.