Runners as a metaphor for agile

Agile Techniques Are Helpful with Databases

picture by Kanban Tool via Flickr

I’ve been practicing agile database techniques for about twenty years now. My use of agile techniques didn’t start as an explicit plan. Rather it evolved over time as I was working on consulting projects. It made sense to look for ways of working faster and better and with greater customer interaction.

I can think of at least three kinds of agile database techniques.

  • For data modeling.
  • For data warehouse development.
  • For database reverse engineering.

Continue reading Agile Techniques Are Helpful with Databases

Focus on Quality

Data Warehouse Model Quality

picture by xianrendujia via Flickr

Data warehouses have a much different architecture and different business motivations than operational applications. For example, operational applications manage the day-to-day data needed to support the business. In contrast, data warehouse restructure operational data and place it in a format amenable to data mining and deep analysis. Operational applications rapidly read and write transactions with small amounts of data. In contrast, users only read data warehouses and can have extensive queries involving large data sets running for multiple minutes.

Continue reading Data Warehouse Model Quality

Focus on Quality

Operational Model Quality

picture by xianrendujia via Flickr

Quality is an underappreciated aspect of data models. The purpose of a model is not just to capture the business requirements, but also to represent them well. A high quality model lessens the complexity of development, reduces the likelihood of bugs, and enhances the ability of a database to evolve. There are both qualitative and quantitative measures of quality.

This is the first of a two-part series. This blog discusses quality for day-to-day operational applications. Next month’s blog will discuss data warehouses.

Continue reading Operational Model Quality

data model

Ten Reasons Why Developers Ignore Data Models

picture by londonbonsaipurple via Flickr

Why do some developers think they can dive in and build a database application without first constructing a data model? They are violating the whole premise of software engineering which is to think before acting. Data modeling provides a means for focusing the mind and is necessary for a systematic, repeatable approach to development.

Continue reading Ten Reasons Why Developers Ignore Data Models

Database Design Errors

Miscellaneous Database Design Errors

picture by strange little woman on stream via Flickr

This is the third and final blog in a series about database design errors. The two previous blogs addressed primary key and foreign key errors as well as confusion with many-to-many relationships. Now let’s discuss several other design errors. Our coverage is clearly not complete, but these are common mistakes that are found in practice.

Continue reading Miscellaneous Database Design Errors