• Presenters: Pascal Van Cauwenberghe, Nathalie Tang
  • Type: Interactive tutorial
  • Duration: 90 minutes
  • Audience: Developers, designers, DBAs, project managers who use relational databases and want to stay/become agile

Objectives

Provide participants with a toolkit of useful techniques to use relational databases to enhance the agility of their team. Special attention goes to the way to handle refactorings in the database and its consequences on the application.

Participants can share their own tips, tricks and techniques.

Abstract

Relational databases can enhance the agility of your application and your team, if used well. In this interactive tutorial we present some simple, yet effective techniques to get the most out of relational databases. These techniques have been applied in projects in a variety of domains, on small applications/databases with a few users to quite large databases with tons of users.

Most techniques are demonstrated live.

In a sense, this session is the sequel to last year's excellent eXtreme Databases sessions. Pramod Sadalage and Nick Ashley have explained how to set up your database and integrate it into your process. This session deals with database and application design, database refactoring techniques and testing techniques that can be applied when you've applied what they explained. The section on preparation will briefly recap their main points.

Benefits of attending

Learn and share some simple, useful techniques that you can apply immediately.

What will the organisers learn

How these techniques have been applied by others, with or without success. In what circumstances these techniques work and break down. New techniques from participants.

Session Outline

  • 5 min Introduction
  • 15 min Preparing the database and data model (organisation and database prerequisites)
    • How you set up your team and work with DBAs
    • How to integrate database work with source control and continuous builds
    • How to have control over your database
    • How to design data models
    • How to prepare for change
  • 20 min The database-application interface (programming prerequisites)
    • How to address the database
    • How to make objects and tables live happily together
    • How to design for objects and tables
  • 30 min Database refactoring techniques (with examples in 3 languages and 3 RDBMS).
    • Adding columns
    • Changing columns
    • Removing columns
    • Changing relationship multiplicity
    • Adding new entities
    • Test! Test! Test!
    • Keep the system running: how to change a database from under an application without anyone noticing it.
  • 15 min Discussion, tips from participants
    • Do you have a succesfull database refactoring? Why did it work?
    • A database horror story? What went wrong? What would you do next time?
  • 5 min conclusions and closing

Outputs

Summary of techniques written up on a site.

latest news

The conference is underway. Watch this space for more news and pictures of the sessions.

important dates

Notification of session acceptance
Beginning of September 2005
Early registration deadline
October 15th
Registration deadline
November 14th
XP Day Benelux Conference
November 17th & 18th 2005

more information

Organizers

Marc Evers, Piecemeal Growth