DBM

DBM  (från engelska  database manager ) är en plattformsoberoende mekanism för att lagra strängar i en fil som en hash . Både nyckeln och dess associerade data måste vara strängar. DBM som ett format och ett mjukvaruverktyg för dess bearbetning kan anses vara den enklaste databasmotorn .

Formatet och verktyget med samma namn för dess underhåll skapades 1979 av Ken Thompson , sedan dess har en eller annan implementering av ett sådant verktyg inkluderats i distributionerna av de flesta Unix-liknande system ( ndbm i Unix-system, gdbm i GNU-projektet ). Berkeley DB skapades ursprungligen som ett högpresterande alternativ till dbm-verktyget som behöll samma gränssnitt (senare utvecklades till ett inbäddat DBMS med många andra funktioner).

DBM har implementerats för ett antal programmeringsspråk som bibliotek ; Ruby kommer med standardruby -gränssnittet . För att använda det i Ruby måste du skapa ett objekt DBM med ett filnamn för det, och sedan arbeta med det som med en vanlig hash , efter att arbetet är klart ska filen stängas:

#Anslutning av DBM kräver 'dbm' #Skapar ett nytt objekt. Filnamnet är data d = DBM . new ( "data" ) #Tilldela värdet 123 till abc-nyckeln d [ "abc" ]= "123" #Stänga dbm-filen d . stäng #Försök att komma åt en stängd dbm-fil kommer att orsaka ett RuntimeError sätter d [ "abc" ] #Öppning av en tidigare skapad dbm-fil e = DBM . öppen ( "data" ) #Output tidigare genererade värden sätter e [ "abc" ] #Konvertera till hash. f = {"abc"=>"123"} f = e . to_hash #Stäng dbm-fil e . stänga

Gränssnittet till DBM är implementerat som en enda klass, till vilken Enumerable. De två synonyma klassmetoderna newoch openär ensammaDBM , vilket innebär att du bara kan ha ett objekt associerat med en given fil vid varje given tidpunkt . Nästan alla hashoperationer gäller för en DBM. Metoden to_sreturnerar en strängrepresentation av objektidentifieraren.

Länkar