Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Раздаточный материал по информатике / 02_4 - Первое поколение баз данных

.doc
Скачиваний:
49
Добавлен:
23.05.2015
Размер:
77.31 Кб
Скачать

6

Следующие 5 лекций будут посвящены более детальному рассмотрению вопросов организации БД: архитектура, язык манипулирования, функции СУБД, реляционная и другие модели данных.

2.4. Первое поколение БД – дореляционные модели данных

Основные особенности ранних БД

(1) Отсутствие стандартов.

    • Системы первого поколения были закрытыми: стандартов не существовало, и поэтому приложения невозможно было переносить с одной платформы на другую.

    • Понятие абстрактной модели данных фактически вошло в обиход специалистов в области БД только вместе с реляционным подходом.

    • Абстрактные представления ранних систем появились позже на основе анализа и выявления общих признаков у конкретных различных систем (бухгалтерские системы, склад, магазин, тесты, банковские системы и т.д.

(2) Отсутствие интерфейсов пользователя.

    • Интерактивный доступ к БД поддерживался только путем создания соответствующих прикладных программ с собственным интерфейсом.

    • Навигационная природа ранних систем (реляционная модель – логическое программирование – координаты таблиц и записей x_y_z) и доступ к данным на уровне записей заставляли пользователя самого производить всю оптимизацию доступа к БД, без какой-либо поддержки системы. Преимущество для специалистов-программистов

(2-1) После появления реляционных систем большинство ранних систем было оснащено "реляционными" интерфейсами.

    • Однако в большинстве случаев это не сделало их по-настоящему реляционными системами, поскольку оставалась возможность манипулировать данными в естественном для них режиме.

(3) Слабая защищенность – видимость путей хранения таблиц и структуры их записей.

    • В ранних системах доступ к БД производился на уровне записей.

    • Пользователи этих систем осуществляли явную навигацию в БД, используя языки программирования, расширенные функциями СУБД. Сейчас – запрос, представление.

    • Уровень инструментальных средств ранних СУБД соотносится с уровнем файловых систем примерно так же, как уровень языка высокого уровня Кобол, Visual C соотносится с уровнем языка Ассемблера.

(4) Эти системы послужили основой массового применения БД в 1980-е годы на платформе ПК.

    • Фактически, они активно использовались в течение многих лет. Дольше, чем используется какая-либо из реляционных СУБД.

    • Сектор рынка: домашние пользователи, малый и средний бизнес, небольшие государственные учреждения.

    • На самом деле некоторые из ранних систем используются даже в наше время, накоплены громадные базы данных, и одной из актуальных проблем информационных систем является использование этих систем совместно с современными системами.

Типы ранних БД. Таблицы, индексы, связи

С использованием ранних БД связано появление трех ключевых инноваций, которые в дальнейшем нашли широкое применение в будущих поколениях баз данных.

Инвертированные списки

Один из первых образцов - ADABAS. Применялся на больших и малых ЭВМ (в частности СМ ЭВМ – ГПС механообработки). Новый период расцвета – 1980-е годы – применение в персональных компьютерах (1986-1993). Из наиболее известных БД в России: dBase IIIIV - 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)

  • непосредственное чтение портов ввода-вывода