
Раздаточный материал по информатике / 02_4 - Первое поколение баз данных
.doc
Следующие 5 лекций будут посвящены более детальному рассмотрению вопросов организации БД: архитектура, язык манипулирования, функции СУБД, реляционная и другие модели данных.
2.4. Первое поколение БД – дореляционные модели данных
Основные особенности ранних БД
(1) Отсутствие стандартов.
-
Системы первого поколения были закрытыми: стандартов не существовало, и поэтому приложения невозможно было переносить с одной платформы на другую.
-
Понятие абстрактной модели данных фактически вошло в обиход специалистов в области БД только вместе с реляционным подходом.
-
Абстрактные представления ранних систем появились позже на основе анализа и выявления общих признаков у конкретных различных систем (бухгалтерские системы, склад, магазин, тесты, банковские системы и т.д.
(2) Отсутствие интерфейсов пользователя.
-
Интерактивный доступ к БД поддерживался только путем создания соответствующих прикладных программ с собственным интерфейсом.
-
Навигационная природа ранних систем (реляционная модель – логическое программирование – координаты таблиц и записей x_y_z) и доступ к данным на уровне записей заставляли пользователя самого производить всю оптимизацию доступа к БД, без какой-либо поддержки системы. Преимущество для специалистов-программистов
(2-1) После появления реляционных систем большинство ранних систем было оснащено "реляционными" интерфейсами.
-
Однако в большинстве случаев это не сделало их по-настоящему реляционными системами, поскольку оставалась возможность манипулировать данными в естественном для них режиме.
(3) Слабая защищенность – видимость путей хранения таблиц и структуры их записей.
-
В ранних системах доступ к БД производился на уровне записей.
-
Пользователи этих систем осуществляли явную навигацию в БД, используя языки программирования, расширенные функциями СУБД. Сейчас – запрос, представление.
-
Уровень инструментальных средств ранних СУБД соотносится с уровнем файловых систем примерно так же, как уровень языка высокого уровня Кобол, Visual C соотносится с уровнем языка Ассемблера.
(4) Эти системы послужили основой массового применения БД в 1980-е годы на платформе ПК.
-
Фактически, они активно использовались в течение многих лет. Дольше, чем используется какая-либо из реляционных СУБД.
-
Сектор рынка: домашние пользователи, малый и средний бизнес, небольшие государственные учреждения.
-
На самом деле некоторые из ранних систем используются даже в наше время, накоплены громадные базы данных, и одной из актуальных проблем информационных систем является использование этих систем совместно с современными системами.
Типы ранних БД. Таблицы, индексы, связи
С использованием ранних БД связано появление трех ключевых инноваций, которые в дальнейшем нашли широкое применение в будущих поколениях баз данных.
Инвертированные списки
Один из первых образцов - ADABAS. Применялся на больших и малых ЭВМ (в частности СМ ЭВМ – ГПС механообработки). Новый период расцвета – 1980-е годы – применение в персональных компьютерах (1986-1993). Из наиболее известных БД в России: dBase III – IV - V, Clipper, FoxPro, Paradox.
(1-2) Таблицы и индексы
-
(1) Данные хранятся в таблицах. Записи таблиц фиксированной длины, состоящие из множества различных типов полей. В одной таблице могут храниться: числа, даты, времена, текст, графика и т.д.
-
(2) Индекс – специальная таблица, содержащая записи из двух полей: значение ключа и номера записей в основной таблице. Записи упорядочены по возрастанию и убыванию значения ключа. Ключ – одно или несколько полей таблицы данных, по которым выполняется поиск.
-
для каждой таблицы произвольное число индексов (инвертированных списков), хранимых в отдельных файлах. Индексы автоматически поддерживаются системой.
Индекс (англ. index) — объект базы данных, создаваемый с целью повышения производительности выполнения запросов.
-
Таблицы в базе данных могут иметь большое количество строк, которые хранятся в произвольном порядке, и их поиск по заданному значению путем последовательного просмотра таблицы строка за строкой может занимать много времени.
-
Индекс формируется из значений одного или нескольких столбцов таблицы и указателей на соответствующие строки таблицы и, таким образом, позволяет находить нужную строку по заданному значению.
Пример индекса (назначение, реализация, составные индексы)
Другие особенности инвертированных списков:
-
пути доступа к таблицам и спискам видны пользователям.
-
общие определения целостности базы данных отсутствуют.
Типовые операторы манипулирования:
-
ОТКРЫТЬ ФАЙЛ, НАЙТИ ПЕРВУЮ ЗАПИСЬ, НАЙТИ ПЕРВУЮ ПО КЛЮЧУ, НАЙТИ СЛЕДУЮЩУЮ, БЛОКИРОВАТЬ ЗАПИСЬ, УДАЛИТЬ, ДОБАВИТЬ ПУСТУЮ ЗАПИСЬ, ИЗМЕНИТЬ ПОЛЕ ЗАПИСИ, ОБНОВИТЬ, ЗАКРЫТЬ ФАЙЛ
Иерархические БД
Типичный пример: Information Management System фирмы IBM (1969). Основные характеристики аналогичны интегрированным спискам.
(3) Поддержка целостности: связи между таблицами
-
1) Строится иерархия таблиц (предки, потомки). Организация Отдел начальник + сотрудники.
-
2) Предки и потомки. Один предок – множество потомков.
-
3) Частичная поддержка целостности в переделах дерева. Основное правило: никакой потомок не может существовать без своего родителя.
Сетевые БД
Типичным представителем является Integrated Database Management System.
Сетевой подход к организации данных является расширением иерархического подхода при поддержке целостности БД:
-
В иерархических структурах запись-потомок должна иметь в точности одного предка;
-
в сетевой структуре данных потомок может иметь любое число предков.
Преимущества и недостатки ранних систем баз данных
Преимущества:
(1) Эффективные средства управления данными во внешней памяти на низком уровне (устранен важный недостаток ранних файловых систем – низкая скорость доступа к данным);
(2) Возможность построения вручную эффективных БД-ориентированных прикладных систем (ИНДЕКСЫ);
-
Скорость поиска и обработки. Индексы.
(3) Возможность экономии памяти за счет разделения подобъектов (оверлейные структуры). Это было очень актуально в ранних системах.
-
MS DOS – 640 Кб. Размер модели – до нескольких мегабайт.
Недостатки:
Слишком сложно пользоваться;
-
Фактически необходимы знания о физической организации БД;
-
Прикладные системы зависят от этой организации;
-
Логика программ перегружена деталями организации доступа к БД.
Средства разработки БД-ориентированных приложений - XBase
Средства разработки Xbase (с использованием баз данных формата DBF и языка типа dBase) – это целая эпоха в развитии современных ИС и ВТ.
-
Во многом благодаря им компьютеры середины 1980-х годов начали завоевывать рынок автоматизации предприятий – сначала малых, потом средних, потом больших. 1986-1995
-
По традиции их часто называли СУБД, что не совсем верно: они имели развитые средства программирования и создания пользовательского интерфейса и позволяли создавать приложения весьма широкого класса. В соответствие с современной терминологией – это средства разработки БД-ориентированных (DB-based) приложений.
-
Пик популярности Xbase-средств на рубеж 1980-1990-х годов, когда началась скупка ведущих игроков данного рынка крупными ИТ-компаниями: 1991 – Borland приобрела Ashton-Tate (dBase), CA – Nantucket (Clipper), в 1992 – Microsoft купила Fox Software (FoxPro).
-
К середине 1990-х годов потенциал модернизации БД класса xBase, во многом основанный на архитектурных возможностях DOS, уже был практически исчерпан:
-
«снизу» (небольшие БД и клиентские приложения) их активно теснили системы быстрой разработки (Visual Basic, Delphi)
-
путь «наверх» к созданию серверных корпоративных решений перекрывали SQL-системы.
-
Еще одна причина – исчезновение стандарта БД: к началу 1990-х годов утрачена совместимость различных систем, как на уровне файлов данных, так и языка программирования. Причины – конкурентная борьба и желание увеличить мощность БД (объем и производительность) за счет нестандартных решений.
Пример xBase системы - Clipper 5.0
Историческая справка
-
Средство разработано фирмой Nantucket Corporation (США, Калифорния) в 1989 году. Лидер персональных БД с 1991…1996 год.
-
Яркий представитель БД для ПК. Целая эпоха в области информационных систем на базе ПК: от бухгалтерских систем, складов … до банковских систем. 1989-1995 год – абсолютное число ИС у нас в стране на базе Clipper.
На примере Clipper очень наглядно можно показать основы построения и организации ранних БД (см. рисунок в отдельном файле).
Основные элементы организации:
-
Файлы данных (dbf) – таблицы (дата, числа, символьная строка, мемо-поле). Каждая запись – до 256 полей. + Одно уникальное поле – идентификатор.
-
Файл Dogovor. Пример организации АЦИА.
-
-
Файлы индексов (ntx) – инвертированные списки. Ключ поиска – одинарный (числовой, дата, символьный) или многомерный (строковый).
-
Пример индексов (числа, даты, символы).
-
-
Язык программирования – аналог C (prg obj). Высокоэффективный компилятор. Включает:
-
команды-аналоги языка С
-
операторы IF, DO WHILE, Public (сверху вниз), FOR, Local
-
операции (логические, арифметические)
-
директивы include – включение внешних файлов, define – определение констант.
-
-
команды манипулирования данными
-
Append Blank, GO NEXT, USE, CLOSE, SET Index, Replace, Commit, Update, SKIP, SAY и т.д.
-
-
Классы (элемент объектно-ориентированного программирования)
-
Error – объект с информацией об ошибках,
-
Get – ввод и редактирование данных,
-
TB_Browse – объект для табличного просмотра данных,
-
TB_Column – объект для просмотра столбцов объекта TB_Browse
-
-
Компоновщик (obj + библиотеки exe) – оверлейные структуры + использование верхней памяти. Отладчик.
-
Встроенные функции – около 200
-
массивы (ADEL, AADD, ACOPY, ASORT …)
-
даты (date(), day(), year(), time(), dtoc(), ctod(), dtos())
-
символьные, арифметические.
-
Clipper Tools
-
оконные функции (псевдографика), управление режимами видеоадаптера
-
последовательный интерфейс (RS-232)
-
обработка строк (кодирование, шифрование, упорядочение потока символов)
-
числовые функции (математика)
-
дисковые функции (файловая система)
-
поддержка печати (очередь заданий на печать)
-
время и даты
-
системные функции (окружение MS DOS)
-
поддержка сети (Novell)
-
непосредственное чтение портов ввода-вывода