Comment by randomdata
1 year ago
> A Table is a superset of a Relation.
Subset. You can build relations on top of tables, but not tables on top of relations. SQL falls short of the mathematical model. As it pertains to the topic at hand, whether or not that is significant is not something we have tried very hard to prove in practice.
Not quite true - https://en.wikipedia.org/wiki/Table_(database)#Tables_versus...
A Table is a Relation encoded as a set of tuples resulting from the cartesian product of values from multiple sets each of which is from a domain.
Tables are a weaker form of Relations and hence a superset except for the "ordering" characteristic when it can be considered a subset.
> multiple sets
Right. As before, you cannot build a table on top of a relation. You can build a relation on top of a table, though.
> Tables are a weaker form of Relations
Yes, exactly, hence it being a subset.
> you cannot build a table on top of a relation
Of course you can; it is in the very definition of the Table which is a manifestation of a Relation. Relationships (which can also be mathematical Relations) across Tables/Views are a different thing.
> hence it being a subset.
No, all Relations are Tables but not all Tables are Relations because of ordering, duplicates, nulls.
3 replies →