This is a very old argument. Hierarchical data bases (HDBs) long antedate relational ones (RDBs), and the deficiencies of HDBs were once well understood. The chief problem with them is that an HDB and applications that use it are not independent. They are unhappy bedfellows. If one is changed corrresponding changes must be made in the other too.
A major consequence of this interdependence is that HDBs tend to be application-specific. Each of N applications has its own HDB, one of N. This point made, it must be added that RDBs have not usually realized their promise. Many, perhaps most of them are badly designed. Their promise remains. They can be, sometimes are, used well; and, in particular, a single RDB can serve multiple applications well. Mr Crayford's point that RDBs do not do list processing well is of a different kind. In my own use of DB2, which is heavy, I have not experienced any difficulty manipulating pointers to data returned by queries to it in stacks, lists, BSTs, and the like. The only kinds of processing I ever do are list- and pointer-orient[at]ed. (My chief objection to COBOL has been that until recently it required me to move data instead of pointers to them.) Until I read Mr. Crayford's post it had thus never occurred to me that I should delegate list manipulations to either an HDB or an RDB; and I still do not find this idea attractive. Others may, however, find it attractive or even necessary if their programming skills have atrophied or were never more than rudimentary. Here, as elsewhere: À chacun son gout! John Gilmore, Ashland, MA 01721 - USA ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
