
- •Информация и данные
- •Основные понятия систем с базами данных
- •Пользователи информационной системы с БД
- •Требования к информационным системам с базами данных
- •Основные компоненты ИС с базами данных
- •Архитектура систем с базами данных. Понятие модели данных
- •Сущности и их свойства
- •Связи (отношения) между сущностями
- •Виды связей между сущностями
- •Еще о сущностях, их свойствах и связях между ними
- •Модели данных. Ранние подходы к организации баз данных
- •Основные понятия реляционной модели данных
- •Структуры данных реляционной модели. Реляционные отношения
- •Свойства отношений
- •Отсутствие в отношении одинаковых кортежей
- •Кортежи отношения не упорядочены (сверху вниз)
- •Атрибуты отношения не упорядочены (слева направо)
- •Значения всех атрибутов являются атомарными
- •Виды отношений
- •Реляционная база данных
- •Реляционная модель. Операции над данными
- •Реляционная алгебра
- •Пересечение отношений
- •Вычитание отношений
- •Декартово произведение отношений
- •Проекция
- •Выборка (ограничение)
- •Естественное соединение отношений
- •Деление
- •Реляционное исчисление
- •Примеры правильно построенных формул
- •Язык SQL
- •Отличие SQL от процедурных языков программирования
- •Формы и составные части SQL
- •Условия и терминология
- •Простейшие SELECT-запросы
- •Ограничения целостности в реляционной модели
- •Ограничения целостности уровня атрибута
- •Домены отношений
- •Отсутствующая информация или NULL-значения.
- •Ограничения целостности уровня кортежа
- •Ограничения целостности уровня отношения
- •Потенциальные, первичные, альтернативные ключи отношения
- •Потенциальные ключи и NULL-значения
- •Ограничения целостности уровня базы данных
- •Внешние ключи и NULL-значения
- •Правила ссылочной целостности
- •При обновлении кортежа в родительском отношении
- •При удалении кортежа в родительском отношении
- •При вставке кортежа в дочернее отношение
- •При обновлении кортежа в дочернем отношении
- •Средства обеспечения целостности данных в СУБД
- •Поддержка декларативных ограничений целостности в языке SQL
- •Проектирование базы данных
- •Функциональная зависимость
- •Нормализация отношений базы данных
- •Нормальные формы
- •Декомпозиция без потерь и функциональные зависимости
- •Первая и вторая нормальные формы.
- •Третья нормальная форма.
- •Многозначные зависимости и четвертая нормальная форма
- •Зависимости соединения и пятая нормальная форма
- •Итоговая схема процедуры нормализации
- •Структуры хранения данных и методы доступа
- •Хранение отношений и доступ к хранимым данным
- •Индексирование
- •Управление транзакциями и целостность баз данных
- •Транзакции и параллелизм
- •Проблемы, возникающие при параллельном выполнении транзакций
- •Проблема потери результатов обновления
- •Проблемы несовместимого анализа
- •Несовместимый анализ – неповторяемое считывание
- •Несовместимый анализ – фиктивные элементы (фантомы)
- •Собственно несовместимый анализ
- •Конфликты между транзакциями
- •Методы сериализации транзакций
- •Решение проблем параллелизма при помощи блокировок
- •Проблема потери результатов обновления
- •Проблема несовместимого анализа. Неповторяемое считывание
- •Фиктивные элементы (фантомы)
- •Собственно несовместимый анализ
- •Уровни изоляции. Объекты синхронизационных блокировок
- •Предикатные синхронизационные блокировки
- •Метод временных меток
- •Уровни изоляции.
- •Синтаксис операторов SQL, определяющих уровни изоляции

46
Значение m, то есть число кортежей в отношении, называется кардинальным числом отношения.
Значение n, то есть число атрибутов отношения, называется степенью отношения R.
Исходя из приведенных определений, уже должно быть видно, что определенное таким образом отношение и обычная двумерная таблица это не одно и то же. Можно согласиться с тем, что таблица может использоваться в качестве конкретного графического представления на бумаге или экране значения отношения. Однако должно быть понятно, что не всякая таблица является изображением отношения. При использовании таблицы в качестве представления отношения следует придерживаться определенных правил интерпретации ее элементов в соответствие с приведенным определением отношения и его свойствами, которые более подробно рассматриваются ниже.
Определив таким образом отношение в смысле значение отношения, теперь можно сформулировать определение для отношения, понимаемого в смысле переменной, которая в разное время принимает различные конкретные значения (вид которых определен выше). Это определение имеет следующий вид.
Пусть R – переменная отношения. Переменная R может принимать в разные моменты времени различные значения, однако, при этом все возможные значения конкретной переменной отношения R будут иметь
одинаковые заголовки (схему).
6.3.Свойства отношений
Реляционное отношение обладает следующими свойствами.
•В отношении нет одинаковых кортежей.
•Кортежи отношения не упорядочены (сверху вниз).
•Атрибуты отношения не упорядочены (слева направо).
•Все значения атрибутов атомарны (скалярны, неделимы).
Поясним эти свойства.
Отсутствие в отношении одинаковых кортежей
Это свойство следует из того факта, что тело отношения – это математическое множество (кортежей). В классической теории множеств по определению множество не содержит одинаковых элементов.
47
Это свойство является одним из примеров отмечаемой выше не эквивалентности понятий отношение и таблица. Таблица (в общем случае) может содержать одинаковые строки и, следовательно, таблица, содержащая одинаковые строки, не может быть отношением по определению.
Важным следствием того, что в отношении нет одинаковых строк– кортежей, является то, что в отношении всегда существует, по крайней мере, один потенциальный ключ. Действительно, так как кортежи уникальны, то, по крайней мере, комбинация всех атрибутов будет обладать свойством уникальности, и, следовательно, может служить ключом отношения, однозначно, идентифицирующим кортежи.
Кортежи отношения не упорядочены (сверху вниз)
Это свойство также следует из того, что тело отношения – это математическое множество, а простые множества в математике не упорядочены. Так в отношении, представленном на рисунке 6.1, кортежи могли быть расположены в любом другом порядке, и, тем не менее, это все равно было бы то же самое отношение. Исходя из сказанного, к отношению не применимы такие понятия как первый кортеж, последний кортеж, десятый кортеж,
следующий или предыдущий кортеж и т.д., другими словами в отношении нет понятия позиционной адресации кортежей, также как и понятия
последовательности кортежей.
Обращение к конкретному кортежу, его идентификация могут быть осуществлены только по ключу отношения.
Это свойство также служит иллюстрацией не эквивалентности понятий отношение и таблица. В отличие от отношения, строки в таблице всегда упорядочены – есть первая строка, вторая, последняя и т.д.
Атрибуты отношения не упорядочены (слева направо)
Это свойство следует из того факта, что заголовок отношения также определен как простое математическое множество, а именно, множество пар
<имя-атрибута: имя-домена>.
Исходя из этого, если в представленной на рисунке 6.1 таблице те же атрибуты были бы расставлены в каком-либо другом порядке, то это все равно было бы то же самое отношение. Поэтому не существует таких понятий, как
первый атрибут, последний атрибут, следующий или предыдущий атрибут и
т.д. Атрибут всегда адресуется или определятся по его имени, а не по
расположению в отношении.
По этому пункту понятия отношение и таблица также не совпадают. Столбцы обычной таблицы, в отличие от атрибутов отношения, всегда упорядочены слева направо.

48
Значения всех атрибутов являются атомарными
В реляционной модели домены, на которых определены атрибуты отношения, и из которых «черпаются» фактические значения атрибутов, могут содержать только атомарные (неделимые, скалярные) значения. Другими словами на пересечении столбца и строки таблицы, представляющей отношение, должно быть в точности одно значение, а не набор значений или какая либо сложная (составная) структура значений.
Отношение, удовлетворяющее этому условию, называется
нормализованным, или представленным в первой нормальной форме (другие нормальные формы будут обсуждаться позже, в следующих разделах).
Из сказанного следует, что реляционная модель рассматривает только нормализованные отношения, хотя отношение, понимаемое в математическом смысле, в общем случае может быть и не нормализованным. В качестве значений его атрибутов могут использоваться и более сложные структуры значений, например другие отношения.
Примером ненормализованного отношения может служить приведенная на рисунке 6.2 таблица Отношение 1. Как следует из вышесказанного, в реляционной модели отношения такого вида являются недопустимыми. Следует, однако, заметить, что это ограничение ни в коем смысле не ограничивает нас с точки зрения самой возможности отражения необходимой информации. Так вся информация, представленная в ненормализованном отношении Отношение 1, может быть полностью представлена в виде нормализованного отношения Отношение 2.
Отношение 1 |
|
|
Отношение 2 |
|
||
Код_студ |
Успеваемость |
|
Код_студ |
Дисциплина |
Оценка |
|
Дисциплина |
Оценка |
|
|
|
|
|
|
С9 |
Физика |
5 |
|||
|
Физика |
5 |
|
|||
|
|
С9 |
Математика |
4 |
||
|
Математика |
4 |
|
|||
|
|
С9 |
История |
4 |
||
С9 |
История |
4 |
|
|||
|
С9 |
Химия |
3 |
|||
|
Химия |
3 |
|
|||
|
|
|
|
С9 |
Информатика |
5 |
|
Информатика |
5 |
||||
|
|
|
|
С6 |
Физика |
3 |
|
Физика |
3 |
||||
С6 |
Математика |
4 |
|
С6 |
Математика |
4 |
|
Информатика |
3 |
|
С6 |
Информатика |
3 |
С1 |
Математика |
5 |
|
С1 |
Математика |
5 |
С7 |
Информатика |
5 |
|
С7 |
Информатика |
5 |
Химия |
4 |
|
||||
|
|
С7 |
Химия |
4 |
||
|
|
|
|
|||
|
|
|
|
|
|
|
Рис. 6.2. Пример ненормализованного и нормализованного отношений