Datové modelování je proces vývoje vizuální reprezentace celé softwarové aplikace nebo jejích komponent za účelem komunikace spojení mezi datovými body a strukturou. Zahrnuje to pečlivé přezkoumání jeho aplikačních a databázových požadavků a spojení mezi těmito dvěma, které se týkají základních datových operací - čtení, zápisu a aktualizace.

Stabilní datový model se vytvoří na základě vyhodnocení vzorce použití aplikace a zarovnání schématu databáze s ním. Návrh schématu tedy formuje váš datový model. Pokud jde o relační databázi, nemůžete naplnit své tabulky bez vytvoření schématu tabulky.

Klíčové pojmy, které je třeba znát

Než budete pokračovat, zde je několik základních definic, které musíte znát:

  • Sbírka - Kolekce je sada dokumentů v MongoDB. Je to ekvivalent tabulky v RDBMS.
  • Dokument - Dokument je struktura složená z dvojic souborů a hodnot. Je to ekvivalent řádku v RDBMS.
  • Schéma databáze - Návrh schématu je logická a vizuální architektura databáze určená pro systém správy databází (DBMS).
instagram viewer

Jak se liší modelování dat v MongoDB?

Díky flexibilitě NoSQL nemusíte před vložením dat vytvářet schéma. Je to proto, že MongoDB podporuje dynamickou formu schématu databáze. To eliminuje potřebu navrhovat vaše schéma předem. Místo toho nyní můžete ukládat svá data a provádět úpravy podle vaší sbírky.

V daném poli kolekce můžete ukládat různé datové typy a můžete dokonce přidávat nová pole, aktualizovat hodnoty polí a mazat stávající pole. Skutečnou výhodu této flexibility najdete, když mapujete dokumenty na objekt nebo entitu.

Obecně kolekce a její dokument mají podobnou strukturu. Pravidla ověření pro dokumenty své sbírky můžete také „vynutit“ pomocí ověření schématu.

Příbuzný: Databázové motory, které je třeba zvážit pro váš další projekt

Při vytváření datového modelu se podívejte, jak bude vaše aplikace interagovat s databází. Například pokud se chystáte zpracovat dokumenty, které byly vloženy nedávno, je vhodné použít limitované kolekce - kolekce s pevnou velikostí, které podporují operace s vysokou propustností.

Podobně, pokud vaše aplikace bude většinu času pracovat s operacemi čtení, můžete nastavit indexy pro podporu běžných dotazů a zvýšení výkonu.

Jednou z úvah při vytváření datového modelu je tradičně způsob ukládání souvisejících dat. Relační databáze používají tabulky k ukládání dat, kde se primární a cizí klíče používají k nastavení datových vztahů.

Podobně se spojení používají pro přístup a spouštění operací přes více tabulek. Jako někdo, kdo přešel na MongoDB z relačního DBMS, jako je SQL Server, nenajdete spojení v MongoDB. To proto, že MongoDB ukládá data sběru buď odkazem na data, nebo vložením dat do kolekce.

Pokud tedy váš datový model přijímá deset tabulek v relační databázi, je možné, že vám MongoDB umožní konsolidovat jej do jedné kolekce.

Typy datových modelů

Nyní, když víte, jak funguje datové modelování v MongoDB, pojďme se projít typy datových modelů podporovaných MongoDB. Obvykle to závisí na struktuře dokumentu a datových vztazích vaší aplikace.

Integrované datové modely

V MongoDB můžete vložit data do jednoho dokumentu nebo struktury. Označuje se také jako de-normalizované datové modely a využívá plný potenciál bohatých dokumentů MongoDB. Zvažte například následující příklad: máme kolekci, studenti, obsahující dokument Matt. V tomto dokumentu jsme vložili dva dokumenty, kontaktní údaje a školní známka.

{
"_id": "4aad66a4c13bb24f12gh199e",
jméno: „Matt“,
kontaktní údaje: {
telefon: „555-555-1234“
e-mailová adresa: „[email protected]
},
školní známka: {
předmět: „CS101“
skóre: „B“
}}

Vkládání ukládá relevantní podrobnosti do stejného dokumentu nebo záznamu databáze. Tímto způsobem můžete minimalizovat dotazy a aktualizace potřebné k provádění běžných operací databáze.

Kdy byste měli používat vložené datové modely? Jsou užitečné ke zlepšení výkonu operací čtení. Kromě toho jsou účinné pro zpracování načítání dat jednoho záznamu. U tohoto modelu můžete k aktualizaci souvisejících dat použít jedinou operaci zápisu.

Je však třeba mít na paměti: vložení zvětší velikost dokumentu po jeho vytvoření. V některých případech to může ovlivnit výkon zápisu a existuje také možnost fragmentace dat kvůli zvětšující se velikosti dokumentu.

Nakonec můžete s vloženými dokumenty interagovat pomocí tečkové notace a snadno je procházet. Zde je syntaxe:

field.nestedField: hodnota

Pro výše uvedený příklad můžete získat přístup k vnořeným dokumentům napsáním následujícího dotazu:

db.students.find ({contact details: {phone: ”555-555-1234”, email address: “[email protected]”}}). pretty ()

Normalizované datové modely (odkazy)

Normalizované datové modely se používají k sestavení modelů vztahů jedna k mnoha a mnoho k mnoha. Při práci s vloženými modely dokumentů bude někdy nutné opakovat data. To je místo, kde se reference hodí - řeší nadbytečnost. Zde je ukázka, jak můžeme použít odkazy pro výše uvedený příklad.

Náš jediný dokument jsme rozdělili na tři dokumenty a od té doby kontaktní údaje a školní známka mít ID od Matt můžete jim v případě potřeby zavolat.

student
{
_id:
uživatelské jméno: „Matt“
}
kontaktní údaje
{
_id:
uživatelské ID:
e-mail: „[email protected]
telefon: „555-555-1234“
}
školní známka
id:
uživatelské ID: ,
předmět: „CS101“,
skóre: „B“
}

Jak vidíte, normalizované datové modely rozdělují data do více kolekcí pomocí odkazů mezi novějšími kolekcemi. Můžete aktualizovat jeden dokument, který aktualizuje další kolekce. Jedná se o efektivní způsob aktualizace dat a většinou se používá, když vaše data procházejí častými změnami.

Zde jsou časy, kdy je normalizovaný datový model moudřejší volbou:

  • Musíte modelovat velké datové sady, které sledují určitou hierarchii.
  • Musíte představovat více vztahů mnoho k mnoha.
  • Vložení by způsobilo duplikaci dat, aniž by v dostatečné míře prospělo vašemu čtenému výkonu.

Nyní můžete snadno modelovat data v MongoDB

Od této chvíle víte, jak se modelování dat v MongoDB liší od relačních DBM, zejména pokud jde o schéma. Také jste se dozvěděli o typech datových modelů v MongoDB - de-normalizovaných a normalizovaných - a zjistili jste, kdy je použít.

A to je jen začátek; je toho mnohem víc, co se dozvíte o tom, jak může MongoDB organizovat vaše data.

E-mailem
Proč vám Twitter nedovolí upravovat své tweety

Možnost úprav je jednou z nejčastěji požadovaných funkcí Twitteru. Proč to tedy společnost nedovolí?

Přečtěte si další

Související témata
  • Programování
  • databáze
O autorovi
Usman Ghani (1 Publikované články)Více od Usmana Ghaniho

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji s technickými tipy, recenzemi, bezplatnými elektronickými knihami a exkluzivními nabídkami!

Ještě jeden krok…!

V e-mailu, který jsme vám právě poslali, potvrďte svou e-mailovou adresu.

.