A configuration management system organizes large software systems and helps maintain those systems over a long lifetime. The problems that arise in the design of such a tool include the manipulation and accurate representation of system configurations, versions and derivation histories. Access control, the large quantities of data, and the evolutionary nature of software development all help to compound the problems. The SAGA (Software Automation, Generation and Administration) project has developed CLEMMA, a configuration librarian. CLEMMA uses relational database technology to provide a powerful but compact configuration management system. It is based on an extended relational model of software development in which components have an object-oriented representation. The authors present the design of CLEMMA and discuss its solutions to the problems of configuration management.