![Page 1: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/1.jpg)
INF1300—Introduksjon til databaser
INF1300—Introduksjon til databaserINF1300—Introduksjon til databaser
æ INF1300—Introduksjon til databaser
æ databaseræ data (transiente, persistente)æ informasjonæ interesseområdetæ tabeller
![Page 2: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/2.jpg)
DatabaseFra Wikipedia, den frie encyklopedi
En database er strukturert samling av relaterte data, begrepet er vanligvis knyttet tilelektroniske datasystemer. Et databasesystem skal kunne behandle store mengderdata effektivt, motsetningsfritt og sikkert. Databasesystemet skal sikre at endringerog tilføyelser ikke fører til motsetninger eller feil, og skal kunne levere riktiginformasjon effektivt til brukere og programvare.
Et databasesystem har to deler – databasehåndteringssystemet (DBMS) som erprogramvaren som administrerer systemet, og selve databasen, som er de data somhåndteres av systemet. DBMSen organiserer dataene og styrer all lesing og skrivingtil databasen. For å kommunisere med DBMS-en brukes et spørrespråk.
Det finnes ulike sorter databasesystemer. Metoden man bruker for å organisere datakalles en datamodell. Den vanligste formen for databasesystem er basert pårelasjonsmodellen.
![Page 3: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/3.jpg)
Fra datastruktur til tabeller
æ Opprette en datastruktur, f.eks. med et javaprogram.
æ Skrive denne til filæ Når datastrukturen skal endres:
æ Opprett datastruktur fra filæ Gjør endringer i strukturenæ Skriv datastrukturen til fil
Har vi nå en database?
![Page 4: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/4.jpg)
Svaret er ja.
Men programmet må skrives om hver gang vi ønsker å gjøre noevi ikke har forutsett da vi programmerte.
Og det fungerer for den bestemte anvendelsen.
Vi ønsker å gjøre noe mer
![Page 5: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/5.jpg)
Transiente og persistente data
æ Når vi programmerer, legger vi dataene våre iprogramvariable (eller bare «variable»)
æ Når programmet avsluttes, slettes dataene
æ Slike data kalles transiente
æ En enkel måte å ta vare på data, er å skrive dem til fil. Detvil vanligvis si at dataene bak kulissene lagres på enmagnetdisk
æ Data som overlever mellom to programkjøringer, kallespersistente
![Page 6: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/6.jpg)
Problemer med filer
æ Filer er i alminnelighet tilpasset ett bestemt program
æ Uansett kan en fil bare brukes av ett program om gangen(programmet må åpne filen for å bruke den, og da er filensperret for alle andre)
æ Store programmer trenger ofte mange typer data, noe somgjerne resulterer i mange filer, noe som igjen gjørprogrammet enda mer komplisert
![Page 7: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/7.jpg)
En database over studenter meldt til INF1300
Avgrensning: hva er vi interessert i?
æ hvem kjenner hvem?
æ hvilke andre emner er studentene her tatt opp til?
![Page 8: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/8.jpg)
Lager først en datastruktur som viser hvemsom kjenner hvem
æ hva mener vi med «kjenner»?
æ eksempel på datastruktur fra oblig3 inf1010 V13 ...
![Page 9: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/9.jpg)
null
null
null
null
LelemPerson
Personbeholder
pl
Et forstørret objektav den indre klassenLelem, med typerfor de to pekerne
null
null
"Adnan"
"Tuva"
"Lars"
"Olga"
"Ali"
![Page 10: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/10.jpg)
Hvordan kan en fil med «kjennskap» se ut?
Adnan Tuva Lars Olga AliRagnar Adnan Olga TuvaSteinAnne Siri Sander Kari Per Ali Minna Luna Thach Tor + ......
![Page 11: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/11.jpg)
Hvordan kan en fil med «kjennskap» se ut?
Adnan 4TuvaLarsOlgaAliRagnar 3AdnanOlgaTuvaStein 0Anne 15...
![Page 12: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/12.jpg)
Hvordan kan en fil med «kjennskap» se ut?
Ragnar TuvaAdnan TuvaRagnar AdnanAdnan LarsRagnar OlgaSteinAdnan OlgaAdnan Ali
![Page 13: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/13.jpg)
Hvordan kan en fil med data om hvem som tarhvilke emner se ut?
Lars INF1300 INF1080 INF3331Adnan INF1300 INF1080SteinOlga INF2220...
![Page 14: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/14.jpg)
Hvordan kan en fil med data om hvem som tarhvilke emner se ut?
Lars INF1300Lars INF1080Lars INF3331Adnan INF1300Adnan INF1080SteinOlga INF2220...(Navn på person) (emne som tas av person)
![Page 15: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/15.jpg)
Student tar emne
navn emnekodeLars INF1300Lars INF1080Lars INF3331Adnan INF1300Adnan INF1080Stein nilOlga INF2220
![Page 16: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/16.jpg)
Person kjenner person
navn kjenner (navn)Ragnar TuvaAdnan TuvaRagnar AdnanAdnan LarsRagnar OlgaStein nilAdnan OlgaAdnan Ali
![Page 17: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/17.jpg)
Hvilken informasjon er brukerne avprogrammet ute etter?
Dette spørsmålet burde vi kanskje stilt før vi bestemte hva viville ha med?
æ Hvem har flest venner?
æ Er det noen som kjenner Lars som tar INF1080?
æ Er det noen som ikke kjenner noen som tar INF2220?
æ Del studentene i grupper på 5 personer hvor minst 3kjenner hverandre og hvor alle også tar INF2220...
æ Hvor mange INF1300-studenter har ikke tatt INF1010?
![Page 18: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/18.jpg)
Andre spørsmål knyttet til denne enkledatabasen
æ Hva heter INF1300 (kurstittel)?
æ Hva er telefonnummeret og e-postadressen til Adnan?
æ Hva er brukernavnet ved UiO til Olga?
æ Hvor mange grupper er det i INF2220?
æ Hvem tar flest kurs?
æ Er noen av studentene gruppelærere?
æ Hva fikk Lars i INF1000 og når tok han det?
Første innleveringsoppgave (oblig) blir å endre databasen, slikat disse og tilsvarende spørsmål kan besvares. I alle nye tabellerog kolonner, skal det legges inn minst tre forekomster (ikkenull). Ikke alle spørsmålene trenger utvidelser for å besvares.
![Page 19: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/19.jpg)
I tillegg skal informasjonen endres/supleres, slik at følgendebetingelser er oppfylt:
æ Alle studenter har et unikt brukernavn
æ En student kan ha flere telefonnumre, men ettelefonnummer kan bare tilhøre en person.
Bruk Ifis nettsider til å finne navn på emner o.l. Ellers kan dubruke fantasien når du skal finne på data.Forklar til slutt hva du ville gjøre for å sikre denne betingelsen:
æ Hvis student A kjenner student B, skal student B kjennestudent A
Du trenger ikke endre tabellen(e), bare forklare hva du villegjøre.
![Page 20: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/20.jpg)
Grov skisse av trinnene i utformingen av endatabase
æ Kartlegg og avgrens interesseområdet
æ Finn begrepene og relasjoner mellom dem
æ beskriv begrepene og forholdet mellom dem i etmodelleringsspråk
æ lag tabellene
![Page 21: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/21.jpg)
Databaser og DBMS
æ En database er en samling persistente data som fysisk barekan aksesseres fra ett spesialprogram, kalt etdatabasehåndteringssystem, forkortet DBMS (DataBaseManagement System)
æ Vilkårlig mange programmer og brukere kan samtidig værekoblet opp mot DBMSet og via det få lest, skrevet og endretdata i databasen
æ Et slikt program kalles ofte en klient
æ Logisk sett kan følgelig vilkårlig mange klienter aksesseredataene i databasen samtidig
![Page 22: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/22.jpg)
Transaksjoner
æ En henvendelse fra en klient til DBMSet kalles entransaksjon
æ En transaksjon som bare leser data, kalles enlesetransaksjon eller en sprring (query, uttales: kwi:ri)
æ En transaksjon som legger til nye data eller forandrereksisterende data, kalles en skrivetransaksjon
![Page 23: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/23.jpg)
Litt historie
æ Det første DBMS ble laget og presentert av Bachman ogWilliams i 1964
æ DBMSet ble solgt under navnet IDMS
æ IDMS var en nettverksdatabase, og var designet for bruk fraet programmeringsspråk (vertsspråk)
æ I 1968 kom IBM med IMS som var en hierarkisk databasesom er en forenkling av nettverksdatabaser
æ IMS ble nær enerådende for administrativ data-behandling,og fortsatt er det svært mange store firmaer som harlegacy-systemer som bruker IMS
![Page 24: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/24.jpg)
Litt mer historie
æ I 1970 presenterte E.F.Codd sin relasjonsmodell
æ Dette var en teoretisk beskrivelse av en ny type databaserkalt relasjonsdatabaser
æ Relasjonsdatabaser er enkle å beskrive og bruke, menvanskelige å lage DBMS for
æ Først i 1977 klarte Oracle å lage et DBMS som fortjenerbetegnelsen relasjonell
æ Relasjonsdatabaser er nå svært mye brukt, og de erhovedtemaet for dette kurset
![Page 25: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/25.jpg)
Data
æ Fra programmeringsspråk er vi vant til at vi har forskjelligedatatyper som
æ int (heltall)æ double (desimaltall)æ char (tegn)
æ Heltallsvariable kan ha verdier som 17 og -1024
æ Slike verdier kaller vi data
æ En enkelt verdi heter egentlig et datum, men vi bruker somoftest ordet «data» i entall også
![Page 26: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/26.jpg)
Informasjon
æ Informasjon består av data pluss regler for hvordan dataskal tolkes
æ Hvis vi har en (desimaltalls-) variabel vekt med verdien54,2, vil det være naturlig å anta at 54,2 er vekten av etteller annet
æ Men for at 54,2 skal kunne kalles informasjon, er det tospørsmål som må besvares:
æ Hvilken måleenhet er brukt for vekt?æ Hva er det som veier 54,2 måleenheter?
![Page 27: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/27.jpg)
Interesseområdet(UoD = Universe of Discourse)
Interesseområdeter en del avvirkeligheten
æ Lovene som styrer virkeligheten, kaller vi forretningsregler
æ Forretningsregler og naturlover har mange likhetstrekk
æ Vi ser effekten av dem, men de kan være vanskelige å finne
![Page 28: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/28.jpg)
Beskrivelse (deskripsjon) avvirkeligheten/interesseområdet
Beskrivelse avinteresseområdet
Begrepsdannelse ogidealisert representasjon
Interesseområdet
![Page 29: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/29.jpg)
Informasjonsmodeller
æ En fullstendig beskrivelse av interesseområdet kalles eninformasjonsmodell
æ Informasjonsmodellen uttrykkes gjerne i et (eller flere)modellspråk
æ Noen aktuelle modellspråk er
æ UML (Unified Modelling Languages)æ ORM (Object-Role Modelling)æ ER (Entity Relationship)
æ Vær beskrivelse av UoD skal leses av en datamaskin, så denmå være meget nøyaktig og detaljert
![Page 30: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/30.jpg)
Skranker
æ Beskrivelsen av forretningsreglene kalles skranker
æ Statiske skranker beskriver begrensninger på muligetilstander i interesseområdet
æ Dynamiske skranker beskriver begrensninger på muligeforandringer i interesseområdet
æ Den ferdige ORM-modellen er en beskrivelse av de statiskeskrankene i vært UoD
![Page 31: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/31.jpg)
Det begrepsmessige skjema
æ Informasjonsmodellen brukt som regelverk (preskripsjon)for hvordan informasjonssystemet skal oppføre seg, kallesdet begrepsmessige skjema
æ Det begrepsmessige skjema uttrykkes i et språk som passerfor den databaseteknologien vi skal bruke, f.eks.
æ SQL (Structured Query Language) for relasjonsdatabaseræ ODL (Object Definition Language) for objektdatabaser
![Page 32: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/32.jpg)
Integritetsregler
æ I det begrepsmessige skjemaet kaller vi skrankene forintegritetsregler
æ Integritetsreglene bestemmer
æ hva som er lovlig å lagre i informasjons-systemet (lovligetilstander i databasen)
æ hva som er lovlige forandringer (lovligetransisjoner/transaksjoner)
æ Det er umulig for en bruker av informasjons-systemet ågjøre noe som strider mot integritetsreglene
![Page 33: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/33.jpg)
Informasjonssystemer
Informasjonsmodellen
Interesseområdet
Data Prosesser
Informasjonssystemet
Analyse
Realiseringkan stanse her
Forretningsregler (lover)
Skranker (statiske/dynamiske)
Integritetsregler
Databasespråk (S
QL)
Modelleringsspråk (O
RM
)
![Page 34: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/34.jpg)
bruker
Håndtere spørsmålKontroll av data
Spørremodul
MDB DB
Aksessere data
DATABASESYSTEM
DBMS
Applikasjonsprogrammer
INFORMASJONSSYSTEMInformasjonssystem
er vs. databaser
![Page 35: INF1300—Introduksjon til databaserheim.ifi.uio.no/inf1300/2014/lysark/uke34.pdf · Hvilken informasjon er brukerne av programmet ute etter? Dette spørsmålet burde vi kanskje stilt](https://reader036.vdocuments.pub/reader036/viewer/2022070819/5f1a24205d794b300a4d7500/html5/thumbnails/35.jpg)
DBMS—Database Management System
Spesialisert programvare som understøtter
æ Persistens
æ Transaksjonshåndtering
æ Programmeringsgrensesnitt (API)