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:关系演算]]