конеспект реляц алгебра. 01 Реляционная алгебра. Практическая работа Реляционная алгебра. Цель занятия Изучение основ реляционной алгебры
Скачать 272.5 Kb.
|
Дисциплина "Базы данных" Практическая работа № Реляционная алгебра.Цель занятия: Изучение основ реляционной алгебры. В основе реляционной алгебры лежит идея о том, что так как отношение – это множество кортежей, то и средства манипулирования отношениями должны быть такими же, как традиционные теоретико–множественные операции, дополненные специфическими для баз данных операциями. Расширенный начальный вариант алгебры, опеределенный Коддом, состоит из восьми алгебраических операций, которые делятся на два класса – теоретико–множественные операции и специальные реляционные операции. В состав теоретико–множественных операций входят: Объединение: возвращает отношение, содержащее все кортежи, которые принадлежат либо одному, либо обоим из заданных отношений; Пересечение: возвращает отношение, содержащее кортежи, которые принадлежат одновременно двум заданным отношениям; Разность: возвращает отношение. содержащее все кортежи, которые принадлежат первому из двух заданных отношений и не принадлежат второму; Декартово произведение: возвращает отношение, содержащее все возможные кортежи, которые являются сочетанием двух кортежей, принадлежащих соответственно двум заданным отношениям; произведение отношений. Специальные реляционные операции включают: Проекция: возвращает отношение, содержащее все кортежи заданного отношения, которые остались в этом отношении после исключения из него некоторых атрибутов; Соединение: возвращает отношение, кортежи которого – это сочетания двух кортежей (принадлежащих соответственно двум определенным отношениям), имеющих общее значение для одного или нескольких общих атрибутов этих двух отношений ( и такие общие значения в результирующем кортеже появляются только один раз, а не дважды). Деление: для двух отношений, бинарного и унарного, возвращает отношение, содержащее все значения одного атрибута бинарного отношения, которые соответствуют (в другом атрибуте) всем значениям в унарном отношении. Выборка: возвращает отношение, содержащее кортежи из заданного отношения, которые удовлетворяют указанным условиям; Кроме того, в состав алгебры включается операция присваивания, позволяющая сохранить в базе данных результаты вычисления алгебраических выражений, и операция переименования атрибутов, дающая возможность корректно сформировать заголовок (схему) результирующего отношения: Операция переименования производит отношение, тело которого совпадает с телом операнда, но имена атрибутов изменены. Операция присваивания позволяет сохранить результат вычисления реляционного выражения в существующем отношении БД. Поскольку результатом любой реляционной операции (кроме операции присваивания) является некоторое отношение, можно образовывать реляционные выражения, в которых вместо отношения-операнда некоторой реляционной операции находится вложенное реляционное выражение. Для алгебры, у которой операции замкнуты относительно понятия отношения, каждая операция должна производить отношение с двумя составляющими: телом и заголовком. Только в этом случае будет действительно возможно строить вложенные выражения. Операции объединения, пересечения взятия разности (вычитания) требуют от отношений-операндов совместимых по типу. Два отношения называются совместимыми по типу, если каждое из них имеет одинаковое множество имен атрибутов и если соответствующие атрибуты определены на одном и том же домене. Если необходимо выполнить операцию объединения, пересечения или вычитания двух отношений, которые почти совместимы по типу, за исключением некоторых различий в именах атрибутов, можно использовать оператор переименования, чтобы сделать эти отношения полностью совместимыми по типу, прежде чем выполнить необходимую операцию. Примеры использования реляционной алгебры для выражения словесных запросов в виде формулы Дана БД предприятия, состоящая из трех таблиц
Построить выражения реляционной алгебры, которые позволят получить ответ на вопросы: Получить имена поставщиков, которые поставляют деталь Д2
Выражение: Получить имена поставщиков, которые поставляют по крайней мере одну красную деталь Получить имена поставщиков, которые поставляют все детали Получить номера поставщиков, поставляющих по крайней мере все те детали, которые поставляет поставщик П2 Получить имена поставщиков, которые не поставляют деталь Д2 Задания для самостоятельной работы По словесному запросу к базе данных предприятий составить соответствующее выражение в терминах реляционной алгебры, необходимое для этого запроса. Дана БД агентства недвижимости, состоящая из четырех таблиц.
НомерВлад – номер владельца недвижимости; ФИО – Фамилия, имя, отчество либо наименование владельца; Улица, Дом,Кв – место жительства либо расположения владельца; Тел – телефон.
НомерОб – номер объекта недвижимости; Улица, Дом,Кв – место расположения объекта недвижимости; Тип – дом, кв-ра, коттедж или другой вид жилья; КолКом – количество комнат; РазмерПлаты – арендная плата за месяц ; НомерВлад – номер владельца, которому принадлежит объект.
НомерКлиента – номер клиента; Имя– имя клиента; Улица, Дом,Кв – место жительства клиента; Тел – телефон; ПредпочтТип – пожелание клиента относительно количества комнат; МаксПлата – пожелания клиента по арендной плате за месяц ; Отношение Договор
НомДог – номер договора; ДатаПодпис – дата подписания договора; СрокДейств – срок действия договора; НомерОб – номер объекта недвижимости; НомерКлиента – номер клиента; Комиссионные – плата агентству за оформление сделки. Вариант1 Составить список всех домов. Получить список клиентов, арендующих объект с номером 14. Определить тех клиентов, которые арендуют такие же по типу объекты недвижимости, что и клиент Долгова Н.Н. Определить адреса квартир, при заключении договоров по которым комиссионные составили больше 100у.е. Получить номера объектов, арендная плата по которым составляет не более 150 у.е. или которые расположены на той же улице, где живет Ветров Г.Б. Вариант2 Перечислить все 1-к квартиры, арендная плата по которым меньше 200у.е. Выбрать адреса домов, которые бы устроили клиента Ветрова Г.Б. Составить список номеров объектов, по которым не было заключено ни одной сделки. Выбрать информацию по договорам, заключенным с клиентом Антоновой Н.А. Вывести всю информацию по договорам, включая имя клиента, адрес, тип жилья. Вариант3 Перечислить имена и адреса клиентов. Составить список владельцев, заключивших договора в марте 2004года. Определить владельцев, которые предлагают для аренды такие же объекты, как и владелец с номером 11. Выбрать объекты, расположенные на той же улице, где живут их владельцы. Вывести список типов жилья с указанием их стоимости. Вариант4 Перечислить номера объектов, арендованных до 01.01.2005г Составить список владельцев, которые являются собственниками домов. Вывести список владельцев, являющихся собственниками и дома и квартиры. Вывести список клиентов и объектов, находящихся на одной улице. Определить владельца объекта, для которого заключен договор с размером комиссионных 180 у.е. Вариант5 Составить список адресов объектов недвижимости, находящихся в собственности владельца с номером 21. Выбрать фамилии людей, которым подойдет жилье по адресу пр.Мира, 17-22. Получить номера объектов недвижимости, размер арендной платы которых равен максимально возможной плате клиента с номером 18-02. Определить имена владельцев, заключивших хотя бы одну сделку. Вывести номера объектов, принадлежащих владельцу Николаеву И.П., размер платы по которым не меньше 200у.е. Дана БД производственного предприятия, состоящая из четырех таблиц.
где Пред# – номер предприятия, номер общий по некоторым группам городов; Название – название предприятия; Рейтинг – рейтинг предприятия по некоторым показателям; Город – город, в котором находится предприятие.
где Прод# – номер продукции; Наименование – наименование продукции; Количество – стоимость продукции, выпускаемой в год в данном городе; ГородВыпуска – город, в котором указанная продукция выпускается.
где ТН – номер личности; Фамилия – фамилия человека; ГородПрожив – город проживания; День_рожд – дата рождения данного человека; Пред# – номер предприятия, где работает данная личность.
где Пред# – номер предприятия; Прод# – номер продукции; Год – год выпуска продукции; Выработка (тыс.руб) – количество продукции данного предприятия. Вариант6 Получить названия предприятий, производящих продукцию с номером 30. Выбрать информацию обо всех предприятиях, в т.ч. о работниках и продукции. Выбрать фамилии людей, которые работают на хлебозаводе. Определить номера предприятий из Воронежа с рейтингом выше 200. Выбрать имена предприятий, производящих все виды продукции. Вариант7 Получить имена предприятий, производящих продукцию всех сортов. Выбрать название продукции, у которой количество потребления в городе находится в диапазоне от 12000 до 15000. Выбрать фамилии людей, у которых город проживания совпадает с городом нахождения предприятия. Найти номера работников, работающих на одном предприятии. Определить название предприятий, которые не производят продукцию с номером 50. Вариант8 Получить номера предприятий, производящих по крайней мере ту продукцию, которую выпускает предприятие с номером 190. Выбрать название предприятий, у которых выработка продукции в 2001 г. на единицу работающего составила более 100 тыс. руб. Определить фамилии людей, работающих на предприятиях в г.Воронеже. Определить имена предприятий, производящих продукцию с номером «10». Определить номера предприятий, производящих по крайней мере все виды продукции, производимые предприятием с номером 270. Вариант9 Выбрать все пары названий городов, для которых предприятие и работники находятся в одном городе. Выбрать название предприятий, которые производят продукты. Определить название предприятий, производящих продукцию с номером «50» в 2001 году. Определить номера предприятий, имеющих в списке работающих по крайней мере одного «Иванова». Получить номера продукции, которая имеет количество более 15000 или производится предприятием с номером 270. Вариант10 Получить имена предприятий, не производящих продукцию с номером 50. Выбрать названия городов, для которых предприятие из первого города, а интересующая продукция во втором городе. Определить название продукции с номером «30», имеющей выработку на единицу работающего > 100 тыс. руб. Найти названия предприятий, производящих по крайней мере одну продукцию с номером 50. Найти названия предприятий, выпускающих одинаковую продукцию. |