Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!decwrl!mejac!orchard.la.locus.com!prodnet.la.locus.com!jfr From: jfr@locus.com (Jon Rosen) Newsgroups: comp.databases Subject: Re: Relational Databases (and why they don't exist) Message-ID: <25200@oolong.la.locus.com> Date: 10 Jun 91 14:56:21 GMT References: <1991Jun07.063749.7904@chinet.chi.il.us> <1991Jun08.124337.29813@uvmark.uucp> <2421@ccadfa.adfa.oz.au> Organization: Locus Computing Corp, Los Angeles Lines: 46 In article <2421@ccadfa.adfa.oz.au> ghm@ccadfa.adfa.oz.au (Geoff Miller) writes: >I have previously put forward the view that, if you consider a DBMS to >be "relational" only if it obeys all of the Commandments of Codd, there >is no such animal as a truly relational DBMS. I would also suggest that >this does not matter very much! True... >The relational database *model* is extremely useful for database design. >However, you can implement a relational model using a number of DBMS >products which are quite clearly not "relational" in the sense described above > Also true... >Normalisation does have advantages for more that the database theorist, >though. Remember that there is a basic law of computing that, if you >give a user the chance to enter the same piece of information in two >different places you will inevitably end up with two different versions. >Normalisation is largely about making sure that each piece of information >is stored once and once only. Not true... normalization is mostly about reducing a data model to its component parts... what this does is generally eliminate redundant ATTRIBUTEs, but KEYS are not only repeated, but often repeated many times... In fact, I have done a comparison of several large systems that were implemented in RAMIS, a mostly hierarchical 4GL database and then reimplemented in DB2... The use of a hierarchy was far more capable of eliminating redundancies than the relational version... This does not mean, however, that the hierarchical version was any easier to use or maintain... This mostly depends on the tools you have to program with, whether they be procedural or 4GL-style... > However, you can implement a normalised >data *model* in ways which use NFNF structures. This is do NOT understand... If you mean that you can use denormalization for performance reasons after having appropriately normalized, I would agree... Otherwise, I fail to see how the use of an NFNF model (which I agree can be very useful in certain applications) can implement a normalized view of the data, since these are essentially contradictory views... Please explain... Jon Rosen