Автор: Пользователь скрыл имя, 06 Ноября 2012 в 00:04, контрольная работа
Составить учебное расписание для студентов факультета ИСТАС, 2 курса, 1 группы.
Московский Государственный Строительный Университет
Домашняя работа
по дискретной математике
Тема: «Реляционная алгебра.
Учебное расписание (дневное отделение), ИСТАС II-2»
Выполнила:
Чистова В. В.,
ИСТАС II-2
Проверил:
Клашанов Ф.К.
Москва
2009
Задание:
Составить учебное расписание для студентов факультета ИСТАС, 2 курса, 1 группы.
Решение:
Для составления расписания вводим 5 множеств:
D1: дни - day = {"Monday", "Tuesday", "Wednes.", "Thurs.", "Friday"};
D2: пары - pairs = { 1, 2, 3, 4, 5 };
D3: предметы - sub = { "Dis.matem.", "Comp.graph.",
"El.tech.", "Math.an.", "Phisica.",
D4: преподаватели - instr = {"Vodnev_N.", "Graznuh_V.", "Demidov_C.", "Klashanov",
D5: аудитория - room = { 211, 212, 301, 427, 434, 527
,530 ,628 , 630 };
И множество D6: shedule, содержащее метки, соответствующие каждому элементу каждого из пяти перечисленных множеств (доменов). Причем, распределение меток в множестве осуществляется следующим образом:
День недели – 5n (n = 0, 1, 2, …17);
Пара – 5n+1
Предметы – 5n+2
Преподаватели – 5n+3
Аудитория – 5n+4
Алгебра – совокупность <M, O, R>, где
M – непустое множество - носитель,
O – множество алгебраических операций,
R – множество отношений на множестве M.
Совокупность алгебраических операций и отношений алгебраической системы – сигнатура.
Реляционная алгебра – алгебра, носителем у которой является только множество отношений.
Сигнатура реляционной алгебры включает в себя:
декартово произведение
Выборкой (ограничением, селекцией) на отношении с условием называется отношение с тем же заголовком, что и у отношения , и телом, состоящем из кортежей, значения атрибутов которых при подстановке в условие дают значение ИСТИНА. представляет собой логическое выражение, в которое могут входить атрибуты отношения и (или) скалярные выражения.
В простейшем случае условие имеет вид , где - один из операторов сравнения ( и т.д.), а и - атрибуты отношения или скалярные значения. Такие выборки называются - выборки (тэта-выборки, ограничения, селекции).
Синтаксис операции выборки: , или
Проекцией отношения по атрибутам , где каждый из атрибутов принадлежит отношению , называется отношение с заголовком и телом, содержащим множество кортежей вида , таких, для которых в отношении найдутся кортежи со значением атрибута равным , значением атрибута равным , …, значением атрибута равным .
Синтаксис операции
проекции: A[X, Y, …, Z]
Замечание.
Операция проекции дает "вертикальный срез" отношения, в котором удалены все возникшие при таком срезе дубликаты кортежей.
Соединением отношений и по условию называется отношение: (A*B) WHERE c
представляет собой логическое выражение, в которое могут входить атрибуты отношений и и (или) скалярные выражения. Таким образом, операция соединения есть результат последовательного применения операций декартового произведения и выборки. Если в отношениях и имеются атрибуты с одинаковыми наименованиями, то перед выполнением соединения такие атрибуты необходимо переименовать.
Основой построения реляционной базы данных является построение двумерной таблицы, каждая строка которой соответствует домену и атрибуту:
№ |
D1 |
D2 |
D3 |
D4 |
D5 |
1 |
Monday |
1 |
Phiz.kyl. |
Stepanova |
301 |
… |
… |
… |
… |
… |
… |
17 |
Friday |
4 |
Dis.matem. |
Klashanov |
530 |
Использую операции реляционной алгебры, получаем расписание.
Расписание также можно
Также программа поддерживает выполнение ряда других функций:
Данная функция осуществляет поиск номера пары (введенного пользователем). Её действие основывается на сравнении введенной информации с элементами, записанными во множестве shedule на 5n+1 месте. При совпадении на экран выводятся данные, соответствующие введенному номеру: день недели, предмет, имя преподавателя и аудитория. В противном случае: « " Such type of pair's number doesn't exist"» .
Назначение этой функции
состоит в поиске предмета и соответствующего
номера пары (введенных пользователем)
. Она практически повторяет
Функция осуществляет поиск имени преподавателя, введенного пользователем. Ее действие идентично действиям функции «Searching of a pair»(только в данном случае введенная информация проверяется на соответствие с элементами множества shedule, стоящими на 5n+3 местах). На печать выводятся данные следующего содержания: день недели, пара, название предмета, номер аудитории. В противном случае пользователь получит сообщение об ошибке: «"Wrong teacher's name"».
Цель этой функции
– поиск интересующего
Для выхода из программы необходимо воспользоваться функцией «Exit».