Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК-БД-(конспекты лекций).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.4 Mб
Скачать

Основы реляционной алгебры.

Поскольку каждая таблица в реляционной БД является отношением, действия над таблицами базируются на операциях реляционной алгебры. Исключение составляют лишь операции создания и заполнения таблиц данными (операция присваивания), а также операции описания и переименования столбцов таблицы.

В теории реляционной алгебры отношение рассматривается как множество, строки таблицы называются кортежами, столбцы — атрибутами. Над отношениями выполняются традиционные операции теории множеств:

Ограничение отношения (выборка) — создает новое отношение, отбирая в него строки отношения-операнда, которые удовлетворяют условию ограничения.

Проекция отношения — создает новое отношение, отбирая в него определенные столбцы отношения-операнда.

Объединение отношений — создает новое отношение, содержащее все кортежи отношений операндов. Операнды должны иметь одинаковые атрибуты.

Пример 1. (объединение отношений).

Ежемесячно из цехов поступают отчеты о выпуске новой продукции за прошедший месяц, содержащие номер цеха, код продукции, дату выпуска и количество выпущенной продукции. Эти сведения добавляются в общую таблицу «ВЫПУСК ПРОДУКЦИИ» с такой же структурой, т. е. к кортежам

ВЫПУСК ПРОДУКЦИИ (Номер цеха, Код продукции, Дата выпуска. Количество)

добавляются кортежи

НОВАЯ ПРОДУКЦИЯ (Номер цеха, Код продукции, Дата выпуска, Количество)

Атрибуты операндов совпадают. Таблица «НОВАЯ ПРОДУКЦИЯ» объединяется с исходной.

Пересечение отношений — создает новое отношение, содержащее строки, общие для сравниваемых операндов. Операнды должны иметь одинаковые атрибуты.

Пример 2. (пересечение отношений с выполнением операций ограничения и проекции). Имеется набор экзаменационных ведомостей — отношений с совпадающими атрибутами:

ЭКЗАМЕНАЦИОННАЯ ВЕДОМОСТЬ (Группа, Номер зачетной книжки, Фамилия студента, Дата, Дисциплина, Оценка)

Подготовить список студентов, получивших только отличные оценки, со столбцами «Номер зачетной книжки» и «Фамилия студента».

Для экзаменационных ведомостей нужной группы:

1. Выполняем ограничение исходных отношений, отбирая из каждого в новое отношение кортежи, удовлетворяющие условию

Оценка = «отлично».

Получили списки отличников группы по дисциплинам.

Результат операции ограничения для ведомости по математике

Р езультат операции ограничения для ведомости по физике

2. Выполняем проекцию полученных отношений, отбирая из каждого только атрибуты «Номер зачетной книжки» и «Фамилия студента». Получили новые списки отличников, в которых остались только номера зачетных книжек и фамилии студентов.

Результат операции проекции для ведомости по математике

Р езультат операции проекции для ведомости по физике

П ересечение последних даст нам искомое отношение — «СПИСОК ОТЛИЧНИКОВ», содержащее номера зачетных книжек и фамилии, общие для всех списков отличников.

Разность отношений — создает новое отношение, содержащее строки 1-го операнда, отсутствующие во 2-м операнде. Операнды должны иметь одинаковые атрибуты.

Пример 3. (разность отношений).

Используя ежемесячные отчеты цехов о выпуске продукции (смотри пример объединения отношений), подготовить сведения о выпуске новых видов продукции за последний квартал.

Для решения этой задачи выполняем ограничение отношения «ВЫПУСК ПРОДУКЦИИ».

Условие ограничения — «Дата выпуска меньше последней даты прошлого квартала».

Результат ограничения помещаем во временную Таблицу 1. Затем над той же исходной таблицей выполняем ограничение «Дата выпуска меньше первой даты прошлого квартала» и заносим результат во временную Таблицу 2.

Разность отношений 1 и 2 даст искомые сведения.

Произведение отношений — создает новое отношение, в котором имеются все атрибуты 1- и 2-го операндов, а строки получены попарным сцеплением каждой строки 1-го с каждой строкой 2-го отношения. Количество кортежей — мощность нового отношения, равно произведению мощности 1-го отношения на мощность 2-го. Множества атрибутов отношений не должны пересекаться. Произведение отношений используется при решении задач подбора пар из двух множеств, например поставщики и потребители. Сначала составляют все возможные пары, а затем по конкретному критерию отбирают из них подходящие.

Пример 4

Результат произведения

Деление отношений — создает новое отношение, содержащее атрибуты 1-го операнда, отсутствующие во 2-м операнде, и кортежи 1-го операнда, которые совпали с кортежами 2-го. Для выполнения этой операции 2-й операнд должен содержать лишь атрибуты, совпадающие с атрибутами 1-го.

Пример 5. (деление отношений).

Список студентов факультета для каждого студента содержит: Ф.И.О., Дату рождения, Шифр группы и Признак наличия стипендии (да, нет).

Необходимо отобрать студентов заданной группы, получающих стипендию.

Для этого:

  1. Создаем вспомогательное отношение с атрибутами Шифр группы и Признак наличия стипендии.

  2. Заполняем один кортеж этого отношения, поместив в него шифр заданной группы и отметку о получении стипендии (да).

  3. Деление исходного списка на вспомогательное отношение создаст искомый список с атрибутами ФИО и Дата рождения.

Соединение отношений — создает новое отношение, кортеж которого является результатом сцепления кортежей операндов (исходных отношений). Соединение имеет две разновидности: естественное соединение и соединение по условию.

При соединении по условию производится сцепление строк операндов соединения и проверка их на соответствие заданному условию. Если условие выполнено, полученная строка включается в результирующее отношение.

При естественном соединении производится сцепление строк операндов соединения и включение их в результат без проверки. Такое соединение используют, когда отношения-операнды обладают общими атрибутами.

П ример 6. Соединить таблицы СТУДЕНТ и ОЦЕНКА. Общим для таблиц является поле № зач. книжки

С ТУДЕНТ

Р езультат соединения

Лекция 8 (Базы данных)