Для того чтобы получить список
Для того чтобы получить список студентов, нам надо соединить отношение R3 с отношением R2, в котором определен список студентов каждой группы.
R4 = (R2[R3Номер группы = R2.НомерГруппы ^ R3.Дисциплина = «БД»] R3)[ФИО];
Теперь получим список всех, кто сдавал экзамен по «БД» (нас пока не интересует результат сдачи, а интересует сам факт попытки сдачи, то есть присутствие в отношении R1):
R5 = (R1 [Дисциплина = «БД»1)[ФИО];
и, наконец, результат — все, кто есть в первом множестве, но не во втором:
S = R4 \ R5;
Список несчастных, имеющих несколько двоек:
S = (R1[R1.ФИО = Rl.ФИО ^ R1Дисцинлина не равно R'1.Дисциплина ^
R1Оценка <= 2^ R'1.Оценка < 2] Rэ1,)[ФИО]
Этот пример весьма интересен: для поиска строк, удовлетворяющих в совокупности условию больше одною, применяется операция соединения отношения с самим собой. Поэтому мы как бы взяли копию отношения R1 и назвали ее R'1.
Список круглых отличников. Строим список всех пар <студеит—дисциплина>, которые в принципе должны быть сданы:
R4 = (R2[R2Группа = R3Группa] R3)[ФИО, Дисциплина];
Строим список пар <студент- дисциплина>, где получена оценка «отлично»:
R5 = (R1|[Оценкa = 5])[ФИО, Дисциплина];
Строим список студентов, что-либо не сдавших на отлично:
R6=(R4\R5)[ФИО].
Наконец, исключив последнее отношение из общего списка студентов, получаем результат:
R2[ФИО] \ R6
Обратите внимание, что для получения множества студентов, что-либо не сдавших на «отлично» (R6). мы осуществили «инверсию» множества всех отлично сданных пар <студент—дисциплина> (R5) путем вычитания его из предварительного построенного универсального множества (R4). Рекомендуем очень внимательно разобрать этот пример и вникнуть в смысл каждого действия — это очень пригодится для понимания реляционной алгебры.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий