A modern enterprise database system can contain hundreds of separate data items, each with important characteristics such as field types and lengths, rules for validating the data, and links to various databases that use that item (see data-base management system). There can also be many different views or ways of organizing subsets of the data, and stored procedures (program code modules) used to perform vari-ous data processing functions. A developer who is creating or modifying applications that deal with such a vast database will often need to check on the relationships between data elements, views, procedures, and other aspects of the system.
One fortunate characteristic of computer science is that many tools can be applied to themselves, often because the contents of a program is itself a collection of data. Thus, it is possible to create a database that keeps track of the elements of another database. Such a database is sometimes called a data dictionary. A data dictionary system can be developed in the same way as any other database, but many database development systems now contain built-in facilities for gen-erating data dictionary entries as new data items are defined, and updating definitions as items are linked together and new views or stored procedures are defined. (A similar approach can be seen in some software development systems that cre-ate a database of objects defined within programs, in order to preserve information that can be useful during debugging.)
Data dictionaries are particularly important for creating data warehouses (see data warehouse), which are large collections of data items that are stored together with the procedures for manipulating and analyzing them.
No comments:
Post a Comment