Re: Argument for 1NF by counter-example
Date: Tue, 26 Oct 2004 15:15:48 GMT
Message-ID: <DStfd.10431$R05.4156_at_attbi_s53>
"Tony Douglas" <tonyisyourpal_at_netscape.net> wrote in message news:bcb8c360.0410260632.64438b61_at_posting.google.com...
>
> I'd suggest that *because* of the efforts of the various SQL:2003
> standards committees, we'd best look elsewhere for the next level of
> database work. Some will drone on about Tutorial D, but I can't admit
> to being a fan. Personally, I'd like to see the next generation
> working from a declarative direction; either from Prolog or
> alternatively something like Haskell plus relations. Haskell +
> relations would have the distinct advantage of giving us a very
> flexible, working, proven and mathematically respectable type system
> too.
I like the TutD algebra.
I like Haskell's algebraic data types, parametric polymorphism, and list comprehensions, but I'm not sure if one really needs algebraic data types if one has relations, nor am I sure about parametric polymorphism when one has relations, which are polymorphic by nature. List comprehensions are awesomely cool but provide nothing that a good relational language gives you. (Although the haskell people clearly understand reduce better than the relational people, the relational people have a better handle on map and filter, which are just simple cases of select/join.) Do we need union types? Dunno. I'm pretty sure we need enumerated types.
Prolog seems like a good answer to the recursive queries problem. You get a nice *general* solution for transitive closure, without a special-purpose tclose or connect-by or whatever. You can also do reflexive closure, and some other cool stuff.
Do we need subtyping polymorphism? Not clear; maybe the generalize/specialize techniques of relational are enough.
Do we need a better set of relational operators? You bet!
Do we need some kind of nested relations? I'm pretty sure we do.
We also need a module system. What about some kind of dynamic dispatch? The OO single-dispatch solution to this has an excellent power-weight ratio, and also some kind of object mechanism is a great solution to a number of different modularity concerns. I'm still not clear how objects (specificially, non-constant fields) interact with relations, though.
Just some thoughts. I'm working on a design.
Marshall Received on Tue Oct 26 2004 - 17:15:48 CEST