CC BY-NC Bilde: Andrey Popov
Tidligere har du kanskje lært å modellere relasjonsdatabaser og å kode dem i SQL. En viktig forskjell på relasjonsdatabaser (SQL-baserte databaser) og dokumentbaserte databaser (NoSQL-databaser) er at i dokumentbaserte databaser er det ingen forhåndsbestemte regler for hvordan databasen skal bygges opp. Hele databasen tar utgangspunkt i ei tekstfil (ofte ei .JSON-fil) der vi legger all dataene inn, uten å ha bestemt felt, rader og kolonner på forhånd. Vi skriver rett og slett bare all dataene inn i tekstfila. Dette gjør dokumentbaserte databaser veldig fleksible og enkle å sette opp, men det krever også mer orden fra dem som skal bruke databasen. For at en slik database skal være brukervennlig, krever det dessuten at programmet eller nettsiden vi bruker til å få tilgang til databasen, er satt opp på en måte som gjør det enklere å legge inn riktig data.
Vi kan likevel trekke ut noen likheter mellom relasjonsdatabaser (SQL) og dokumentbaserte databaser (NoSQL). En tabell i SQL tilsvarer ei samling (collection) i NoSQL, og en rad (all dataene tilknyttet et objekt i databasen) i SQL tilsvarer et dokument (document) i NoSQL. Du kan lese mer om oppbyggingen av dokumentbaserte databaser på MongoDBs side "What is a Document Database".
ER-modellering er en vanlig måte å modellere databaser på. CC0 Bilde
Det kan kanskje være enkelt å tro at vi ikke trenger datamodellering i NoSQL-databaser, siden vi ikke trenger å opprette tabeller og felt på samme måte som i SQL, men det kan uansett være en god idé å ha oversikt over hvordan dataene skal organiseres i databasen. Derfor kan det være lurt å sette opp en datamodell også når du skal bruke NoSQL-databaser.
På bildet under ser du oppbyggingen av en Firestore-database med elevdata:
Dokumentdatabaser er bygd opp av enkeltstående dokumenter som er gruppert i samlinger. Bilde: Karl Arne Dalsaune
Som du kan se på bildene, har noen av elevene ulik info. Noen har telefon, andre har e-post, og noen har begge deler. Dette ville ikke ha vært mulig i en SQL-database, der alle feltene må være opprettet på forhånd. Dette viser noe av fleksibiliteten i en NoSQL-database.
➡️ Legge inn data i en Firebase-databaseLegge inn data i en Firebase-databaseI NoSQL-databaser organiseres data i samlinger som består av flere dokumenter. I denne artikkelen skal du lære to metoder for å opprette dokumenter i Cloud Firestore. Bilde: Karl Arne Dalsaune L...
Om Firebaseplattformen Oppsett av Firebase og Cloud Firestore Forskjellen på relasjonsdatabas...
Firebase er et produkt fra Google som gjør det enkelt å koble en database til en nettside eller a...
© 2024 • Contents under CC-BY-NC • Maintained by Karl Arne Dalsaune