2) What is the fundamental difference between a relational database and a hierarchical database and how does that effect the end-user? (Should we even care? If so why?)

From VistApedia
Revision as of 00:31, 21 September 2005 by 68.14.218.205 (talk)
Jump to: navigation, search
    While MUMPS has been characterized as "hierarchical", the 
    DBMS that VistA uses, VA FileMan, provides what is more accurately 
    characterized as a polymorphic view of the database.  One can 
    readily use relational projections (indeed there are commercial
    add-ons that give a strict SQL view of the database).  The more
    advantageous view through VA FileMan is more like an object view
    of the data with abstract data types being highly specialized for
    optimal use and performance.  End users usually need not care 
   (except that performance of VA FileMan is demonstrably superior 
   (there are published reports) to SQL on the same hardware and
    configuration.)

    Another difference is the way the data is stored.  M data is stored
    in b-trees, as compared to flat tables (I believe).  This leads to
    faster data acess, and less CPU power needed.

    Also, the database in M is called by some a "sparce array."  This
    means that there are no "blank spaces" left for data to be later
    filled into.  So with M, if there is no data present, then no space
    is wasted.  I find this to lead to many many fields being defined 
    for a given file.  With a traditional database, having all these 
    fields with empty/wasted space, would lead to huge database files.
    But with M, one can can store years of patient information on a 
    relatively small disk.