A magnet measurement system based on relational database technology has been developed for use at the Fermilab Magnet Test Facility (MTF). Results of magnetic ®eld strength and ®eld shape measurements are stored in the database for use in understanding accelerator and beamline operation. In addition to measurement results, the database is used to store measurement history and the commands which prescribe measurement sequences along with supporting parameters that control how each measurement is performed.The system contains more than 200 tables with more than 1500 columns. The design of the tables is documented in the form of diagrams, design documents, as well as through tables which store, within the database itself, descriptions of each table and column.
I. SOFTWARE ENVIRONMENTSoftware for a magnet measurement system[1], [2] has been created at Fermilab. This paper describes the database design and implementation which supports that system and provides access to the measurement results as well as the complete description of the measurement environment. We use the Sybase 1 relational database system, employing features of the standard relational model plus additional vendor speci®c features which have reduced implementation effort. The measurement system was developed primarily to support testing of magnets for the Fermilab Main Injector Project[3], but it also has been used to measure magnets for other applications.
II. DATABASE DESIGN OVERVIEWThere are several distinguishing features in the MTF database design including:Tables with closely related functionality are grouped together into ªvirtual databases.º For example, measurement data obtained by rotating a coil in the ®eld are stored in the ªharmonicsºvirtual database, while measurement data obtained by scanning and measuring the the ®eld at various points are stored in ªpointscan.º Data are grouped into related tables based on natural hierarchies derived from data collection (points, runs, sequences) and data processing (raw, reduced, analyzed) relationships. Special procedures called triggers are executed to enforce the integrity of the relationships between data entered into the various database tables.