En database som følger med
NorsDB gir deg SQL-liknende spørringer og transaksjoner rett i standardbiblioteket — nok til ekte apper.
De fleste programmer trenger et sted å lagre ting: brukere, innlegg, bestillinger. I mange språk begynner det med å velge en database, installere en driver og koble opp et bibliotek. I Norscode følger en database med.
NorsDB
Standardbiblioteket har NorsDB, en lettvekts database du snakker med gjennom kjente, SQL-liknende spørringer. Du oppretter tabeller, setter inn og henter rader, og pakker flere endringer i en transaksjon som enten går helt igjennom eller ikke i det hele tatt. Det er nok til å drive ekte applikasjoner — nettstedet du leser dette på lagrer alt innholdet sitt i NorsDB.
Hvorfor det er greit at den følger med
Å ha en database rett i standardbiblioteket betyr at du kommer i gang uten oppsett, og at det er én mindre ekstern del å holde oppdatert. For en app som ikke trenger en tung databaseserver ved siden av, er det ofte akkurat passe: lite å drifte, enkelt å flytte, og alt på ett språk.
Ærlig om hva den er
NorsDB er laget for å være enkel og følge med, ikke for å konkurrere med tunge databaser bygget for enorme datamengder og mange samtidige skrivere. Trenger du det, kan du fortsatt snakke med en ekstern database. Men for det store flertallet av applikasjoner er «den som følger med» mer enn nok — og den sparer deg for et helt lag med oppsett.
En database du ikke må velge, installere og koble opp, er en database du faktisk begynner å bruke med en gang.
Litt mer enn å hente ett tall
En ekte app gjør mer enn å telle rader. Med std.db oppretter du tabeller, setter inn og henter data, og oppdaterer den med vanlige SQL-setninger:
db.execute(h, "INSERT INTO notat (id, tekst) VALUES (1, 'hei')")
la tekst = db.query_text(h, "SELECT tekst FROM notat WHERE id=1")For verdier som kommer utenfra — fra en bruker eller et API — bør du bruke de bundne variantene som execute_bundet og query_text_bundet. De holder dataene atskilt fra selve setningen, så en ondsinnet inndata ikke kan endre spørringen. Det er den trygge vanen, og den er verdt å ta med fra dag én.
Alt eller ingenting
Skal flere endringer henge sammen — trekke fra én konto og legge til på en annen — pakker du dem i en transaksjon med begin, commit og rollback, eller lar transaction gjøre det for deg. Enten går alt igjennom, eller så gjøres ingenting. Du slipper å ende i en halvferdig tilstand hvis noe feiler midtveis.
Når du trenger mer
NorsDB er laget for å være enkel og følge med, ikke for å konkurrere med tunge databaser bygget for enorme datamengder. Vokser behovet forbi det, kan du fortsatt snakke med en ekstern database. Men for det store flertallet av applikasjoner er «den som følger med» mer enn nok.
Les også
- Nytt nettsted for språketnorscode.no handler nå om programmeringsspråket, med dokumentasjon, eksempler og nedlastinger.
- Hvorfor kjøretiden sier neiEn kort forklaring av kapabilitetsmodellen, og hvorfor den er slått på fra første stund.
- Kompilatoren bygger seg selvNorscode er selvhostende: verktøykjeden er skrevet i språket den kompilerer.