Реляционная алгебра

Автор: Пользователь скрыл имя, 06 Ноября 2012 в 00:04, контрольная работа

Краткое описание

Составить учебное расписание для студентов факультета ИСТАС, 2 курса, 1 группы.

Файлы: 1 файл

Дискретная математика(домашняя работа №7)_Михейкина_Анастасия_ИСТАСII-1.doc

— 62.00 Кб (Скачать)

Московский Государственный  Строительный Университет

 

 

 

 

 

 

 

 

Домашняя работа

по дискретной математике

 

Тема: «Реляционная алгебра.

Учебное расписание (дневное отделение), ИСТАС 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.",                     

                                                           "Phiz.kyl.", "Teh.prog.",  "Theor.ver."};                                  

                  D4:  преподаватели - instr = {"Vodnev_N.", "Graznuh_V.", "Demidov_C.", "Klashanov", 

                                                                   "Molodsov", "Postnov_K.", "Sadovskiy", "Safonova",

                                                                   "Stepanova", "Tolstova" ,"Fomina_M." };                                                                                 

                  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.

Совокупность алгебраических операций и отношений алгебраической системы – сигнатура.

Реляционная алгебра  – алгебра, носителем у которой является только множество отношений.

Сигнатура реляционной  алгебры включает в себя:

  1. Теоретико-множественные операторы: объединение, пересечение, вычитание,   

      декартово  произведение 

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

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

В простейшем случае условие  имеет вид , где - один из операторов сравнения ( и т.д.), а и - атрибуты отношения или скалярные значения. Такие выборки называются - выборки (тэта-выборки, ограничения, селекции).

Синтаксис операции выборки: , или

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

Синтаксис операции проекции:  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. При этом необходимо проверить на равенство элементы этого множества и доменов D1-D5. Если порядковый номер элемента любого из множеств D1 – D5 равен метке, стоящей на соответствующем для данного множества месте, то этот элемент выводится на печать (в этом и заключается назначении функции меню «Shedule printing»).

Также программа поддерживает выполнение ряда других функций:

  1. «Searching of a pair»

Данная функция осуществляет поиск номера пары (введенного пользователем).  Её действие основывается на сравнении  введенной информации с элементами, записанными во множестве shedule на 5n+1 месте. При совпадении на экран выводятся данные, соответствующие введенному номеру: день недели, предмет, имя преподавателя и аудитория.  В противном случае: « " Such type of pair's number doesn't exist"» .

  1. «Searching of a subject and of a pair»

Назначение этой функции  состоит в поиске предмета и соответствующего номера пары (введенных пользователем) . Она практически повторяет действие функции «Searching of a pair»,  за исключением того, что на этот раз осуществляется сравнение введенной информации с элементами, записанными в множестве shedule на 5n+1 и 5n+2 местах. При «одновременном совпадении» элементов, на экран выводятся данные:  день недели, преподаватель и номер аудитории.  Если ни одного совпадения не найдено, то на экране появляется сообщение об ошибке: « “Such combination of subject and pair doesn't exist”».

  1. «Searching of an instructor»

Функция осуществляет поиск  имени преподавателя, введенного пользователем. Ее действие идентично действиям  функции «Searching of a pair»(только в данном случае введенная информация проверяется на соответствие с элементами множества shedule, стоящими на 5n+3 местах). На печать выводятся данные следующего содержания:  день недели, пара, название предмета, номер аудитории. В противном случае пользователь получит сообщение об ошибке: «"Wrong teacher's name"».

  1. «Searching of a room and of a day»

Цель этой функции  – поиск интересующего пользователя дня недели и номера аудитории (эта  информация вводится им же). Она практически  повторяет действие функции «Searching of  a subject and of  a pair»,  за исключением того, что на этот раз осуществляется сравнение введенной информации с элементами, записанными во множестве shedule на 5n и 5n+4 местах. При «одновременном совпадении» элементов, на экран выводятся данные:  пара, предмет и преподаватель.  Если ни одного совпадения не найдено, то на экране появляется сообщение об ошибке: «”Such combination of day and auditiry doesn't exist”».

Для выхода из программы необходимо воспользоваться функцией «Exit».         


Информация о работе Реляционная алгебра