Mit Erlang ist die prinzipielle Erstellung eines Datenbankmanagementssystems (DBMS) relativ einfach zu bewältigen.
Dafür spricht auch, dass einige Datenbanken in Erlang entwickelt worden sind:
- CouchDB
- SimpleDB
Aber auch andere sehr bekannte Projekte.
Beispiel Datenbank Statements in Erlang
Bei einer vorgegebenen Menge von Daten namens DB sollen
DB = [{sebastian, jan, 26}, {daniel, jan, 10}, {susi, jan, 10},{thomas, dez, 19}].
1. Alle Personen extrahiert werden, die im januar Geburtstag haben:
[Name || {Name,Monat,_} <- DB, Monat == jan]. [sebastian,daniel,susi]
2. Alle Monate und die Namen der Geburtstagskinder extrahiert werden
[{Monat,[Name || {Name,MonatOuter,_} <- DB, MonatOuter == Monat ]} || {_,Monat,_} <- DB]. [{jan,[sebastian,daniel,susi]}, {jan,[sebastian,daniel,susi]}, {jan,[sebastian,daniel,susi]}, {dez,[thomas]}]
Wenn man keine doppelten Elemente in der Ergebnismenge haben will kann man die Liste in ein Set umwandeln und wieder zurück in eine Liste, weil ein Set hat nur eindeutige Keys enthält:
sets:to_list(sets:from_list([{Monat,[Name || {Name,MonatOuter,_} <- DB, MonatOuter == Monat ]}||{_,Monat,_} <- DB])). [{jan,[sebastian,daniel,susi]},{dez,[thomas]}]
3. Wieviele Leute haben im Januar Geburtstag?
lists:sum([1 || {_,jan,_} <- DB]). 3
4. Wieviele Leute haben durchschnittlich (AVG) im Dezember Geburtstag?
lists:sum([1 || {_,dez,_} <- DB]) / length(DB). 0.25