Содержание

  1. Реляционная алгебра
    1. Предназначение
    2. Замкнутость
  2. Унарные операции
    1. Проекция
    2. Фильтрация
    3. Переименование
  3. Операции над множествами
    1. Объединение
    2. Пересечение
    3. Разность
  4. Соединения
    1. Полное соединение
    2. Естественное соединение
    3. Внешние соединения
    4. Полусоединения
    5. Условные соединения
  5. Деление
  6. Операции над данными
    1. Расширение
    2. Агрегирование
  7. Свойства реляционной алгебры
    1. Базис операций
    2. Ограничения реляционной алгебры
  8. Реляционная алгебра и SQL
    1. Простые операции
    2. Соединения

Слайды

HTML

Экзаменационные вопросы

  1. Реляционная алгебра: предназначение и свойства
  2. Реляционная алгебра: унарные и множественные операции
  3. Реляционная алгебра: соединения
  4. Реляционная алгебра: деление и операции над данными

Практические навыки

  1. Построение запросов в терминах реляционной алгебры
  2. Преобразование запросов
  3. Перевод запросов из терминов реляционной алгебры в термины SQL и обратно
  4. Построение запросов на SQL (без подзапросов)

Библиография

  1. Дейт К. Введение в системы баз данных (глава 7)
  2. Уидом Д., Ульман Д. Основы реляционных баз данных (главы 4 и 5)
  3. Select Syntax in MySQL Reference Manual

Домашнее задание 5

Структура базы данных «Деканат»:

  • Students(StudentId, StudentName, GroupId)
  • Groups(GroupId, GroupName)
  • Courses(CourseId, CourseName)
  • Lecturers(LecturerId, LecturerName)
  • Plan(GroupId, CourseId, LecturerId)
  • Marks(StudentId, CourseId, Mark)

Составьте выражения реляционной алгебры и соответствующие SQL-запросы, позволяющие получать:

  1. Информацию о студентах, с заданной оценкой по предмету «Базы данных».
  2. Информацию о студентах не имеющих оценки по предмету «Базы данных»:
    • среди всех студентов
    • среди студентов, у которых есть этот предмет
  3. Информацию о студентах, имеющих хотя бы одну оценку у заданного лектора.
  4. Идентификаторы студентов, не имеющих ни одной оценки у заданного лектора.
  5. Студентов, имеющих оценки по всем предметам заданного лектора.
  6. Для каждого студента имя и предметы, которые он должен посещать.
  7. По лектору всех студентов, у которых он хоть что-нибудь преподавал.
  8. Пары студентов, такие, что все сданные первым студентом предметы сдал и второй студент.
  9. Такие группы и предметы, что все студенты группы сдали предмет.
  10. Средний балл студента.
    • по идентификатору
    • для каждого студента
  11. Средний балл средних баллов студентов каждой группы.
  12. Для каждого студента число предметов, которые у него были, число сданных предметов и число несданных предметов.
При выполнении задания укажите его формулировку, запросы в терминах реляционной алгебры и SQL подряд.