Реляционное исчисление

редактировать

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

реляционное исчисление аналогично реляционной алгебре, которая также является частью реляционной модели: в то время как реляционное исчисление подразумевается как декларативный язык, который не предписывает порядок выполнения для подвыражений выражения реляционного исчисления, реляционная алгебра подразумевается как императивный язык: подвыражения реляционных алгебраических выражений предназначены для выполнения слева- направо и наизнанку после их вложения. Выражение

A реляционной алгебры может предписывать следующие шаги для получения телефонных номеров и названий книжных магазинов, которые предоставляют Some Sample Book:

  1. Объединение книжных магазинов и названий по BookstoreID.
  2. Ограничение результат этого соединения с кортежами для книги Some Sample Book.
  3. Спроецируйте результат этого ограничения на StoreName и StorePhone.

Выражение реляционного исчисления сформулирует этот запрос следующим описательным или декларативным образом:

Получить StoreName и StorePhone для книжных магазинов, так что существует заголовок BK с тем же значением BookstoreID и значением BookTitle Some Sample Book.

Реляционная алгебра и реляционное исчисление логически эквивалентны : для любого алгебраического выражения существует эквивалентное выражение в исчислении, и наоборот. Этот результат известен как теорема Кодда.

Смысл существования реляционного исчисления - формализация оптимизации запросов. Оптимизация запроса заключается в определении на основе запроса наиболее эффективного способа (или способов) его выполнения. Оптимизацию запросов можно формализовать как перевод выражения реляционного исчисления, доставляющего ответ A, в эффективные реляционные алгебраические выражения, дающие тот же ответ A.

Ссылки

Последняя правка сделана 2021-06-03 12:16:23
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте