Re: Distributed key constraints

From: <jingleheimerschmitt_at_hotmail.com>
Date: 30 Apr 2005 23:11:18 -0700
Message-ID: <1114927878.893660.16780_at_g14g2000cwa.googlegroups.com>


Roy,

Here is a link to the paper I was referring to:

http://web.onetel.com/~hughdarwen/TheThirdManifesto/Missing-info-without-nulls.pdf

I can't say that I agree with his approach to missing information, but this is the first time of which I am aware that he uses the term distributed key publicly. After looking through it (it's not really a paper, so much as a presentation) again, he does not introduce any syntax for them.

If you're interested, we have proposed some syntax for these constraints internally. Here is an example:

create table Invoice { ID : Integer, Date : DateTime, key { ID } };

create table SalesOrder { ID : Integer, Customer_ID : Integer, key { ID } };

create reference SalesOrder_Invoice

        SalesOrder { ID } references Invoice { ID };

create table PurchaseOrder { ID : Integer, Vendor_ID : Integer, key { ID } };

create reference PurchaseOrder_Invoice

        PurchaseOrder { ID } references Invoice { ID };

// Generalized Key

create key Invoice_Exclusive

        { SalesOrder { ID }, PurchaseOrder { ID } };

// Generalized Reference

create reference Invoice_Inclusive

        Invoice { ID }
        references { Sales_Order { ID }, PurchaseOrder { ID } };

Semantically, every table reference in a generalized key constraint would have to target a key constraint in that table. In addition, a generalized reference constraint would be required to target a generalized key.

Regards,
Bryn Received on Sun May 01 2005 - 08:11:18 CEST

Original text of this message