Podatkovno modeliranje je postopek razvoja vizualne predstavitve celotne programske aplikacije ali njenih komponent za sporočanje povezav med podatkovnimi točkami in strukturo. Vključuje natančen pregled zahtev glede uporabe in zbirke podatkov ter povezave med obema operacijama osnovnih podatkov - branjem, pisanjem in posodabljanjem.
Ustvari se stabilen podatkovni model z oceno vzorca uporabe aplikacije in z njo poravnavi shemo baze podatkov. Zato načrtovanje sheme oblikuje vaš podatkovni model. Ko gre za relacijsko bazo podatkov, tabel ne morete zapolniti, ne da bi ustvarili shemo tabel.
Ključni izrazi, ki jih je treba poznati
Preden nadaljujete, je nekaj osnovnih definicij, ki jih morate vedeti:
- Zbirka - Zbirka je nabor dokumentov v MongoDB. To je enakovredno tabeli v RDBMS.
- Dokument - Dokument je struktura, sestavljena iz parov datotek in vrednosti. To je enakovredno vrstici v RDBMS.
- Shema zbirke podatkov - Zasnova sheme je logična in vizualna arhitektura baze podatkov, zasnovana za sistem upravljanja baz podatkov (DBMS).
Kako se modeliranje podatkov razlikuje v MongoDB?
Zahvaljujoč prilagodljivosti NoSQL vam pred vstavljanjem podatkov ni treba ustvariti sheme. To je zato, ker MongoDB podpira dinamično obliko sheme baze podatkov. To odpravlja potrebo po načrtovanju sheme vnaprej. Namesto tega lahko zdaj shranjujete svoje podatke in jih prilagodite glede na svojo zbirko.
V dano polje zbirke lahko shranite različne vrste podatkov in lahko celo dodate nova polja, posodobite vrednosti polj in izbrišete obstoječa polja. Pravo prednost te prilagodljivosti boste ugotovili, če dokumente preslikate na predmet ali entiteto.
Na splošno imata zbirka in njen dokument podobno strukturo. Pravila preverjanja veljavnosti dokumentov zbirke lahko tudi "uveljavite" s preverjanjem veljavnosti sheme.
Sorodno: Podatkovni mehanizmi za razmislek za vaš naslednji projekt
Ko ustvarjate podatkovni model, poglejte, kako bo vaša aplikacija delovala z bazo podatkov. Če bo na primer obdeloval dokumente, ki so bili vstavljeni pred kratkim, je dobro, da uporabite omejene zbirke - zbirke s fiksno velikostjo, ki podpirajo visoko zmogljive operacije.
Podobno, če bo vaša aplikacija večino časa delovala z operacijami branja, lahko nastavite indekse za podporo pogostim poizvedbam in izboljšanje učinkovitosti.
Tradicionalno je eden od vidikov pri ustvarjanju podatkovnega modela, kako shraniti povezane podatke. Relacijske zbirke podatkov uporabljajo tabele za shranjevanje podatkov, kjer se za nastavitev podatkovnih razmerij uporabljajo primarni in tuji ključi.
Podobno se združevanja uporabljajo za dostop in izvajanje operacij v več tabelah. Kot nekdo, ki je prešel na MongoDB iz relacijskega DBMS, kot je SQL Server, ne boste našli združitev v MongoDB. To je zato, ker MongoDB podatke o zbirki shrani tako, da jih sklicuje ali jih vdela v zbirko.
Če torej vaš podatkovni model zajema deset tabel v relacijski bazi podatkov, je mogoče, da vam MongoDB omogoči, da ga združite v eno zbirko.
Vrste podatkovnih modelov
Zdaj, ko veste, kako modeliranje podatkov deluje v MongoDB, si oglejmo vrste podatkovnih modelov, ki jih podpira MongoDB. Običajno je to odvisno od strukture dokumenta in podatkovnih razmerij aplikacije.
Vdelani podatkovni modeli
Podatke lahko vdelate v en dokument ali strukturo v MongoDB. Imenujemo ga tudi kot normalizirani podatkovni model in izkorišča ves potencial bogatih dokumentov MongoDB. Na primer, razmislite o naslednjem primeru: imamo zbirko, študentje, ki vsebuje dokument Matt. V ta dokument smo vdelali dva dokumenta, Kontaktni podatki in razred.
{
"_id": "4aad66a4c13bb24f12gh199e",
ime: "Matt",
Kontaktni podatki: {
telefon: ”555-555-1234”
e-poštni naslov: “[email protected]”
},
ocena: {
zadeva: “CS101”
ocena: "B"
}}
Vdelava shranjuje ustrezne podrobnosti v istem dokumentu ali zapisu baze podatkov. Na ta način lahko zmanjšate število poizvedb in posodobitev, potrebnih za izvajanje običajnih operacij DB.
Kdaj naj uporabljajo vdelane podatkovne modele? Uporabne so za izboljšanje učinkovitosti bralnih operacij. Poleg tega so učinkovite za obdelavo pridobivanja podatkov enega zapisa. S tem modelom lahko z eno samo operacijo pisanja posodobite povezane podatke.
Vendar morate nekaj upoštevati: vdelava poveča velikost dokumenta po ustvarjanju. V nekaterih primerih to lahko vpliva na zmogljivost zapisovanja, zaradi naraščajoče velikosti dokumenta pa obstaja tudi možnost fragmentacije podatkov.
Nazadnje lahko z vdelanimi dokumenti komunicirate s pikčastim zapisom in jih lahkotno prečkate. Tu je sintaksa:
field.nestedField: vrednost
Za zgornji primer lahko do svojih ugnezdenih dokumentov dostopate tako, da napišete naslednjo poizvedbo:
db.students.find ({kontaktni podatki: {telefon: ”555-555-1234”, e-poštni naslov: “[email protected]”}}). pretty ()
Normalizirani podatkovni modeli (reference)
Normalizirani podatkovni modeli se uporabljajo za izdelavo modelov odnosov ena-do-mnogih in veliko-do-mnogih. Med delom z vdelanimi modeli dokumentov bodo časi, ko boste morali podatke ponoviti. Tu so reference zelo koristne - spopadajo se z odvečnostjo. Evo, kako lahko uporabimo reference za zgornji primer.
Naš en dokument smo razdelili na tri dokumente in od takrat naprej Kontaktni podatki in razred imeti ID iz Matt dokument, jih lahko pokličete po potrebi.
študent
{
_id:
uporabniško ime: "Matt"
}
Kontaktni podatki
{
_id:
Uporabniško ime:
e-naslov: “[email protected]”
telefon: ”555-555-1234”
}
razred
id:
Uporabniško ime: ,
zadeva: „CS101“,
ocena: "B"
}
Kot lahko vidite, normalizirani podatkovni modeli podatke razdelijo v več zbirk z uporabo referenc med novejšimi zbirkami. Posodobite lahko en dokument, ki bo posodobil druge zbirke. To je učinkovit način posodabljanja podatkov in se večinoma uporablja, kadar se podatki pogosto spreminjajo.
Tu so časi, ko je normaliziran podatkovni model pametnejša izbira:
- Izdelati morate velike nabore podatkov, ki sledijo določeni hierarhiji.
- Zastopati morate več odnosov mnogo do veliko.
- Vdelava bi povzročila podvajanje podatkov, ne da bi v zadostni meri koristila vaši uspešnosti branja.
Zdaj lahko podatke enostavno montirate v MongoDB
Zdaj že veste, kako se modeliranje podatkov v MongoDB razlikuje od relacijskih DBM-jev, zlasti ko gre za shemo. Spoznali ste tudi vrste podatkovnih modelov v MongoDB - de-normalizirane in normalizirane - in izvedeli, kdaj jih uporabljati.
In to je šele začetek; obstaja še veliko več o tem, kako lahko MongoDB organizira vaše podatke.
Možnost urejanja je ena najpogosteje zahtevanih funkcij Twitterja. Zakaj torej podjetje tega ne dovoli?
Preberite Naprej
- Programiranje
- zbirka podatkov
Naročite se na naše novice
Pridružite se našemu glasilu za tehnične nasvete, preglede, brezplačne e-knjige in ekskluzivne ponudbe!
Še en korak…!
Potrdite svoj e-poštni naslov v e-poštnem sporočilu, ki smo vam ga pravkar poslali.