Основы реляционной алгебры
Поскольку каждая таблица в реляционной БД является отношением, действия над ними базируются на операциях реляционной алгебры. Исключение составляют лишь операции создания и заполнения таблиц данными (присваивания), а также операции описания и переименования столбцов таблицы.
В теории реляционной алгебры отношение рассматривается как множество, строки таблицы называются кортежами, столбцы — атрибутами. Над отношениями выполняются традиционные операции теории множеств.
Ограничение отношения (выборка) создание нового от ношения отбором в него строк отношения-операнда (исходного отношения), которые удовлетворяют условию ограничения.
Проекция отношения — создание нового отношения отбором в него определенных столбцов отношения—операнда.
Объединение отношений — создание нового отношения, со держащего все кортежи отношений-операндов. При этом операнды должны иметь одинаковые атрибуты.
Пример. Объединить поступающие из цехов отчеты о выпуске но вой продукции за прошедший месяц, содержащие следующие данные:
номер цеха, код продукции, дату выпуска и количество выпущенной продукции, с данными общей таблицы ВЫПУСК ПРОДУКЦИИ, имеющей ту же структуру. Для этого к кортежам
ВЫПУСК ПРОДУКЦИИ (Номер цеха, Код продукции, Дата выпуска, Количество)
добавляют кортежи
НОВАЯ ПРОДУКЦИЯ (Номер цеха, Код продукции, Дата выпуска, Количество).
Поскольку атрибуты приведенных операндов совпадают, таблица НОВАЯ ПРОДУКЦИЯ объединяется с исходной.
Пересечение отношений — создание нового отношения, содержащего строки, общие для сравниваемых операндов. При этом операнды должны иметь одинаковые атрибуты.
Пример. Рассмотрим пересечение отношений с выполнением операций ограничения и проекции.
Для экзаменационных ведомостей нужной группы сначала выполним ограничение исходных отношений, отобрав из каждого из них в новое отношение кортежи, удовлетворяющие следующему условию:
Оценка = Отлично.
В результате получим списки отличников группы по дисциплинам.
Теперь выполним проекцию полученных отношений, отобрав из каждого из них только атрибуты Номер зачетной книжки и ФИО студента. Получим новые списки отличников, в которых остались только номера зачетных книжек и фамилии студентов.
Таким образом, получим искомое отношение — СПИСОК ОТЛИЧНИКОВ, содержащее номера зачетных книжек и фамилии, общие для всех списков отличников.
Пример. Подготовить сведения о выпуске новых видов продукции за последний квартал.
Для решения этой задачи выполняем ограничение отношения ВЫПУСК ПРОДУКЦИИ по следующему условию: дата выпуска меньше последней даты прошлого квартала.
Результат такого ограничения поместим в исходную таблицу.
Затем выполним следующее ограничение для исходной таблицы: дата выпуска меньше первой даты прошлого квартала. Полученный результат занесем в конечную таблицу.
Разность отношений исходной и конечной таблиц даст искомые сведения.
Произведение отношений — создание нового отношения, в котором имеются все атрибуты 1-го и 2-го операндов, а строки получены по парным сцеплением строк их отношений. Число кортежей — мощность нового отношения — равна произведению мощностей 1-го и 2-го отношений. При этом множества атрибутов от ношений не должны пересекаться.
Произведение отношений используется при решении задач подбора пар из двух множеств, например поставщиков и потребителей. Для этого сначала составляют все возможные пары, а затем по конкретному критерию отбирают из них подходящие.
Пример. По двум заданным отношениям требуется найти произведение. деление отношений — создание нового отношения, содержащего атрибуты 1-го операнда, отсутствующие во 2-м операнде, и кортежи 1-го операнда, которые совпали с кортежами 2-го операнда. Для выполнения этой операции 2-й операнд должен содержать лишь атрибуты, совпадающие с атрибутами 1 -го.
Пример. Требуется отобрать студентов группы, получающих стипендию, используя список, содержащий следующие сведения: ФИО, дата рождения, шифр группы и признак наличия стипендии (да, нет).
Для решения задачи создадим вспомогательное отношение с атрибутами Шифр группы и Признак наличия стипендии. Затем заполним один кортеж этого отношения, поместив в него шифр заданной группы и отметку о получении стипендии (да).
В результате деления исходного списка на вспомогательное отношение получим искомый список с атрибутами ФИО и Дата рождения.
Соединение отношений — создание нового отношения, кортеж которого является результатом сцепления кортежей операндов (исходных отношений).
Различают соединения отношений двух видов: естественное и по условию.
При соединении отношений по условию производятся сцепление строк их операндов и проверка полученной строки на соответствие заданному условию. Если условие выполнено, то полученная строка включается в результирующее отношение.
При естественном соединении отношений производятся сцепление строк их операндов и включение полученной строки в результирующее отношение без проверки. Такое соединение используют, когда отношения-операнды обладают общими атрибутами.
Одни и те же данные могут группироваться в таблицы различными способами. Группировка атрибутов в отношениях должна быть рациональной, т. е. минимизирующей дублирование данных и упрощающей процедуры их обработки и обновления. Устранение избыточности данных, являющееся одной из важнейших задач при проектировании баз данных, обеспечивается нормализацией.
Дата добавления: 2015-11-06; просмотров: 1167;