Реляционное исчисление - Relational calculus

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

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

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

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

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

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

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

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

Смотрите также

использованная литература

  • Дата, Кристофер Дж. (2004). Введение в системы баз данных (8-е изд.). Эддисон Уэсли. ISBN 0-321-19784-4.