Открыть сервис

DBMS-10

DBMS-10 — это система управления базами данных (СУБД), разработанная корпорацией Digital Equipment Corporation (DEC) для операционной системы TOPS-10, работавшей на мейнфреймах серии PDP-10. DBMS-10 является одной из ранних коммерческих СУБД, реализующих сетевую модель данных (CODASYL), и представляет собой важный этап в истории развития систем управления данными.

История и предпосылки создания

Разработка DBMS-10 началась в конце 1960-х годов на фоне стремительного развития вычислительной техники и потребности в эффективных методах хранения и обработки структурированных данных. В 1969 году была опубликована первая спецификация языка COBOL, содержащая предложения по работе с базами данных (Data Base Task Group, DBTG), которая легла в основу сетевой модели данных. DEC, будучи одним из лидеров рынка мини-компьютеров и мейнфреймов, стремилась предложить своим клиентам инструмент, соответствующий этим новым стандартам.

Первая версия DBMS-10 была выпущена в 1973 году. Она предназначалась для работы под управлением операционной системы TOPS-10, которая была основной ОС для PDP-10. Система быстро завоевала популярность в академических кругах, научно-исследовательских институтах и среди коммерческих организаций, которым требовалась надёжная и производительная СУБД для сложных приложений. DBMS-10 была одной из первых систем, которая позволила программистам на COBOL и FORTRAN напрямую взаимодействовать с базой данных, используя язык манипулирования данными (DML), встроенный в эти языки.

Архитектура и модель данных

DBMS-10 реализует сетевую модель данных (network model), также известную как модель CODASYL. В отличие от иерархической модели, где данные организованы в виде дерева с жёсткими родительско-дочерними связями, сетевая модель допускает, чтобы один элемент данных (запись) мог быть связан с несколькими «родительскими» записями. Это обеспечивает большую гибкость при моделировании сложных взаимосвязей реального мира.

Основные понятия

  • Запись (Record): Базовая единица данных, состоящая из набора полей. Каждый тип записи описывает структуру определённого объекта (например, «Студент», «Курс», «Оценка»).
  • Набор (Set): Основной механизм для представления связей между записями. Набор определяет отношение «один ко многим» (1:M) между двумя типами записей. Одна запись может быть «владельцем» (owner) набора, а несколько других — «членами» (member). В отличие от иерархической модели, запись может быть членом нескольких разных наборов, что и образует сетевую структуру.
  • Поле (Field): Минимальная единица данных, имеющая имя и тип (например, целое число, строка, дата).
  • Схема (Schema): Полное описание структуры базы данных: все типы записей, наборы и их взаимосвязи.
  • Подсхема (Subschema): Часть схемы, доступная конкретному приложению или пользователю. Позволяла ограничивать видимость данных и управлять доступом.

Язык определения данных (DDL) и язык манипулирования данными (DML)

DBMS-10 предоставляла два основных языка для работы с базой данных:

  • DDL (Data Definition Language): Использовался для описания схемы и подсхем. Описания писались на специальном языке, который затем компилировался в метаданные, хранящиеся в системном каталоге.
  • DML (Data Manipulation Language): Набор команд, встраиваемых в программы на COBOL или FORTRAN. Программист мог выполнять такие операции, как FIND (поиск записи), GET (чтение данных), STORE (добавление записи), MODIFY (изменение), ERASE (удаление), CONNECT (включение записи в набор) и DISCONNECT (исключение из набора). Навигация по данным осуществлялась с помощью курсоров, которые перемещались по записям в рамках набора.

Функциональные возможности и особенности

DBMS-10 обладала рядом характеристик, которые были передовыми для своего времени:

  • Многопользовательский доступ: Система поддерживала одновременную работу нескольких пользователей и приложений с одной базой данных, обеспечивая изоляцию транзакций и блокировки на уровне записей.
  • Целостность данных: DBMS-10 автоматически поддерживала ссылочную целостность в рамках определённых наборов. Например, при удалении записи-владельца можно было настроить каскадное удаление всех её членов.
  • Языки программирования: Тесная интеграция с COBOL и FORTRAN позволяла разработчикам писать приложения, которые работали с базой данных как с естественным расширением языка.
  • Утилиты: В состав DBMS-10 входили утилиты для загрузки данных, резервного копирования, восстановления и мониторинга производительности.
  • Производительность: Благодаря прямому доступу к записям через указатели (навигационный доступ), DBMS-10 обеспечивала очень высокую скорость выполнения операций поиска и обновления данных по сравнению с системами, использующими декларативные языки запросов (например, SQL), которые появились позже.

Применение

DBMS-10 активно использовалась в 1970-х и 1980-х годах в различных областях:

  • Научные исследования: Для хранения и обработки экспериментальных данных, результатов моделирования и генетической информации.
  • Образование: В университетах для обучения студентов основам работы с базами данных и для администрирования учебных процессов.
  • Коммерческие приложения: Для управления складскими запасами, учёта кадров, финансового планирования и других задач, где требовалась надёжная обработка транзакций.
  • Государственные учреждения: Для ведения реестров, кадастров и других информационных систем.

Наследие и влияние

DBMS-10 стала важной вехой в истории СУБД. Она продемонстрировала жизнеспособность сетевой модели данных и заложила основы для многих современных концепций, таких как транзакции, блокировки и управление доступом. Несмотря на то, что впоследствии реляционная модель (SQL) вытеснила сетевую модель на массовом рынке, DBMS-10 оказала значительное влияние на развитие СУБД для мейнфреймов и мини-компьютеров. Её идеи и архитектурные решения были использованы в более поздних продуктах DEC, таких как DBMS-20 (для TOPS-20) и VAX DBMS (для VMS). Сегодня DBMS-10 представляет в первую очередь исторический интерес как пример ранней коммерческой реализации сетевой модели данных, однако её наследие прослеживается в некоторых современных СУБД, использующих навигационный доступ (например, IDMS).

Источники

  • Digital Equipment Corporation. DBMS-10 User's Guide. 1973.
  • Digital Equipment Corporation. DBMS-10 Administrator's Guide. 1975.
  • Date, C. J. An Introduction to Database Systems. Addison-Wesley, 1975.
  • CODASYL Data Base Task Group. April 1971 Report. ACM, 1971.
  • Tsichritzis, D. C., & Lochovsky, F. H. Data Models. Prentice-Hall, 1982.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →