Difference between revisions of "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
(No difference)
|
Revision as of 00:31, 21 September 2005
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.