Реляционное исчисление
![]() | Эта статья включает список литературы , связанную литературу или внешние ссылки , но ее источники остаются неясными, поскольку в ней отсутствуют встроенные цитаты . ( Ноябрь 2021 г. ) |
Реляционное исчисление состоит из двух исчислений: реляционного исчисления кортежей и реляционного исчисления предметной области , которое является частью реляционной модели баз данных и обеспечивает декларативный способ определения запросов к базе данных. Смыслом существования реляционного исчисления является формализация оптимизации запросов , которая заключается в поиске более эффективных способов выполнения того же запроса в базе данных.
Реляционное исчисление похоже на реляционную алгебру , которая также является частью реляционной модели: хотя реляционное исчисление подразумевается как декларативный язык, который не предписывает порядок выполнения подвыражений выражения реляционного исчисления, реляционная алгебра подразумевается как Императивный язык: подвыражения реляционного алгебраического выражения предназначены для выполнения слева направо и наизнанку после их вложения.
Согласно теореме Кодда , реляционная алгебра и независимое от предметной области реляционное исчисление логически эквивалентны .
Пример [ править ]
Выражение реляционной алгебры может предписывать следующие шаги для получения номеров телефонов и названий книжных магазинов, в которых продаются Some Sample Book :
- Присоединяйтесь к книжным магазинам и изданиям через BookstoreID.
- Ограничьте результат этого соединения кортежами для книги Some Sample Book .
- Спроецируйте результат этого ограничения на StoreName и StorePhone.
Выражение реляционного исчисления могло бы сформулировать этот запрос следующим описательным или декларативным образом:
- Получите StoreName и StorePhone для книжных магазинов, в которых существует заголовок BK с тем же значением BookstoreID и со значением BookTitle Some Sample Book .
Математические свойства [ править ]
![]() | Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( ноябрь 2021 г. ) |
Реляционная алгебра и реляционное исчисление, независимое от предметной области, логически эквивалентны : для любого алгебраического выражения существует эквивалентное выражение в исчислении, и наоборот. Этот результат известен как теорема Кодда .
Цель [ править ]
Смыслом существования реляционного исчисления является формализация оптимизации запросов . Оптимизация запроса заключается в определении на основе запроса наиболее эффективного способа (или способов) его выполнения. Оптимизацию запросов можно формализовать как перевод выражения реляционного исчисления, дающего ответ А, в эффективные реляционные алгебраические выражения, дающие тот же ответ А.
См. также [ править ]
Ссылки [ править ]
- Дата, Кристофер Дж. (2004). Введение в системы баз данных (8-е изд.). Эддисон Уэсли. ISBN 0-321-19784-4 .