DBM (z anglického database manager ) je na platformě nezávislý mechanismus pro ukládání řetězců v souboru jako hash . Klíč i související data musí být řetězce. DBM jako formát a softwarový nástroj pro jeho zpracování lze považovat za nejjednodušší databázový stroj .
Formát a stejnojmenný nástroj pro jeho údržbu vytvořil v roce 1979 Ken Thompson , od té doby je ta či ona implementace takového nástroje zahrnuta do distribucí většiny unixových systémů ( ndbm v unixových systémech, gdbm v projekt GNU ). Berkeley DB byl původně vytvořen jako vysoce výkonná alternativa k nástroji dbm, který si zachoval stejné rozhraní (později se vyvinul ve vestavěný DBMS s mnoha dalšími funkcemi).
DBM byl implementován pro řadu programovacích jazyků jako knihovny ; Ruby přichází se standardním rozhraním ruby . Chcete-li jej použít v Ruby, musíte pro něj vytvořit objekt DBM s názvem souboru a poté s ním pracovat jako s běžným hashem , po dokončení práce by měl být soubor uzavřen:
#Připojení DBM vyžaduje 'dbm' #Vytvoření nového objektu. Název souboru je data d = DBM . new ( "data" ) #Přiřazení hodnoty 123 klíči abc d [ "abc" ]= "123" #Uzavření souboru dbm d . close #Pokus o přístup k uzavřenému souboru dbm způsobí chybu RuntimeError vloží d [ "abc" ] #Otevření dříve vytvořeného souboru dbm e = DBM . otevřít ( "data" ) #Výstup dříve vygenerovaných hodnot vloží e [ "abc" ] #Převést na hash. f = {"abc"="123"} f = e . to_hash #Zavřít soubor dbm e . zavřítRozhraní k DBM je implementováno jako jediná třída, do které je Enumerable. Dvě synonymní metody třídy newa openjsou samotářiDBM , což znamená, že k danému souboru můžete mít v daném okamžiku přiřazen pouze jeden objekt. Téměř všechny hashovací operace platí pro DBM. Metoda to_svrací řetězcovou reprezentaci identifikátoru objektu.