# Re: teaching relational basics to people, questions

Date: Tue, 5 Jan 2010 16:39:03 -0500
Message-ID: <Hu2dnZMZ0PTlLN7WnZ2dnUVZ_vidnZ2d_at_giganews.com>

"Reinier Post" <rp_at_raampje.lan> wrote in message news:4b37efcc\$0\$28718\$703f8584_at_news.kpn.nl...
> Jan Hidders wrote:
>
>>On 21 dec, 23:07, r..._at_raampje.lan (Reinier Post) wrote:
>
> [...]
>
>>> [...] It's hard fo me to tell, because I just did the
>>> required math and it turns out don't have \$60 to spend on the book
>>> which contains the definition of 6NF required for this discussion,
>>> but if I can get by the Google Books preview, it appears to involve some
>>> degree of interpretation of domain values (as being totally ordered).
>>> Normal normal forms don't do this.
>>
>
> I know ...
>
>><http://en.wikipedia.org/wiki/Sixth_normal_form>
>
> ... that's why I'm so forgiving when it disappoints me, I guess.
> I even try to remedy its shortcomings every now and then, which
> is why you see half a definition on that page right now - I couldn't
> find the definition of "U-projection" to complete it, and apparently,
> nobody else can, which makes me wonder whether the subject should
>
> --
> Reinier

6NF is intended for data that involves intervals. For example, a typical row that records the reduced price of a part for a sale,

{A0131245, \$4.95, [09/01/09,09/03/09]}

States that part A0131245 has price \$4.95 from the start of 09/01/09 through the end of 09/03/09.

This row is equivalent to the following three rows

```{A0131245, \$4.95, [09/01/09,09/01/09]}
{A0131245, \$4.95, [09/02/09,09/02/09]}
{A0131245, \$4.95, [09/03/09,09/03/09]}

```

Date, Darwen and Lorentzos' system is discrete rather than continuous, so an interval that is not atomic, like [09/01/09,09/03/09], can be subdivided into a series of consecutive intervals that are. The authors call the operation of splitting a row with a non-atomic interval into a collection of consecutive rows with atomic intervals "UNPACKing." The inverse, "PACKing" combines consecutive rows, adjusting only the interval. They then generalized the ordinary relational operators to accomodate the packing and unpacking operators. A U-projection involves unpacking the operand, taking a projection over the result of the unpack, and then packing the result of taking the projection.

Hope this helps. Received on Tue Jan 05 2010 - 15:39:03 CST

Original text of this message