- •Реляционные базы данных
- •Табличное представление
- •Реляционные базы данных
- •Первые разработки
- •Повторяющиеся группы
- •Древовидные структуры
- •Добавления в нормализованной схеме
- •Размещение (номер-здания, номер-отдела)
- •Сетевые структуры
- •Процедура конструирования
- •Пути использования данных
- •Каноническая структура записей (сегментов)
- •Комбинированные овал-диаграммы
- •Устранение избыточности
- •Ключи и атрибуты
- •Вторичные ключи
- •Транзитивные зависимости
- •Отношения между ключами
- •Последовательность записей
- •Три уровня автоматизации
- •Недостатки
- •Заключение. Преимущества реляционной базы
Последовательность записей
Для некоторых представлений пользователя о данных очень важной является та последовательность, в которой представляются данные для прикладной программы или воспроизводятся на терминале. Однако каноническая схема не указывает последовательность, согласно которой записи запоминаются.
В общем случае устанавливать последовательность записей в канонической схеме нежелательно, так как различным приложениям могут потребоваться записи в разной последовательности.
Например, в базе данных названий книг одному приложению нужен логический файл названий в алфавитном порядке, другому - упорядоченность по фамилиям авторов, третьему - по индексу библиотеки конгресса. Упорядочивание по различным признакам может определяться вторичными ключами (блоками, снабженными двойной связью с элементом НАЗВАНИЕ-КНИГИ).
При преобразовании канонической схемы в физическое представление данных необходимо устанавливать последовательность записей. Средство определения последовательности должно быть частью физического, а не логического описания данных. В некоторых языках описания логических данных существуют операторы, определяющие порядок расположения записей. Эта информация должна добавляться при преобразовании канонической схемы в логическую, поддерживаемую программным обеспечением. Сторонники реляционных баз данных утверждают, что последовательность кортежей не должна быть частью описания логических данных.
Три уровня автоматизации
Можно выделить три уровня автоматизации, применяемые в языках пользователя базой данных:
1. Исчисление - Высший уровень автоматизации. Пользователь непосредственно обращается к машине, и машина его понимает.
2. Алгебра. Пользователь вводит набор операций высокого уровня над отношениями (или другими группами данных).
3. Кортеж. Низший уровень. Программист работает с записями или кортежами.
В последнее время стал популярным термин «в сопровождении программиста». Под этим понимается процесс оперативного нахождения в базе нужной записи или сегмента, когда пользователь, не снабженный аппаратом исчисления или алгебры (или другим средством манипулирования высокого уровня), может добиться успеха только с помощью программиста. Программист необходим в такой системе в качестве посредника между запросом пользователя и машиной для формирования отдельных шагов работы.
Использование исчисления можно сравнить с возможностью сесть в такси и сказать водителю: «Отвезите меня в гостиницу Плаца». Сопровождение программиста означает, что в машину пришлось бы посадить еще одного человека, который бы говорил водителю: «Налево ... через три квартала - направо...»
Автоматическое сопровождение (например, с применением средств исчисления) является требованием времени. Заметим при этом, что использование операторов высокого уровня или автосопровождение существенно сложнее в базах с древовидной или сетевой структурой
(или с повторяющимися группами), чем в реляционной базе данных. Поэтому сторонники нормализация видят в ней ключ к дальнейшему повышению уровня автоматизации в программном обеспечении систем баз данных будущего.
