Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Relational algebra
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Transitive closure === Although relational algebra seems powerful enough for most practical purposes, there are some simple and natural operators on [[relation (database)|relation]]s that cannot be expressed by relational algebra. One of them is the [[transitive closure]] of a binary relation. Given a domain ''D'', let binary relation ''R'' be a subset of ''D''Γ''D''. The transitive closure ''R<sup>+</sup>'' of ''R'' is the smallest subset of ''D''Γ''D'' that contains ''R'' and satisfies the following condition: :<math>\forall x \forall y \forall z \left( (x,y) \in R^+ \wedge (y,z) \in R^+ \Rightarrow (x,z) \in R^+ \right)</math> It can be proved using the fact that there is no relational algebra expression ''E''(''R'') taking ''R'' as a variable argument that produces ''R''<sup>+</sup>.<ref>{{cite journal|title=Universality of data retrieval languages|journal=Proceedings of the 6th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages|year=1979|first=Alfred V.|last=Aho|author2=Jeffrey D. Ullman |pages=110β119|doi=10.1145/567752.567763|s2cid=3242505 |doi-access=free}}</ref> SQL however officially supports such [[Hierarchical and recursive queries in SQL|fixpoint queries]] since 1999, and it had vendor-specific extensions in this direction well before that.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)