In the course of designing a major mosaicked instrument we need tools to manage the large set of FITS keywords required for instrument control and data reduction/archiving. We have therefore constructed a relational database schema which describes FITS keywords (and have implemented it using Sybase). In this schema FITS keywords and structures are entities, having attributes such as format, units, datatype, minimum and maximum value, semantics, etc.
This schema can be used to store and document any legitimate FITS keyword from any source. Sources or applications of keywords are described as ``contexts''. Thus it is possible to establish families of FITS keywords, e.g. UCO/Lick, Keck, NOAO, IRAF, or instrument-specific keywords.
Separate code modules produce, from this database, HTML or LaTeX keyword documentation, sample FITS headers, and FITS reader/writer source code. If changes are made during an instrument development project, or over the lifetime of a FITS keyword, new documentation and reader/writer code can be produced automatically. FITS namespace collisions can be easily detected; though the context mechanism makes them nonfatal, the user might wish to avoid them.
Keywords with tuple values, and indexed keywords (whose instantiation is controlled by a counter such as NAXIS), can be described consistently and accurately. Keywords with enumerated values can be explicitly and fully documented, as can the sub-semantics and sub-formats of tuple keywords. Pseudo-keywords can be used to specify fully both table extensions and FITS header specifications. We demonstrate the application of this database to documentation and development for DEIMOS, HIRES, and other Keck and UCO/Lick instruments. The keyword database also serves some project management/specification/design functions.