Modeliranje podataka postupak je razvoja vizualnog prikaza bilo cijele softverske aplikacije ili njezinih komponenata za komunikaciju veza između točaka podataka i strukture. Uključuje detaljni pregled zahtjeva za primjenom i bazom podataka i kao vezu između dviju operacija osnovnih podataka - čitanje, pisanje i ažuriranje.
Stabilan model podataka stvara se procjenom uzorka upotrebe aplikacije i usklađivanjem sheme baze podataka s njim. Stoga dizajn sheme oblikuje vaš podatkovni model. Što se tiče relacijske baze podataka, ne možete popuniti svoje tablice bez stvaranja sheme tablice.
Ključni pojmovi koje treba znati
Prije nego što krenete naprijed, evo nekoliko osnovnih definicija koje morate znati:
- Zbirka - Zbirka je skup dokumenata u MongoDB-u. To je ekvivalent tablice u RDBMS-u.
- Dokument - Dokument je struktura koja se sastoji od parova datoteka i vrijednosti. To je ekvivalent retka u RDBMS-u.
- Shema baze podataka - Dizajn sheme logična je i vizualna arhitektura baze podataka dizajnirana za sustav upravljanja bazom podataka (DBMS).
Po čemu se modeliranje podataka razlikuje u MongoDB-u?
Zahvaljujući fleksibilnosti NoSQL-a, ne morate stvoriti shemu prije umetanja podataka. To je zato što MongoDB podržava dinamički oblik sheme baze podataka. To eliminira potrebu za unaprijed dizajniranjem sheme. Umjesto toga, sada možete pohraniti svoje podatke i izvršiti prilagodbe prema svojoj zbirci.
U dato polje zbirke možete pohraniti različite vrste podataka, a možete čak dodati nova polja, ažurirati vrijednosti polja i izbrisati postojeća polja. Stvarnu korist ove fleksibilnosti pronaći ćete kada mapirate dokumente u objekt ili entitet.
Općenito, zbirka i njezin dokument slijede sličnu strukturu. Također možete "provesti" pravila provjere valjanosti dokumenata svoje zbirke pomoću provjere sheme.
Povezano: Motori baze podataka za razmatranje za vaš sljedeći projekt
Kada stvarate model podataka, proučite kako će vaša aplikacija komunicirati s bazom podataka. Na primjer, ako će obraditi dokumente koji su nedavno umetnuti, dobra je ideja koristiti ograničene zbirke - zbirke fiksne veličine koje podržavaju visokopropusne operacije.
Slično tome, ako će vaša aplikacija većinu vremena raditi s operacijama čitanja, možete postaviti indekse koji podržavaju uobičajene upite i poboljšavaju izvedbu.
Tradicionalno, jedno od razmatranja pri stvaranju modela podataka jest kako pohraniti povezane podatke. Relacijske baze podataka koriste tablice za pohranu podataka, gdje se primarni i strani ključevi koriste za postavljanje odnosa podataka.
Slično tome, spajanja se koriste za pristup i pokretanje operacija na više tablica. Kao netko tko je prešao na MongoDB s relacijskog DBMS-a, kao što je SQL Server, nećete pronaći pridruživanja u MongoDB-u. To je zato što MongoDB pohranjuje podatke o zbirci referenciranjem podataka ili ugrađivanjem podataka u zbirku.
Stoga, ako vaš podatkovni model zauzima deset tablica u relacijskoj bazi podataka, moguće je da vam MongoDB omogućuje da ga objedinite u jednoj zbirci.
Vrste podatkovnih modela
Sad kad znate kako modeliranje podataka funkcionira u MongoDB-u, prođimo kroz vrste podatkovnih modela koje podržava MongoDB. Obično to ovisi o strukturi vašeg dokumenta i odnosima podataka vaše aplikacije.
Ugrađeni modeli podataka
U MongoDB možete ugraditi podatke u jedan dokument ili strukturu. Naziva se i denormaliziranim modelima podataka, a koristi puni potencijal bogatih MongoDB-ovih dokumenata. Na primjer, razmotrite sljedeći primjer: imamo kolekciju, studenti, koji sadrži dokument Matt. U ovaj smo dokument ugradili dva dokumenta, kontakt podaci i razred.
{
"_id": "4aad66a4c13bb24f12gh199e",
ime: "Matt",
detalji za kontakt: {
telefon: ”555-555-1234”
adresa e-pošte: “[email protected]”
},
ocjena: {
predmet: “CS101”
ocjena: "B"
}}
Ugrađivanje pohranjuje relevantne detalje u isti dokument ili zapis baze podataka. Na ovaj način možete minimizirati upite i ažuriranja potrebna za izvođenje uobičajenih DB operacija.
Kada biste trebali koristiti ugrađene podatkovne modele? Korisni su za poboljšanje izvedbe operacija čitanja. Osim toga, oni su učinkoviti za obradu pronalaženja podataka jednog zapisa. Ovim modelom možete koristiti jednu operaciju upisivanja za ažuriranje povezanih podataka.
Međutim, morate imati na umu nešto: ugrađivanje povećava veličinu dokumenta nakon njegovog stvaranja. U nekim slučajevima to može utjecati na izvedbu upisa, a postoji i mogućnost fragmentacije podataka zbog povećanja veličine dokumenta.
I na kraju, možete stupiti u interakciju s ugrađenim dokumentima pomoću točke oznake i lako ih prelaziti. Evo sintakse:
polje.nestedField: vrijednost
Za gornji primjer možete pristupiti ugniježđenim dokumentima tako da napišete sljedeći upit:
db.students.find ({detalji za kontakt: {telefon: ”555-555-1234”, adresa e-pošte: “[email protected]”}}). prilično ()
Normalizirani modeli podataka (reference)
Normalizirani modeli podataka koriste se za izgradnju modela odnosa jedan-prema-mnogo i mnogo-prema-mnogo. Tijekom rada s ugrađenim modelima dokumenata, ponekad će biti potrebno ponoviti podatke. Ovdje reference dobro dođu - one se bave suvišnošću. Evo kako možemo koristiti reference za gornji primjer.
Naš pojedinačni dokument podijelili smo u tri dokumenta i od tada kontakt podaci i razred imati ID iz Matt dokument, možete ih nazvati po potrebi.
student
{
_iskaznica:
korisničko ime: "Matt"
}
kontakt podaci
{
_iskaznica:
user_id:
e-adresa: “[email protected]”
telefon: ”555-555-1234”
}
razred
iskaznica:
user_id: ,
subjekt: “CS101”,
ocjena: "B"
}
Kao što vidite, normalizirani modeli podataka dijele podatke u više zbirki korištenjem referenci između novijih zbirki. Možete ažurirati jedan dokument koji će ažurirati ostale zbirke. Ovo je učinkovit način ažuriranja podataka i uglavnom se koristi kada vaši podaci prolaze kroz česte promjene.
Evo vremena kada je normalizirani model podataka pametniji izbor:
- Morate modelirati velike skupove podataka koji slijede određenu hijerarhiju.
- Morate predstavljati više veza mnogo-do-mnogo.
- Ugrađivanje bi prouzročilo dupliciranje podataka, a da u dovoljnoj mjeri ne bi imalo koristi za izvedbu čitanja.
Sada s lakoćom možete modelirati podatke u MongoDB-u
Do sada znate kako se modeliranje podataka u MongoDB razlikuje od relacijskih DBM-ova, posebno kada je riječ o shemi. Također ste naučili o vrstama modela podataka u MongoDB-u - denormalizirani i normalizirani - i naučili kada ih koristiti.
I ovo je samo početak; postoji još mnogo toga za naučiti o tome kako MongoDB može organizirati vaše podatke.
Opcija uređivanja jedna je od najčešće traženih značajki Twittera. Pa zašto to tvrtka ne dopušta?
Pročitajte Dalje
- Programiranje
- baza podataka
Pretplatite se na naše obavijesti
Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!
Još jedan korak…!
Potvrdite svoju e-adresu u e-pošti koju smo vam upravo poslali.