
- •Первая часть лекций по курсу базы данных
- •1. Введение в банки данных
- •1.1. Понятие банка данных
- •1.2. Компоненты банка данных
- •1.3. Пользователи банков данных
- •1.4. Классификация банков данных
- •Классификация БнД по экономико-организационным признакам.
- •1.5. Этапы проектирования баз данных
- •2. 1. Общие сведения об инфологическом моделировании
- •2. 2. Построение модели “объект — свойство — отношение”
- •2.3. Сравнение методик построения er-моделей
- •Тема : Схемы и подсхемы.
- •Тема: Модели данных.
- •Сетевые структуры.
- •Реляционные бд.
- •Тема: Манипулирование отношениями (Реляционная алгебра).
- •Тема: Принципы нормализации.
- •Тема: Организационные проблемы:
- •Целостность данных. Контроль типов.
- •Восстановление данных. Типы отказов.
- •Отказы транзакций.
Реляционные бд.
Избежать растущей сложности древовидных и сетевых структур можно с помощью метода, называемого нормализацией отношений. Этот метод был разработан Коддом. Принципы, которые применял Кодд при разработке БД относятся к представлению данных пользователем или к логическому описанию данных. Существует много способов отображения БД Кодда на физическом носителе.
В принципе, требуется найти такой способ описания данных, который 1) понятен пользователю, не имеющему особых навыков в программировании; 2) позволяет подсоединять новых пользователей без изменения существующей логической структуры и ПП-й; 3) допускает максимальную гибкость при формировании непредсказуемых или случайных запросов с терминалов.
Один из самых естественных способов представления данных для пользователя непрограммиста – это двумерная таблица (рисунок 7). Она привычна для пользователя, понятна и обозрима, ее легко запомнить. Поскольку любая сетевая структура может быть разложена в совокупность древовидных структур (рисунок 24), то и любое представление данных может быть сведено к двумерным плоским файлам (тоже с некоторой избыточностью). Этот процесс представления данных в форме двумерных таблиц, выполняемый шаг за шагом для каждого отношения между данными в базе называется нормализацией. Таблицы могут быть построены таким образом, что не будет утеряна информация об отношениях между элементами данных. Рассматриваемая таблица – это прямоугольные массивы, которые можно описать математически. Таблица обладает следующими свойствами:
каждый элемент таблицы представляет собой один элемент данных, повторяющиеся группы отсутствуют;
все столбцы в таблице однородные, то есть элементы столбца имеют одинаковую природу;
столбцам однозначно присвоены имена;
в таблице нет двух одинаковых строк;
в операциях с такой таблицей ее строки и столбцы могут просматриваться в любом порядке и в любой последовательности безотносительно к их информационному содержанию и смыслу.
Таблица такого вида, как на рисунке 7 называется отношением. БД, построенная с помощью отношений называются реляционной БД.
Отношение, или таблица – это набор кортежей. Если кортежи являются n – мерными, то есть, если таблица имеет n столбцов, отношение называется отношением степени n, или n – арным отношением.
Набор значений элементов данных одного типа, то есть один столбец таблицы, называется доменом.
Столбец с номером j называется j – м доменом отношения.
Кодд разработал специальный ЯМД для такой БД. В этом языке может быть выражен обычный диалог человека с машиной. В нем есть возможность извлекать подмножества столбцов таблицы для одних пользователей, создавая таблицы меньшей размерности, а также объединять таблицы для других пользователей, создавая таблицы большей размерности. Язык Кодда содержит обе эти операции разрезания и склеивания таблицы, поэтому он обладает гибкостью, которой лишено большинство древовидных и сетевых структур.
Каждый кортеж должен иметь ключ – идентификатор. Ключ должен обладать двумя свойствами:
А) Однозначная идентификация кортежа: кортеж должен однозначно определяться значением ключа.
Б) Отсутствие избыточности: никакой атрибут нельзя удалить из ключа, не нарушая при этом свойства однозначной идентификации.
Для кортежей одного отношения может существовать несколько наборов атрибутов, удовлетворяющих этим свойствам. Такие наборы называются возможными ключами. Тот ключ, который фактически будет использоваться для идентификации записей, называется основным или первичным ключом. Для основного ключа атрибуты следует выбирать так, чтобы для них был заранее известен диапазон значений, а их количество было бы как можно меньше.
На рисунке 26 показано четырехуровневое дерево, и оно же приведено в виде шести отношений, ключ некоторого отношения может содержать ключ отношения, соответствующего вышестоящей вершине.
Схема БД древовидной структуры.
Нормализованная форма схемы:
Отдел (№_отдела, название_отдела, отчетность, руководитель, бюджет),
Работа (№_отдела, №_работы, описание_работы),
Служащий (№_служащего, имя_служащего, №_отдела, пол, з/пл, звание, адрес),
Изменение оклада (№_служащего, дата_установления_з/пл, размер_з/пл),
Дети (№_служащего, имя_ребенка, возраст_ребенка, пол_ребенка),
Трудовая деятельность (№_служащего, дата_назначения, должность).
Рис. 26