Path: utzoo!mnetor!uunet!husc6!ut-sally!ut-emx!lad-shrike!chris From: chris@AUSTIN.LOCKHEED.COM (Chris Wood) Newsgroups: comp.databases Subject: relational flaws Message-ID: <91@coot.AUSTIN.LOCKHEED.COM> Date: 4 Mar 88 18:01:22 GMT Organization: Lockheed Austin Div. Lines: 53 Keywords: relational flaws In article <1169@ucsfcca.ucsf.edu>, brianc@daedalus (Brian Colfer) writes: > > This is interesting, in that it is a perfectly plausible request > >that does not **seem** to be well-defined in the relational > >algebra/calculus (and perhaps even less well-defined in the *#%!@?&& > >sublanguages we get with them). > > [Here's the big one!] > In a relational database there is no notion of "nextness"..." > > Following there is no such thing as the first or last > so how can SQL support it?! > > > > > Can someone with a deeper knowledge of relational theory comment > >on this, especially with respect to saying > > 1) "give me one of" -- the current problem > > 2) "give me the first n of" -- from a problem in bibliographic > > search > > 3) "give me any n of" > > Non-sensical from a relationship model perspective. Plus from a > application perspective to arbitrarialy select a set of row(s) because of > its position is illogical. The better task formulation is: I just love it when a "real-world" need is considered "non-sensical" by relational theory. Other examples: Repeating fields or groups of fields violate "normalization" and thus are not generally supported even though they would frequently provide noticeable increases in processing efficiency. Pre-declared relationships violate the spirit of relational theory. Views are close, but they are not as dynamic to use as "canned" relationships. Current relational implementations basically put the burden of navigating through the data relationships on the person who enters the query, not on the designer of the database. This goes against the ongoing trend of increasing user-friendliness and ease-of-use in computer software. I helped write a DBMS that put "canned" relationships on top of a underlying "relational" DBMS. Then I wrote a report writer that popped up a list of all records and their fields in the entire database. The user simply marked the desired fields in whatever records he wanted, and using the canned relationships the software calculated the "best" retrieval path to get the results, and produced the report. This was not a hierarchical database, the records were highly networked. The path navigation algorithm was smart enough to recognize cycles and prune them from the list of candidate paths. It also made use of the user specified sort keys for pruning the tree of possible paths. It works! This is in a current commercially marketed package from NMS in Alexandria, Va. called the Workstation Builder. It runs on PCs. Chris Wood