On 13/12/10 22:44, Darren Duncan wrote: > I am also very interested in these subjects. > > I believe that the relational model can accurately model anything in > the real world, and that this can be implemented in efficient ways, > with physical structure taking hints from logical structure.
But can you STORE it? A challenge I throw out - please STORE a list in the relational model. Oh - I'll just add a couple of sensible constraints. (1) as seen by the application, there mustn't be any duplicate data (I believe the relational model says you mustn't duplicate data, yes?). And (2) - again as seen by the application - you mustn't mix data and metadata in the same table. Worded a bit differently, don't get your cardinal and ordinal numbers mixed up :-) > > Also, that you can model any data structure simply over tuples and > relations, including arrays and bags, and likewise implement such > tuples and relations with physical arrays behind the scenes. Again, you use the word *model*. Isn't this pushing all this complexity back out into the app - where it DOESN'T belong? > > Ordered lists and bags can be logically binary relations with > index+value or value+count attributes. (That is also the canonical > way to do it in Muldis D.) > I think this is what I said above you mustn't do - mixing up your ordinals and cardinals? (And mixing your data and metadata.) > It is perfectly valid to nest tuples and relations inside each other > (these *are* valid 1NF), and so likewise you can have record field > values that are sets or arrays or tables or whatever. > Which is where Pick scores, this is easy to do and flows naturally from the data model. But it does it the other way round - the logical structure takes hints from the real-world-physical structure (and the database designer makes sure the physical database structure mimics the real-world physical structure). > -- Darren Duncan Cheers, Wol _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users