[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Can sets have order?

Subject: RE: Can sets have order?
From: Wolfgang May <may@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 1 Feb 2001 12:01:22 +0100 (MET)
relations on sets
Michael Kay writes:
 > > In fact, in databases, relations are *multisets*, allowing for
 > > duplicates.   I.e., tuples with the same values but different
 > > internal row-ids are allowed.
 > 
 > In Codd's relational model, relations are sets.
 > 
 > In SQL, relations are multisets, because a relation can contain two tuples
 > that are indistiguishable.

You're right. Sorry.

 > In every real RDBMS that I know of, relations are sets, because two tuples
 > in the same relation are always distinguishable by some kind of id, which
 > means that the relation no longer contains duplicates.

If a table is specified without primary key, it may contain tuples
which coincide in all their attributes. The only possibility is to
distinguish them by their "rowid" pseudo-attribute which does not
belong to the data (e.g., used for eliminating duplicates). They may
be exchanged without changing the application semantics of the
database.

So the point is, how one interpretes "duplicate". Value-Equality
(or Deep-Equality in nested or object-oriented models), or equality
wrt. an artificial internal id.

 > > For XPath/XSL I would say that it is somewhere between sets and
 > > multisets since a result set can contain the same values several times
 > 
 > Unlike the pure relational model, but like most relational implementations,
 > nodes in XPath/XSLT have identity, so a node-set cannot contain "the same
 > node" twice. It can contain two nodes that are equal, but not two that are
 > identical.

Not the same node, yes, but nodes which have the same values for all
their attributes and attributes of subelements (i.e., which are
deep-equal).  Such nodes may be exchanged in the node set without
changing the behavior of any XPath query.

If such a result set is sent to another application, it is not
possible to say "this node _is_ the node xy from the original
document" - it is only deep-equal to some of them.

Wolfgang

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.