Введение
Набор метаданных, содержащий определения и представления элементов данных.
Словарь данных, или хранилище метаданных, как определено в IBM Dictionary of Computing, представляет собой "централизованное хранилище информации о данных, включая их смысл, связи с другими данными, происхождение, использование и формат". Oracle определяет его как набор таблиц, содержащих метаданные. Этот термин может иметь несколько тесно связанных значений, относящихся к базам данных и системам управления базами данных (СУБД):
Документ, описывающий базу данных или набор баз данных.
Неотъемлемый компонент СУБД, необходимый для определения её структуры.
Промежуточное программное обеспечение, расширяющее или заменяющее встроенный словарь данных СУБД.
An integral component of a DBMS that is required to determine its structure
A piece of middleware that extends or supplants the native data dictionary of a DBMS
Документация
Термины "словарь данных" и "репозиторий данных" обозначают более общую программную утилиту, чем каталог. Каталог тесно связан с программным обеспечением СУБД. Он предоставляет информацию, хранящуюся в нем, пользователю и администратору БД, но в основном доступ к нему осуществляется различными программными модулями самой СУБД, такими как компиляторы DDL и DML, оптимизатор запросов, процессор транзакций, генераторы отчетов и модуль обеспечения целостности ограничений. С другой стороны, словарь данных – это структура данных, хранящая метаданные, то есть (структурированные) данные об информации. Программный пакет для автономного словаря данных или репозитория данных может взаимодействовать с программными модулями СУБД, но в основном используется разработчиками, пользователями и администраторами компьютерной системы для управления информационными ресурсами. Эти системы содержат информацию о конфигурации аппаратного и программного обеспечения системы, документации, приложениях и пользователях, а также другую информацию, относящуюся к администрированию системы. Если система словаря данных используется только разработчиками, пользователями и администраторами, а не программным обеспечением СУБД, она называется пассивным словарем данных. В противном случае она называется активным словарем данных. При обновлении пассивного словаря данных это делается вручную и независимо от каких-либо изменений в структуре СУБД (базы данных). В случае активного словаря данных, словарь обновляется первым, и изменения в СУБД происходят автоматически в результате. Пользователи баз данных и разработчики приложений могут извлечь выгоду из авторитетного документа-словаря данных, который каталогизирует организацию, содержимое и соглашения одной или нескольких баз данных. Как правило, это включает в себя названия и описания различных таблиц (записей или сущностей) и их содержимого (полей), а также дополнительные сведения, такие как тип и длина каждого элемента данных. Другой важной информацией, которую может предоставить словарь данных, являются связи между таблицами. Это иногда отображается в диаграммах "сущность-связь" (ERD) или, при использовании дескрипторов множеств, определяет, в каких множествах участвуют таблицы баз данных. В активном словаре данных могут быть наложены ограничения на базовые данные. Например, может быть установлен диапазон для значения числовых данных в элементе данных (поле), или запись в таблице может быть принудительно включена в связь множества с другим типом записи. Кроме того, распределенная СУБД может содержать определенные сведения о местоположении, описанные в ее активном словаре данных (например, где физически расположены таблицы). Словарь данных состоит из типов записей (таблиц), созданных в базе данных с помощью системных командных файлов, адаптированных для каждой поддерживаемой бэк-энд СУБД. Oracle предоставляет список конкретных представлений для пользователя "sys". Это позволяет пользователям находить необходимую информацию. Командные файлы содержат SQL-инструкции для CREATE TABLE, CREATE UNIQUE INDEX, ALTER TABLE (для обеспечения ссылочной целостности) и т. д., используя конкретные инструкции, требуемые для данного типа базы данных. Не существует универсального стандарта относительно уровня детализации такого документа.
Среднее оборудование
При создании приложений баз данных может быть полезно внедрить дополнительный уровень программного обеспечения словаря данных, то есть промежуточное ПО, которое взаимодействует со словарем данных базовой СУБД. Такой словарь данных «высокого уровня» может предлагать дополнительные функции и гибкость, превосходящие ограничения встроенного словаря данных «низкого уровня», основная задача которого – поддержка базовых функций СУБД, а не требований конкретного приложения. Например, словарь данных высокого уровня может предоставлять альтернативные модели «сущность-связь», адаптированные для различных приложений, использующих общую базу данных. Расширения словаря данных также могут помочь в оптимизации запросов к распределенным базам данных. Кроме того, функции администратора баз данных (DBA) часто автоматизируются с помощью инструментов реструктуризации, тесно связанных с активным словарем данных. Программные платформы, предназначенные для быстрой разработки приложений, иногда включают средства словаря данных высокого уровня, что может значительно сократить объем программирования, необходимого для создания меню, форм, отчетов и других компонентов приложения базы данных, включая саму базу данных. Например, PHPLens включает библиотеку классов PHP для автоматизированного создания таблиц, индексов и ограничений внешних ключей, переносимых между различными базами данных. Другой словарь данных на основе PHP, входящий в состав RADICORE, автоматически генерирует программные объекты, скрипты и SQL-код для меню и форм с проверкой данных и сложными соединениями. Для среды ASP.NET словарь данных Base One предоставляет кросс-платформенные возможности для автоматизированного создания баз данных, проверки данных, повышения производительности (кеширование и использование индексов), безопасности приложений и расширенных типов данных. Функции Visual DataFlex позволяют использовать DataDictionaries в качестве файлов классов для создания промежуточного слоя между пользовательским интерфейсом и базой данных. Цель состоит в создании стандартизированных правил для обеспечения целостности данных и соблюдения бизнес-правил в одном или нескольких связанных приложениях. В некоторых отраслях обобщенные словари данных используются в качестве технических стандартов для обеспечения совместимости между системами. Например, в сфере недвижимости используется словарь данных RESO, которому Национальная ассоциация риэлторов предписывает соответствовать организациям MLS через свой политический справочник. Этот промежуточный уровень отображения для нативных баз данных MLS поддерживается компаниями-разработчиками программного обеспечения, предоставляющими API-сервисы организациям MLS.
Примеры конкретных платформ
Разработчики используют спецификацию описания данных (DDS) для описания атрибутов данных в описаниях файлов, которые внешние по отношению к прикладным программам, обрабатывающим эти данные, в среде IBM i. Системная таблица ts$ в Oracle хранит информацию о каждой таблице в базе данных. Она является частью словаря данных, создаваемого при установке базы данных Oracle. Разработчики также могут использовать контекст DDS из программного обеспечения с открытым исходным кодом (FOSS) для структурированных и транзакционных запросов в открытых средах.