Data Dictionary
Data Dictionary
A data dictionary, or metadata repository, as defined in the IBM Dictionary of Computing, is a "centralized repository of information about data such as meaning, relationships to other data, origin, usage, and format." From a general information technology technical perspective, a data dictionary is a set of metadata which contains the definition and representation of data elements. From the perspective of a database management system, a data dictionary is a set of table and views which can only be read and never altered. Data Dictionary or Data Repository may interact with the software modules of the DBMS, but it is mainly used by the Designers, Users and Administrators of a computer system for information resource management. These systems are used to maintain information on system hardware and software configuration, documentation, application and users as well as other information relevant to system administration. If a data dictionary system is used only by the designers, users, and administrators and not by the DBMS Software , it is called a Passive Data Dictionary; otherwise, it is called an Active Data Dictionary or Data Dictionary. An Active Data Dictionary is automatically updated as changes occur in the database. A Passive Data Dictionary must be manually updated. The data Dictionary consists of record types (tables) created in the database by systems generated command files, tailored for each supported back-end DBMS. Command files contain SQL Statements for CREATE TABLE, CREATE UNIQUE INDEX, ALTER TABLE (for referential integrity), etc., using the specific statement required by that type of database. When implementing a data warehouse which is management by a relational database management system, it is a requirement to have a data dictionary. The benefit of having a data dictionary is that data items will always be consistent wherever tables within the database enterprise they may be stored. For instance, several telephone numbers may be stored in different tables in different locations. It is a known fact there telephone numbers are being written down in different ways by different people. With a data dictionary, the format of the telephone number within the whole organization will always be the same, and hence consistency is maintained. Most data dictionaries contain different information about the data used in the enterprise. In terms of the database representation of the data, the data table defines all schema objects including views, tables, clusters, indexes, sequences, synonyms, procedures, packages, functions, triggers and many more. This will ensure that all these things follow one standard defined in the dictionary. The data dictionary also defines how much space has been allocated for and / or currently in used by all the schema objects. Other information defined in a typical data dictionary which is related to database implementation also include default values for database columns, names of the database users, the users privileges and limitations, database integrity constraint information, and many other general information. A data dictionary is in fact a database implementation as well as they contain data
information about data. It is typically structured in tables and views just like other data in a database. Most data dictionaries are central to a database and are very important tool for kinds of users from the data consumers to application designers to database developers and administrators. A data dictionary is used when finding information about users, objects, schema and storage structures. Every time a data definition language (DDL) statement is issued, the data dictionary becomes modified. Organizations that are trying to develop an enterprise wide data dictionary need to have representational definition for data elements and semantics. Semantics refer to the aspects of meaning expressed in language. In the same manner, an enterprise wide data dictionary semantics component focuses on creating a precise meaning of the data elements. Representational definition, on the other hand, defines the way that data elements are being stored in the computer such as data types including string, integers, floats, double or data formats.