- •Лекция 7. Основные понятия. Классификация информационных систем
- •Лекция 8. Потоки информации, их составные части, расчет количества информации
- •Лекция 9. Проектирование информационных систем
- •2. Стадии разработки информационных систем
- •Лекция 11. Процедуры обоснования решений при проектировании информационных систем
- •Лекция 12. Базы данных: архитектура, программное обеспечение, пользователи, модели данных.
- •Лекция 13. Реляционная модель данных
- •1) Операции над множествами: объединение, пересечение, вычитание и декартово произведение; 2) специальные реляционные операции: выборка, проекция, соединение и деление.
- •Лекция 14. Система управления базой данных Access: объекты, типы данных, вычисления, создание и модификация объектов.
Лекция 13. Реляционная модель данных
По распространенности и популярности реляционные СУБД сегодня вне конкуренции. По сути, они фактически стали промышленным стандартом. В реляционной модели рассматриваются три аспекта данных — структура данных, целостность данных и обработка данных.
Реляционная модель разработана на основе математической теории отношений и опирается на систему понятий, важнейшими из которых являются отношение, кортеж, кардинальное число, атрибут, степень, домен, первичный ключ, внешний ключ, таблица, строка.
Реляционной считается такая база данных, в которой все данные представлены для пользователя в виде прямоугольных таблиц значений данных, и все операции над базой данных сводятся к манипуляциям с таблицами.
Таблица состоит из строк и столбцов и имеет имя, уникальное внутри вазы данных. Таблица реализует некоторое отношение или отношение можно представить как таблицу.
Кортеж соответствует строке этой таблицы, а атрибут — столбцу. Количество кортежей называется кардинальным числом, а количество атрибутов степенью отношения.
Первичный ключ является уникальным идентификатором таблицы и представляет собой такой столбец или такую комбинацию столбцов, что в любой момент времени не существует двух строк, содержащих одинаковое значение в этом столбце или комбинации столбцов. Множество всех возможных значений атрибута объекта называется доменом.
Каждый столбец таблицы имеет имя, которое обычно записывается в верхней части таблицы. Оно должно быть уникальным в таблице, однако различные таблицы могут иметь столбцы с одинаковыми именами. Любая таблица должна иметь, по крайней мере, один столбец. Порядок следования столбцов в таблице определяется порядком следования их имен при ее создании, В отличие от столбцов, строки не имеют имен; порядок их следования в таблице не определен, а количество логически не ограничено.
В качестве примера рассмотрим отношения, формирующие БД ГРУЗООТПРАВИТЕЛИ / ГРУЗЫ (табл.1-3).
Таблица 1. Отношение ГРУЗООТПРАВИТЕЛИ
от# |
ГРУЗООТПРАВИТЕЛЬ |
ПУНКТ ОТПРАВЛЕНИЯ |
ПУНКТ ПРИБЫТИЯ |
ОТ1 |
ЗАВОД "СИГНАЛ" |
С.-ПЕТЕРБУРГ |
МОСКВА |
ОТ2 |
КОМБИНАТ "МЕБЕЛЬ- |
С.-ПЕТЕРБУРГ |
МОСКВА |
ОТ3 |
ШАХТА N 1 |
КЕМЕРОВО |
ОМСК |
Таблица 2. Отношение ГРУЗЫ
G# |
НАЗВАНИЕ-ГРУЗА |
ВЕС |
G1 |
РАДИОАППАРАТУРА |
1 Т |
G2 |
МЕБЕЛЬ |
0,5 Т |
G3 |
УГОЛЬ |
100Т |
Таблица 3. Отношение ГРУЗООТПРАВИТЕЛИ-ГРУЗЫ
OG# |
G# |
ОТ# |
OG1 |
Gl |
ОТ1 |
OG2 |
G2 |
ОТ2 |
OG3 |
G3 |
ОТЗ |
В отношении ГРУЗООТПРАВИТЕЛИ и в соответствующей таблице (табл. 1) четыре столбца-атрибута: {ОТ#, ГРУЗООТПРАВИТЕЛЬ, ПУНКТ_ОТПРАВЛЕНИЯ, ПУНКТ_ПРИБЫТИЯ} и три кортежа. Соответственно кардинальное число отношения равно 3, а степень отношения равна 4. Атрибут ОТ# является первичным ключом.
Отношения обладают следующими важными свойствами: в них нет одинаковых кортежей; кортежи не упорядочены сверху вниз; атрибуты не упорядочены слева направо; все значения атомарны, т.е. отношения нормализированы.
Последнее свойство является следствием того, что в каждой позиции пересечения столбца и строки в таблице должно располагаться точно одно значение, а не набор значений. Отношение, обладающее этим свойством, называется нормализированным или представленным в первой нормальной форме.
В реляционной модели есть два общих правила целостности, которые применяются к любой реляционной БД. Эти правила относятся к потенциальным ключам и к внешним ключам.
Выше были рассмотрены первичные ключи, которые являются частным случаем потенциального ключа. Пусть R — некоторое отношение. Тогда потенциальный ключ К для R — это подмножество множества атрибутов R, обладающее такими свойствами, как:
уникальность: нет двух различных кортежей в отношении R с одинаковым значением К;
неизбыточность: никакое из подмножеств К не обладает свойством уникальности.
Каждое отношение имеет по крайней мере один потенциальный ключ, так как не содержит одинаковых кортежей.
Потенциальные ключи имеют первостепенную важность для реляционных систем, поскольку обеспечивают основной механизм адресации на уровне кортежей. Единственный гарантируемый способ указать на какой-нибудь кортеж — это указать значение некоторого потенциального ключа.
Потенциальный ключ, имеющий более одного атрибута, называется составным, а состоящий из одного атрибута — простым.
Отношение может иметь больше одного потенциального ключа. В этом случае один из потенциальных ключей выбирается в качестве первичного ключа, а остальные потенциальные ключи, если они есть, называются альтернативными ключами.
В приведенном правиле отсутствует описание механизмов обеспечения ссылочной целостности, которые выходят за рамки классической реляционной модели. К нарушению ссылочной целостности обычно приводят операции удаления и модификации записей одного отношения без учета необходимости удаления и модификации связанного с ним отношения (отношений). Поэтому вводятся дополнительные два правила внешних ключей: правило удаления и правило модификации. Для каждого из этих правил предусмотрена одна из двух возможностей: ограничить (запретить) удаление/модификацию объекта ссылки внешнего ключа или каскадировать, т.е. удалить как ссылающуюся, так и ссылочную запись (записи).
Таким образом, при проектировании внешних ключей БД должен быть указан не только набор атрибутов, составляющий внешний ключ в целевом отношении, но и правило обеспечения ссылочной целостности.
Основой обеспечения целостности модели является реляционная алгебра, состоящая из операторов, использующих отношения в качестве операторов и возвращающих отношения в качестве результата. Реляционная алгебра состоит из восьми основных операторов, которые можно разделить на две группы по четыре оператора в каждой: