先决条件——关于数据字典的简短说明
数据字典是磁盘存储的一部分,主要用于存储数据库结构的元数据。为了有效地实现这些数据字典,应该非常重视开发一个好的设计。数据字典可以定义为系统的数据类型、文本描述等所有数据元素或数据库内容的信息的集合。它使用户和分析人员可以更轻松地使用数据以及理解和掌握有关输入、输出、数据库组件和中间计算的常识。
有两种类型的数据字典,即主动数据字典和被动数据字典,我们在下面讨论了这两者之间的区别。
1. 活动数据字典:
活动数据字典是一种非常一致并由 DBMS 自动管理的字典。在活动数据字典中,当 DBMS 执行任何修改或更改时,该字典也会由 DBMS 自动修改。数据库结构的任何更改或修改也可以在数据字典的帮助下看到它的特性,即由 DBMS 自动更新信息。在这个字典中,在修改过程中或者我们在改变数据库中的某些数据时,对数据库的结构有一定的影响。
这个数据字典的好处是它不需要任何外部维护软件或工具,而且由于数据库管理系统自动管理这个字典,因此没有额外的数据字典维护成本。
2. 被动数据字典:
该数据字典还具有用于集中元数据的存储。此外,被动数据字典中的数据库结构(意味着结构可以修改)没有影响,这是在主动数据字典的情况下。被动数据字典的缺点之一是它不需要任何专用软件来更新或修改。这个字典的另一个缺点是它需要大量的维护成本,还需要其他团队手动维护数据库,如果这个过程没有完成或处理不正确,那么数据库和数据字典就有可能不同步。此外,该数据字典不是许多用户的选择,因为作为活动字典维护起来并不容易。
主动和被动数据字典之间的区别:
Active Data Dictionary |
Passive Data Dictionary |
The database management system automatically maintains the active data dictionary. | The passive data dictionary is modified whenever the structure of the database is changed. |
The active data dictionary is very consistent with the structure and the definition of the database. | As the process of maintaining or modification is manual, so it is not consistent and not updated with the current structure of the database. |
Another name of this dictionary is integrated data dictionary. | Another name of this dictionary is a non-integrated dictionary or a standalone dictionary. |
The database management systems automatically manage this dictionary. | The users are responsible for manually managing this dictionary. |
It doesn’t require any separate database. | It requires a separate database for working with this dictionary. |
Mostly, relational database management systems (RDBMS) contain this type of dictionary as it can be easily derived from their system catalog. | As the passive data dictionary requires a separate database, so it allows the programmers to remain independent of using a particular RDBMS. |
It doesn’t provide a good User Interface. | It provides you a friendly User Interface. |
The information in an active data dictionary is up-to-date as it is automatically managed. | The information in a passive data dictionary is not up-to-date as it is managed manually by the users. |