Relational calculus
175769
201694763
2008-03-28T23:18:22Z
Alexbot
5517884
robot Adding: [[zh:关系演算]]
'''Relational calculus''' consist of two calculi, the [[tuple relational calculus]] and the [[domain relational calculus]], that are part of the [[relational model]] for databases and provide a declarative way to specify database queries. This in contrast to the [[relational algebra]] which is also part of the relational model but provides a more procedural way for specifying queries.
The relational algebra might suggest these steps to retrieve the phone numbers and names of book stores that supply ''Some Sample Book'':
# Join books and titles over the BookstoreID.
# Restrict the result of that join to tuples for the book ''Some Sample Book''.
# Project the result of that restriction over StoreName and StorePhone.
The relational calculus would formulate a descriptive, declarative way:
:Get StoreName and StorePhone for supplies such that there exists a title BK with the same BookstoreID value and with a BookTitle value of ''Some Sample Book''.
The relational algebra and the relational calculus are logically equivalent: for any algebraic expression, there is an equivalent expression in the calculus, and vice versa.
== References ==
* {{cite book | first=Christopher J. | last=Date | authorlink=Christopher J. Date | year=2004 | title=An Introduction to Database Systems | edition=8th | publisher=Addison Wesley | id=ISBN 0-321-19784-4 }}
==See also==
* [[The Third Manifesto]]
* [[Tutorial D]]
* [[D (data language specification)]]
* [[D4 (programming language)]] (an implementation of D)
* [[Aldat Relational Algebra]]
{{databases}}
{{database-stub}}
[[Category:Data modeling]]
[[Category:Databases]]
[[Category:Logical calculi]]
[[de:Kalkül (Datenbank)]]
[[es:Cálculo relacional]]
[[it:Calcolo relazionale]]
[[ja:関係論理]]
[[ru:Реляционное исчисление]]
[[zh:关系演算]]