{{Infobox software | name = Database Organization and Maintenance Processor (DBOMP) | title = | logo = 200px | released = | latest release version = | latest release date = | operating system = DOS/360 and successors | platform = IBM System/360 | genre = Database | license = proprietary | website = }} '''DBOMP''' ('''Database Organization and Maintenance Processor''') was an early hierarchical database system from IBM for DOS. DBOMP was introduced in the late 1960s<ref name=McGee>{{cite journal |last1=McGee |first1=W.C. |s2cid=11487796 |title=Data Base Technology |journal=IBM Journal of Research and Development |date=Sep 1981 |volume=25 |issue=5 |pages=505–519 |doi=10.1147/rd.255.0505}}</ref> as a successor to IBM's "Bill of Materials Processor" called BOMP, introduced in 1965 when DOS became available.<ref name="mallory">{{cite web |last1=Mallory |first1=James |title=FROM BOMP TO SAAS AND BEYOND: 1960S |url=http://e2btek.com/bomp-saas-beyond-1960s/ |website=e2b teknologies |date=13 October 2016 |accessdate=Mar 18, 2019}}</ref>
DBOMP stored records on disk and was generalized beyond bill of materials.<ref name="Frisendal">{{cite web |last1=Frisendal |first1=Thomas |title=Next and Prior: Pointing in Data Models |url=https://www.dataversity.net/next-prior-pointing-data-models/ |website=Dataversity |date=10 September 2018 |accessdate=Mar 18, 2019}}</ref> BOMP was named from manufacturing industry's bill of materials processing in USA, (usually known as parts list processing in the UK) and specifically aimed at that industry sector. The major files were actually called ''Part Number Master File'' and ''Work Centre File'', and the linking files were called ''Product Structure File'' and ''Routing File''. Shortly after introduction, however the software was already being used for other purposes. One user who bred prize pigs used it to trace the ancestry of his animals— like race horses, the ancestry of these pigs directly affected their considerable commercial value. The possibilities were recognised with the announcement of DBOMP itself, where the basic file structures and inter-relationships remained the same, but the files were renamed to make them less manufacturing-specific.
There is some disagreement as to whether DBOMP should be called a hierarchical or a network database.<ref>{{cite book |last1=Gupta |first1=Satinder Bal |last2=Mittal |first2=Aditya |title=Introduction to Database Management System |date=2009 |publisher=University Science Press |page=83 |isbn=9789381159316 |url=https://books.google.com/books?id=NGlSs8YFs3EC&pg=PA82 |accessdate=Mar 18, 2019}}</ref> This was a marketing competition between IBM and competitive offerings: network had become popular, and BOMP and DBOMP did have network characteristics, but these were limited.
The structure of DBOMP databases limited its use to CKD disk drives with no more than 511 cylinders.<ref>{{cite news |last1=Ward |first1=Patrick |title=Firm Gains Performance in Economy Move |url=https://books.google.com/books?id=PWTnOFI3gpUC&pg=PA23 |accessdate=Mar 18, 2019 |agency=Computerworld |date=Dec 17, 1973}}</ref> It was a long time before this became a problem, but the more serious limitation was that each pointer address stored in one record to link it to another was a physical (Cylinder/Head/Record) address on the disk. Moving a file from one pack to another required it to be placed in exactly the same physical position on the new pack. Also, if the installation migrated to bigger disks, the whole database had to be unloaded into sequential files and reloaded through the software provided to fit the new pack dimensions, More seriously, the programmer was responsible for managing the physical pointers in the header of each record, directly beside normal business data. The IBM replacement for DBOMP was the DOS implementation of DL/I database, where the pointer information was carefully shielded from the program.
The structure of DBOMP files heavily influenced later databases such as Cincom's Total.<ref name=McGee />
==References== {{Reflist}}
{{database-software-stub}}
Category:Proprietary database management systems Category:Structured storage Category:NoSQL Category:IBM mainframe software