Dátové modelovanie je proces vývoja vizuálnej reprezentácie buď celej softvérovej aplikácie alebo jej komponentov na komunikáciu spojení medzi dátovými bodmi a štruktúrou. Zahŕňa to dôkladné prehodnotenie jeho aplikačných a databázových požiadaviek a spojenia medzi nimi, ktoré sa týkajú základných operácií s údajmi - čítania, zápisu a aktualizácie.
Stabilný dátový model sa vytvorí vyhodnotením vzoru používania aplikácie a zosúladením s ním databázovej schémy. Návrh schémy preto formuje váš dátový model. Pokiaľ ide o relačnú databázu, nemôžete vyplniť svoje tabuľky bez vytvorenia schémy tabuľky.
Kľúčové pojmy, ktoré treba poznať
Predtým, ako sa posuniete vpred, musíte vedieť niekoľko základných definícií:
- Zbierka - Zbierka je sada dokumentov v MongoDB. Je to ekvivalent tabuľky v RDBMS.
- Dokument - Dokument je štruktúra pozostávajúca z dvojice súborov a hodnôt. Je to ekvivalent riadku v RDBMS.
- Schéma databázy - Návrh schémy je logická a vizuálna architektúra databázy navrhnutej pre systém správy databáz (DBMS).
Ako sa líši dátové modelovanie v MongoDB?
Vďaka flexibilite NoSQL nemusíte pred vložením údajov vytvárať schému. Je to preto, že MongoDB podporuje dynamickú formu databázovej schémy. To eliminuje potrebu navrhnúť vašu schému vopred. Namiesto toho teraz môžete ukladať svoje údaje a vykonávať úpravy podľa svojej zbierky.
V danom poli kolekcie môžete ukladať rôzne typy údajov a môžete dokonca pridávať nové polia, aktualizovať hodnoty polí a odstraňovať existujúce polia. Skutočnú výhodu tejto flexibility nájdete, keď mapujete dokumenty na objekt alebo entitu.
Zbierka a jej dokument majú vo všeobecnosti podobnú štruktúru. Pravidlá overovania dokumentov svojej zbierky môžete tiež „vynútiť“ pomocou overenia schémy.
Súvisiace: Databázové motory, ktoré je potrebné zvážiť pre váš ďalší projekt
Pri vytváraní dátového modelu sa pozrite na to, ako bude vaša aplikácia interagovať s databázou. Napríklad, ak sa chystáte spracovať dokumenty, ktoré boli vložené nedávno, je dobré použiť limitované kolekcie - kolekcie s pevnou veľkosťou, ktoré podporujú vysokovýkonné operácie.
Podobne, ak bude vaša aplikácia väčšinu času pracovať s operáciami čítania, môžete nastaviť indexy na podporu bežných dotazov a zvýšenie výkonu.
Jedným z aspektov pri vytváraní dátového modelu je tradične spôsob ukladania súvisiacich údajov. Relačné databázy používajú tabuľky na ukladanie dát, kde sa primárne a cudzie kľúče používajú na nastavenie dátových vzťahov.
Podobne sa spojenia používajú na prístup a spustenie operácií na viacerých tabuľkách. Ako niekto, kto prešiel na MongoDB z relačného DBMS, ako je napríklad SQL Server, nenájdete spojenia v MongoDB. Je to preto, že MongoDB ukladá údaje o zbierke buď odkazom na údaje, alebo ich vkladá do zbierky.
Preto ak váš dátový model obsahuje desať tabuliek v relačnej databáze, je možné, že vám ich MongoDB umožní zlúčiť do jednej kolekcie.
Typy dátových modelov
Teraz, keď viete, ako funguje dátové modelovanie v MongoDB, prejdime si typy dátových modelov podporovaných MongoDB. Zvyčajne to závisí od štruktúry dokumentu a dátových vzťahov vašej aplikácie.
Vložené dátové modely
Môžete vložiť údaje do jedného dokumentu alebo štruktúry v MongoDB. Označuje sa tiež ako de-normalizované dátové modely a využíva celý potenciál bohatých dokumentov MongoDB. Zvážte napríklad tento príklad: máme zbierku, študenti, obsahujúci dokument Matt. V tomto dokumente sme vložili dva dokumenty, kontaktné údaje a stupeň.
{
"_id": "4aad66a4c13bb24f12gh199e",
meno: „Matt“,
kontaktné údaje: {
telefón: „555-555-1234“
e-mailová adresa: “[email protected]”
},
známka: {
predmet: „CS101“
skóre: „B“
}}
Vloženie uloží príslušné podrobnosti do toho istého dokumentu alebo záznamu v databáze. Týmto spôsobom môžete minimalizovať dotazy a aktualizácie potrebné na vykonávanie bežných operácií databázy.
Kedy by ste mali používať vložené dátové modely? Sú užitočné na zlepšenie výkonu operácií čítania. Okrem toho sú účinné pri spracovaní vyhľadávania údajov z jedného záznamu. S týmto modelom môžete na aktualizáciu súvisiacich údajov použiť jednu operáciu zápisu.
Je však potrebné pamätať na niečo: vkladanie zvyšuje veľkosť dokumentu po jeho vytvorení. V niektorých prípadoch to môže ovplyvniť výkon zápisu a existuje tiež možnosť fragmentácie údajov z dôvodu zväčšenia veľkosti dokumentu.
Na záver môžete s vloženými dokumentmi interagovať pomocou bodkovej notácie a ľahko ich prechádzať. Tu je syntax:
pole.nestedField: hodnota
Pre vyššie uvedený príklad môžete získať prístup k svojim vnoreným dokumentom napísaním nasledujúceho dotazu:
db.students.find ({contact details: {phone: ”555-555-1234”, email address: “[email protected]”}}). pretty ()
Normalizované dátové modely (referencie)
Normalizované dátové modely sa používajú na zostavenie vzťahových modelov typu one-to-many and many-to-many. Pri práci s vloženými modelmi dokumentov bude niekedy potrebné opakovať údaje. Tu prídu vhod referencie - riešia nadbytočnosť. Tu je príklad, ako môžeme použiť odkazy na vyššie uvedený príklad.
Náš jednotný dokument sme rozdelili na tri dokumenty a odvtedy kontaktné údaje a stupeň mať ID z Matt v prípade potreby im môžete zavolať.
študent
{
_id:
používateľské meno: „Matt“
}
kontaktné údaje
{
_id:
ID používateľa:
e-mail: „[email protected]“
telefón: „555-555-1234“
}
stupeň
id:
ID používateľa: ,
predmet: „CS101“,
skóre: „B“
}
Ako vidíte, normalizované dátové modely rozdeľujú údaje do viacerých kolekcií pomocou odkazov medzi novšími kolekciami. Môžete aktualizovať jeden dokument, ktorý aktualizuje ďalšie zbierky. Jedná sa o efektívny spôsob aktualizácie údajov a používa sa väčšinou vtedy, keď vaše údaje prechádzajú častými zmenami.
Tu sú časy, keď je múdrejšou voľbou normalizovaný dátový model:
- Musíte modelovať veľké súbory údajov, ktoré sledujú určitú hierarchiu.
- Musíte reprezentovať viac vzťahov medzi mnohými.
- Vloženie by spôsobilo duplikáciu údajov bez toho, aby v dostatočnej miere malo prínos pre váš výkon pri čítaní.
Teraz môžete ľahko modelovať údaje v MongoDB
Teraz už viete, ako sa modelovanie údajov v MongoDB líši od relačných DBM, najmä pokiaľ ide o schému. Dozvedeli ste sa tiež o typoch dátových modelov v MongoDB - normalizovaných a normalizovaných - a dozvedeli ste sa, kedy ich použiť.
A to je len začiatok; je tu oveľa viac informácií o tom, ako môže MongoDB usporiadať vaše údaje.
Možnosť úprav je jednou z najčastejšie požadovaných funkcií služby Twitter. Prečo to teda spoločnosť nepovolí?
Prečítajte si Ďalej
- Programovanie
- databázy
Prihlásiť sa ku odberu noviniek
Pripojte sa k nášmu bulletinu s technickými tipmi, recenziami, bezplatnými elektronickými knihami a exkluzívnymi ponukami!
Ešte jeden krok…!
V e-maile, ktorý sme vám práve poslali, potvrďte svoju e-mailovú adresu.