Содержание

  1. Реляционное исчисление
    1. Типы реляционного исчисления
    2. Структура запроса
  2. Исчисление кортежей
    1. Реляционные переменные
    2. Условия
      1. Простые
      2. С кванторами
  3. Связь реляционной алгебры и реляционного исчисления
    1. Выражение алгебры через исчисление
    2. Выражение исчисления через алгебру
    3. Реляционная полнота
  4. Исчисление доменов
    1. Доменные переменные
    2. Условие принадлежности
  5. Язык Datalog
    1. Определение отношений
    2. Реляционная полнота
    3. Рекурсия
  6. Реляционное исчисление и SQL
    1. Структура запроса
    2. Подзапросы
      1. Существования
      2. Вхождения
      3. Условные
      4. Скалярные
    3. Рекурсия

Слайды

HTML

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

  1. Исчисление кортежей и его реляционная полнота
  2. Исчисление доменов и его реляционная полнота
  3. Datalog и рекурсия

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

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

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

  1. Дейт К. Введение в системы баз данных (глава 8)
  2. Уидом Д., Ульман Д. Основы реляционных баз данных (главы 4 и 5)
  3. Codd E.F. A relational model of data for large shared data banks
  4. Codd E.F. Relational completeness of data base sublanguages

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

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