Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Студенческое общежитие.doc
Скачиваний:
297
Добавлен:
01.05.2014
Размер:
2.12 Mб
Скачать

Формирование запросов

Реляционная алгебра (Ralation Algebra) является одной из разновидностей алгебр, в ней поддерживаются переменные, обозначающие отношения и константы, являющиеся конечными отношениями. Реляционная алгебра состоит из двух групп по четыре оператора в каждом:

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

  2. Специальные реляционные операции: выборка, проекция, соединение и деление.

Объединение (конъюнкция “^”). Возвращает отношение, содержащее все кортежи, которые принадлежат либо одному из двух заданных отношений, либо им обоим.

Пересечение (дизъюнкция “”). Возвращает отношение, содержащее все картежи, которые принадлежат одновременно двум заданным отношениям.

Разность (“-”). Возвращает отношение, содержащее все кортежи, которые принадлежат первому из двух заданных отношений и не принадлежат второму.

Выборка (“А<оператор условия>a(r)”). Возвращает отношение, содержащее все кортежи из заданного отношения, которые удовлетворяют указанным условиям. Операцию выборки также называют операцией ограничения.

Проекция (“X(r)”). Возвращает отношение, содержащее все кортежи (подкортежи) заданного отношения, которые остались в этом отношении после исключения из него некоторых атрибутов.

Обычное соединение (“r[X=Y]s”) осуществляется только в том случае, если 2 схемы отношений имеют общие атрибуты

Эквисоединение (“r[dom(X)=dom(Y)]s ”) используется в том случае, если схемы отношений не имеют общих атрибутов, но домены атрибутов, по которым осуществляется соединение, эквивалентны.

-соединение отличается от эквисоединения только тем, что знак “=” на знаки “≤” и “≥”.

Запрос 1:

Вывести номера комнат, в которых есть свободные места

r1 =  ID комнаты (Студент)

r2 =  ID комнаты (Комната)

r3 = r2 - r1

r4 = r3 [ID комнаты = ID комнаты] Комната

r5 = № комнаты, № общежития (r4)

Дерево операций:

Запрос 2:

Вывести ФИО студентов, проживающих в общежитии №5, в комнате №6:

r1 = (№ комнаты=6, № общежития = 5) (Комната)

r2 = ID комнаты (r1)

r3 = Студент [ID комнаты = ID комнаты] r2

r6 = ФИО (r3)

Дерево операций:

Запрос 3:

Вывести № общежития и № комнаты, в которой проживает Ждан Я.А:

r1 = (ФИО = Ждан Я.А.) (Студент)

r2 = ID комнаты (r1)

r3 = Комната [ID комнаты = ID комнаты] r2

r4 = № комнаты, № общежития (r3)

Дерево операций:

Запрос 4:

Вывести ФИО всех заочников проживающих в общежитии № 5:

r1 = (Текущий статус обучения = заочный) (Студент)

r2 = (№ общежития = 5) (Комната)

r3 = ID комнаты, ФИО (r1)

r4 = ID комнаты (r2)

r5 = r4 [ID комнаты = ID комнаты] r3

r6 = ФИО (r5)

Дерево операций:

Запрос 5:

Вывести номера общежитий и комнат, в которых есть столы, но нет стульев:

r1 = Мебель в комнате [Инвентарный № мебели = Инвентарный № мебели] Твердый инвентарь

r2 =  номер комнаты, номер общежития (наименование единицы мебели = стол (r1))

r3 =  номер комнаты, номер общежития (наименование единицы мебели = стул (r1))

r4 =  ID комнаты (r2-r3)

r5 = r4 [ID комнаты = ID комнаты] Комната

r6 = номер комнаты, номер общежития (r5)

Дерево операций:

Запрос 6:

Вывести код тех студентов, которые используют свой мягкий инвентарь:

r1 = Код студента (Мягкий инвентарь студента)

r2 = Код студента (Студента)

r3 = r2-r1

r4 = r3 [Код студента = Код студента] Студент

r5 = ФИО (r4)

Дерево операций:

Запрос 7:

Вывести номера общежитий и комнат, где мебель прослужила более 10 лет:

r1 = (Дата покупки <= 31.12.1995) (Твердый инвентарь)

r2 = r1 [Инвентарный номер мебели = Инвентарный номер мебели] Мебель в комнате

r3 = ID комнаты (r2)

r4 = r3 [ID комнаты = ID комнаты] Комната

r5 = номер комнаты, номер общежития (r4)

Дерево операций:

Запрос 8:

Вывести номера комнат для заочников общежития №5, в которых проводилась ревизия 28.12.2004:

r1 = (Текущий статус обучения = заочный) (Студент)

r2 = (Дата ревизии = 28.12.2004 и № общежития=5) (Комната)

r3 = r1 [ID комнаты = ID комнаты] r2

r4 = Номер комнаты, Номер общежития (r3)

Дерево операций:

Запрос 9:

Вывести номера двухместных комнат общежития №5, в которых проживают студентки специальности ИСБ:

r1 = (Группа=ИСБ и Пол = женский) (Студент)

r2 = (№ общежития =5 и Кол-во койко-мест = 2) (Комната)

r3 = r1 [ID комнаты = ID комнаты] r2

r4 = Номер комнаты (r3)

Дерево операций:

Запрос 10:

Вывести перечень документов старост этажей всех общежитий:

r1 = (Статус проживания = староста) (Студент)

r2 = Документы [Код документа = Код документа] Перечень документов

r3 = r1 [Код студента = Код студента] r2

r4 = ФИО, Название документа (r3)

Дерево операций:

Соседние файлы в предмете Базы данных