DBM ( englanninkielisestä tietokannan hallinnasta ) on alustasta riippumaton mekanismi tiedostossa olevien merkkijonojen tallentamiseen hashina . Sekä avaimen että siihen liittyvien tietojen on oltava merkkijonoja. DBM:ää muotona ja sen käsittelyn ohjelmistotyökaluna voidaan pitää yksinkertaisimpana tietokantamoottorina .
Formaatin ja samannimisen apuohjelman sen ylläpitoa varten loi Ken Thompson vuonna 1979 , siitä lähtien yksi tai toinen tällaisen apuohjelman toteutus on ollut mukana useimpien Unix-tyyppisten järjestelmien jakeluissa ( ndbm Unix-järjestelmissä, gdbm in GNU-projekti ). Berkeley DB luotiin alun perin tehokkaaksi vaihtoehdoksi dbm-apuohjelmalle, joka säilytti saman käyttöliittymän (myöhemmin kehittyi sulautetuksi DBMS :ksi , jossa on monia muita ominaisuuksia).
DBM on otettu käyttöön useille ohjelmointikielille kirjastoina ; Rubyn mukana tulee tavallinen rubiinikäyttöliittymä . Jos haluat käyttää sitä Rubyssa, sinun on luotava objekti DBM , jolla on sille tiedostonimi, ja sitten työskenneltävä sen kanssa kuten tavallisen hajautusarvon kanssa. Kun työ on valmis, tiedosto tulee sulkea:
#DBM :n yhdistäminen vaatii 'dbm' #Uuden objektin luominen. Tiedoston nimi on data d = DBM . new ( "data" ) #Arvon 123 määrittäminen abc-avaimelle d [ "abc" ]= "123" #Dbm-tiedoston sulkeminen d . Sulje #Yritetään käyttää suljettua dbm-tiedostoa aiheuttaa RuntimeError laittaa d [ "abc" ] #Avaa aiemmin luotu dbm-tiedosto e = DBM . open ( "data" ) #Aiemmin luodut arvot tuottavat e [ "abc" ] #Muunna hashiksi. f = {"abc">"123"} f = e . to_hash #Sulje dbm-tiedosto e . kiinniLiitäntä DBM :ään on toteutettu yhtenä luokkana, johon Enumerable. Kaksi synonyymiä luokkamenetelmää newja openovat yksinäisiäDBM , mikä tarkoittaa, että tiettyyn tiedostoon voi olla yhdistetty vain yksi objekti kerrallaan . Melkein kaikki hash-toiminnot koskevat DBM. Metodi to_spalauttaa objektitunnisteen merkkijonoesityksen.