Data Base Task Group
Data Base Task Group (DBTG) — это рабочая группа, созданная в 1965 году в рамках Конференции по языкам систем обработки данных (CODASYL), которая разработала первый стандартизированный подход к управлению базами данных, основанный на сетевой модели данных. DBTG предложила спецификации для языка описания данных (DDL) и языка манипулирования данными (DML), которые стали основой для многих ранних систем управления базами данных (СУБД) и оказали значительное влияние на развитие теории баз данных.
История создания
В середине 1960-х годов, с ростом объёмов обрабатываемой информации, возникла потребность в более эффективных методах организации и доступа к данным, чем традиционные файловые системы. CODASYL, организация, известная ранее разработкой языка программирования COBOL, учредила группу DBTG для изучения возможностей создания универсальной системы управления базами данных. Первоначально группа называлась «Список задач по базам данных» (Data Base Task Group) и была сформирована под председательством Уильяма Олле (William Olle).
Ключевым этапом стала публикация в 1969 году первого отчёта DBTG, который содержал детальные предложения по архитектуре СУБД. В 1971 году был выпущен пересмотренный отчёт, ставший фактическим стандартом. Эти отчёты описывали не только структуру данных, но и процедуры их описания, манипулирования и управления. Хотя отчёты DBTG не были приняты в качестве официального стандарта ANSI или ISO, они легли в основу многих коммерческих продуктов, таких как IDMS (Integrated Database Management System) компании Cullinane Corporation, а позже — Computer Associates.
Сетевая модель данных DBTG
Основным вкладом DBTG стала разработка сетевой модели данных, которая представляла собой эволюцию иерархической модели. В отличие от иерархической модели, где каждый дочерний элемент мог иметь только одного родителя, сетевая модель DBTG позволяла элементу (записи) быть членом нескольких групп (наборов), что отражало более сложные реальные связи.
Основные понятия
Модель DBTG оперировала следующими ключевыми понятиями:
- Запись (Record) — совокупность полей (элементов данных), описывающая сущность предметной области. Каждая запись имеет уникальный идентификатор — ключ.
- Набор (Set) — именованная связь между двумя типами записей: владельцем (owner) и членом (member). Один владелец может иметь множество членов, а один член может входить в несколько наборов (с разными владельцами).
- Поле (Data item) — минимальная единица данных, имеющая имя и тип (числовой, символьный и т.д.).
- Схема (Schema) — полное описание структуры всей базы данных, включая типы записей, наборы и их характеристики.
- Подсхема (Subschema) — описание части базы данных, доступной конкретному приложению или пользователю. Это обеспечивало разграничение прав доступа и изоляцию данных.
Языки DBTG
DBTG предложила два основных языка для работы с базой данных:
- Язык описания данных (Data Definition Language, DDL). Использовался для определения схемы и подсхемы базы данных. DDL описывал структуру записей, их поля, а также типы наборов и правила включения/исключения записей из наборов. Синтаксис DDL был близок к COBOL, что облегчало его внедрение в существующие системы.
- Язык манипулирования данными (Data Manipulation Language, DML). Представлял собой набор команд, встраиваемых в программы на COBOL (или других языках, таких как FORTRAN и PL/I). DML позволял выполнять основные операции:
- FIND — поиск записи по ключу или навигация по набору.
- GET — получение данных из найденной записи.
- STORE — добавление новой записи.
- MODIFY — изменение существующей записи.
- ERASE — удаление записи.
- CONNECT / DISCONNECT — включение записи в набор или исключение из него.
Навигация по данным в модели DBTG была процедурной: программист должен был явно указывать, как перемещаться от одной записи к другой, используя связи наборов. Например, чтобы найти все заказы конкретного клиента, программа сначала находила запись клиента, а затем последовательно перемещалась по набору «Клиент-Заказы», извлекая каждую запись-член.
Влияние и критика
Влияние на индустрию
Разработки DBTG оказали глубокое влияние на раннюю эпоху СУБД. Многие коммерческие системы, такие как IDMS, DMS-1100 (для Univac), и IMAGE (для Hewlett-Packard), основывались на принципах сетевой модели. Эти системы широко использовались в крупных корпорациях, банках и государственных учреждениях в 1970-х и 1980-х годах. Подход DBTG также повлиял на разработку стандарта IDMS и на более поздние объектно-ориентированные базы данных, которые также используют концепцию навигации по связям.
Критика и недостатки
Несмотря на свою мощь, модель DBTG имела ряд существенных недостатков, которые в конечном итоге привели к её вытеснению реляционной моделью:
- Сложность разработки. Для создания и сопровождения приложений требовалась высокая квалификация программиста, который должен был вручную управлять навигацией по сложным сетям связей. Это делало разработку трудоёмкой и подверженной ошибкам.
- Жёсткость структуры. Изменение схемы базы данных (например, добавление нового типа записи или набора) часто требовало переписывания всех прикладных программ, работавших с этой схемой.
- Отсутствие независимости от данных. Приложения были тесно связаны с физической структурой данных. Любое изменение в способе хранения или организации связей могло нарушить работу программ.
- Сложность запросов. Формулирование сложных запросов, особенно тех, которые не соответствовали заранее определённым путям навигации, было крайне затруднительным и требовало написания объёмного процедурного кода.
Наследие
Хотя сетевая модель DBTG уступила место реляционной модели, предложенной Эдгаром Коддом в 1970 году, её вклад в развитие баз данных неоспорим. DBTG впервые формализовала многие концепции, ставшие стандартными: схемы и подсхемы, языки DDL и DML, понятие транзакции и восстановления. Практический опыт, накопленный при реализации систем DBTG, показал как сильные, так и слабые стороны навигационного подхода. Этот опыт напрямую повлиял на развитие более гибких и декларативных реляционных систем, а также на появление гибридных решений, таких как объектно-реляционные СУБД. В настоящее время принципы DBTG продолжают использоваться в некоторых специализированных областях, например, в системах реального времени и встроенных базах данных, где важна предсказуемая производительность навигации.
Источники
- Отчёт CODASYL Data Base Task Group (апрель 1971 года).
- Date, C. J. «An Introduction to Database Systems» (8-е издание).
- Ullman, J. D. «Principles of Database Systems» (2-е издание).
- Olle, T. W. «The CODASYL Approach to Data Base Management».
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →