Re: So let me get this right: (Was: NFNF vs 1NF ...)

From: Dan <guntermann_at_verizon.com>
Date: Sat, 12 Feb 2005 21:39:00 GMT
Message-ID: <UHuPd.16334$uc.14436_at_trnddc05>


"Paul" <paul_at_test.com> wrote in message news:420c8905$0$47473$ed2619ec_at_ptn-nntp-reader02.plus.net...
> paul c wrote:

>
> I think what I've had a problem understanding is that whilst the relations
> are based on first-order logic, that doesn't mean that the query language
> used to interrogate the relations has to be first-order as well.

R(S(T(U{A,B})))

If R semantically reflects the state "requested or requisitioned internally"

and S semantically reflects the state "ordered"
and T semantically reflects the state "shipped"
and U semantically reflects the state "received"
and A is the attribute having the domain SUPPLIER and B is the attribute having the domain PRODUCT,

How would you (a user) state the predicate, R? There seems to me to be several options:
1. It's an empty predicate (because we as the user don't necessarily know or care about the nesting)
2. It's a null predicate (unknown)
3. It's a nested predicate and the user will have to navigate and break out these nestings to a first order structure before he or she can state it clearly. Will this sufficiently be possible with security constraints in place?

Now sometime later, after we've written code and views dependent on this logical structuring, we declare a new relation, Q, which means "returned", declared as Q(A,B). One rule states that only product sourced from a specific supplier that have been ordered, shipped, and received can be returned. The question of whether the product was requested or requisitioned is irrevalent. Thus we need referential integrity on: "there exists (A, B) as an element of Q such that S ^ T ^ U".

How we do evolve the current logical structure and set of predicates to incorporate Q with the desired referential integrity? And to what degree will logical dependency by external users (people and applications) be disrupted by the various choices in manipulating the logical expression of this schema?

I suspect that one of the consequences of RVA's is its potential devastating effects on what degree of logical independence already exists with Codd's model (note that I use this term because "relational" is now ambiguous, but I want to distinguish between 1NF and NFNF). We are no longer necessarily concerned with how domains relate to one another, but rather where relations are (logically) structured in relation to one another. This is more constrictive rather than more general in my view.

> Paul.

  • Dan
Received on Sat Feb 12 2005 - 22:39:00 CET

Original text of this message