
- •Лекция 9-10. Основы баз данных
- •Базы данных и информационные системы
- •Архитектура информационной системы
- •Модели данных
- •Системы управления базами данных
- •Элементы реляционной модели
- •Проблемы проектирования реляционных бд
- •Избыточное дублирование данных
- •Аномалии обновления, удаления и добавления записей
- •Универсальное отношение
- •Почему проект бд может быть плохим?
- •Нормализация отношений (таблиц)
- •Обучение
- •Нормальные формы
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
Элементы реляционной модели
Реляционная модель данных (РМД) некоторой предметной области представляет собой набор отношений, изменяющихся во времени. При создании информационной системы совокупность отношений позволяет хранить данные об объектах предметной области и моделировать связи между ними. Элементы РМД и формы их представления приведены в таблице 1.
Таблица 1. Элементы реляционной модели
Элемент реляционной модели |
Форма представления |
Отношение |
Таблица |
Схема отношения |
Строка заголовков таблицы |
Кортеж |
Строка таблицы |
Сущность |
Описание свойств объекта |
Атрибут |
Заголовок столбца таблицы |
Первичный ключ |
Один или несколько атрибутов |
Тип данных |
Тип значений элементов таблицы |
Важнейшим является понятие отношения, которое представляет собой двумерную таблицу, содержащую некоторые данные.
Сущностьесть объект любой природы, данные о котором хранятся в базе данных. Данные о сущности хранятся в отношении.
Атрибутыпредставляют собой свойства, характеризующие сущность.
Множество всех значений каждого атрибута отношения образует домен(колонка таблицы). Отношение СОТРУДНИКИ включает 4 домена. Домен 1 содержит фамилии всех сотрудников, домен 2 – номера всех отделов предприятия, домен 3 – название всех должностей, домен 4 – даты рождения всех сотрудников. Каждый домен образует значения одного типа, например, числовые или символьные.
Отношение СОТРУДНИКИ содержит 3 кортежа (строки). Каждому кортежу соответствует строка таблицы. Кортеж рассматриваемого отношения состоит из 4-х элементов, каждый из которых выбирается из соответствующего домена.
Схема отношения представляет собой список имен атрибутов. Например, для приведенного примера схема отношения имеет вид СОТРУДНИКИ(ФИО, Отдел, Должность, ДатаРождения).
Отношение (таблица) СОТРУДНИКИ | |||
ФИО |
Отдел |
Должность |
ДатаРождения |
Иванов И.И. |
002 |
Начальник |
27.09.51 |
Петров П.Н. |
001 |
Зам. начальника |
15.04.55 ] |
Сидоров И.М. |
002 |
Инженер |
13.01.70 |
Ключом отношения, илипервичным ключом, называется атрибут отношения, однозначно идентифицирующий каждый из его кортежей (каждую из строк). Например, в отношенииСОТРУДНИКИ(ФИО, Отдел, Должность, ДатаРождения)ключевым является атрибутФИО(подчеркнуто). Ключ может бытьсоставным, т. с. состоять из нескольких атрибутов.
Существует также понятие внешнего ключа. С помощью внешних ключей устанавливаются связи между отношениями. Например, имеется еще одно отношение ДОЛЖНОСТИ (Должность, Оклад, ПроцентПремии). Оно связано с отношением СОТРУДНИКИ через атрибут Должность. В отношении ДОЛЖНОСТИпервичнымключом является атрибут Должность, а в отношении СОТРУДНИКИ атрибут Должности будетвнешнимключом.
Реляционная модель накладывает на внешние ключи ограничение для обеспечения целостности данных, называемое ссылочной целостностью. Это означает, что каждому значению внешнего ключа должны соответствовать строки в связываемых отношениях.
Операции, выполняемые над отношениями, можно разделить на две группы.
Первую группу составляют операции над множествами, к которым относятся операции: объединения, пересечения, разности, деления и декартова произведения.
Вторую группу составляют специальные операции над отношениями, к которым относятся операции: проекции, соединения, выбора.
В различных СУБД реализована некоторая часть этих операций, определяющая в какой-то мере возможности данной СУБД и сложность реализации запросов к БД.
В реляционных СУБД для выполнения операций над отношениями используют две группы языков, имеющие в качестве своей математической основы реляционную алгебру и реляционное исчисление соответственно.