Az adatmodellezés az egész szoftveralkalmazás vagy annak alkotóelemeinek vizuális ábrázolásának kidolgozása az adatpontok és a struktúra közötti kapcsolatok kommunikálása céljából. Ez magában foglalja az alkalmazás és az adatbázis követelményeinek aprólékos felülvizsgálatát, valamint a kettő közötti kapcsolatot az alapvető adatműveletekkel kapcsolatban - olvasás, írás és frissítés.

Stabil adatmodell jön létre az alkalmazás használati mintájának felmérésével és az adatbázis-séma hozzá igazításával. Ezért a séma kialakítása alakítja az adatmodellt. Ha egy relációs adatbázisról van szó, akkor nem töltheti fel a tábláit a táblaséma létrehozása nélkül.

Kulcsfontosságú tudnivalók

Mielőtt továbblépne, íme néhány alapvető definíció, amelyet ismernie kell:

  • Gyűjtemény - A gyűjtemény a MongoDB dokumentumkészlete. Ez egy RDBMS-ben szereplő táblázat megfelelője.
  • Dokumentum - A dokumentum egy fájl- és értékpárokból álló szerkezet. Ez egyenértékű egy sorral az RDBMS-ben.
  • Adatbázis-séma - A séma kialakítása az adatbázis logikai és vizuális architektúrája, amelyet egy adatbázis-kezelő rendszerhez (DBMS) terveztek.
    instagram viewer

Miben különbözik az adatmodellezés a MongoDB-ben?

A NoSQL rugalmasságának köszönhetően az adatbeillesztés előtt nem kell sémát létrehoznia. Ez azért van, mert a MongoDB támogatja az adatbázis-sémák dinamikus formáját. Ez feleslegessé teszi a séma előzetes megtervezését. Ehelyett most tárolhatja adatait és elvégezheti a gyűjtemény szerinti beállításokat.

Különböző adattípusokat tárolhat a gyűjtemény adott mezőjében, sőt új mezőket is felvehet, frissítheti a mezőértékeket és törölheti a meglévő mezőket. A rugalmasság valódi előnyét akkor fogja megtalálni, amikor a dokumentumokat objektumhoz vagy entitáshoz hozzárendeli.

Általában egy gyűjtemény és dokumentuma hasonló felépítést követ. A sémaellenőrzéssel „érvényesítheti” a gyűjtemény dokumentumainak érvényesítési szabályait.

Összefüggő: Adatbázis-motorok, amelyeket figyelembe kell venni a következő projekt során

Adatmodell létrehozásakor vizsgálja meg, hogy az alkalmazás hogyan fog együttműködni az adatbázissal. Például, ha nemrégiben beillesztett dokumentumokat fog feldolgozni, akkor célszerű korlátozott méretű gyűjteményeket - rögzített méretű gyűjteményeket használni, amelyek támogatják a nagy áteresztőképességű műveleteket.

Hasonlóképpen, ha az alkalmazás legtöbbször olvasási műveletekkel fog működni, akkor indexeket állíthat be a gyakori lekérdezések támogatására és a teljesítmény növelésére.

Hagyományosan az adatmodell létrehozásának egyik szempontja a kapcsolódó adatok tárolása. A relációs adatbázisok táblákat használnak adatok tárolására, ahol elsődleges és idegen kulcsokat használnak az adatkapcsolatok beállításához.

Hasonlóképpen, a csatlakozásokat használják a műveletek eléréséhez és futtatásához több táblán. Mint valaki, aki relációs DBMS-ről, például SQL Serverről váltott MongoDB-re, nem fogja megtalálni a csatlakozásokat a MongoDB-ben. Ennek oka, hogy a MongoDB úgy tárolja a gyűjtemény adatait, hogy vagy hivatkozik az adatokra, vagy beágyazza az adatokat egy gyűjteménybe.

Ezért, ha az adatmodell tíz táblázatot vesz fel egy relációs adatbázisban, akkor lehetséges, hogy a MongoDB lehetővé teszi, hogy egyetlen gyűjteménybe tömörítse.

Az adatmodellek típusai

Most, hogy tudja, hogyan működik az adatmodellezés a MongoDB-ben, nézzük át a MongoDB által támogatott adatmodellek típusait. Általában a dokumentum felépítésétől és az alkalmazás adatkapcsolatától függ.

Beágyazott adatmodellek

Az adatokat beágyazhatja egyetlen dokumentumba vagy struktúrába a MongoDB-ben. De normalizált adatmodellekként is emlegetik, kihasználja a MongoDB gazdag dokumentumaiban rejlő lehetőségeket. Vegyük például a következő példát: van egy gyűjteményünk, diákok, dokumentumot tartalmaz Matt. Ebben a dokumentumban két dokumentumot ágyaztunk be, elérhetőségeit és fokozat.

{
"_id": "4aad66a4c13bb24f12gh199e",
név: „Matt”,
elérhetőségeit: {
telefon: ”555-555-1234”
e-mail cím: “[email protected]
},
fokozat: {
tárgy: „CS101”
pontszám: „B”
}}

A beágyazás a vonatkozó részleteket ugyanabban a dokumentumban vagy adatbázis-rekordban tárolja. Így minimalizálhatja a közös DB műveletek végrehajtásához szükséges lekérdezéseket és frissítéseket.

Mikor érdemes beágyazott adatmodelleket használni? Hasznosak az olvasási műveletek teljesítményének javítására. Ezenkívül hatékonyak egyetlen rekord adat-visszakeresésének feldolgozásában. Ennél a modellnél egyetlen írási művelettel frissítheti a kapcsolódó adatokat.

Van azonban valami, amelyet szem előtt kell tartania: a beágyazás megnöveli a dokumentum méretét a létrehozása után. Bizonyos esetekben ez befolyásolhatja az írási teljesítményt, és a bővülő dokumentumméret miatt lehetőség van az adatok töredezettségére is.

Végül a beillesztett dokumentumokkal interakcióba léphet a dot jelölés használatával, és könnyedén bejárhatja azokat. Itt van a szintaxis:

field.nestedField: érték

A fenti példához a beágyazott dokumentumokat a következő lekérdezés megírásával érheti el:

db.students.find ({elérhetőségek: {telefon: ”555-555-1234”, e-mail cím: “[email protected]”}}). csinos ()

Normalizált adatmodellek (hivatkozások)

Normalizált adatmodelleket használnak az egy a sokhoz és a sok a sokhoz viszony modellek felépítéséhez. A beágyazott dokumentum modellekkel való munka során előfordul, hogy meg kell ismételnie az adatokat. Itt jönnek jól a referenciák - kezelik a redundanciát. Így használhatjuk a fenti példa referenciáit.

Három dokumentumra osztottuk egységes dokumentumunkat, és azóta elérhetőségeit és fokozat rendelkezik az azonosítóval Matt dokumentumot, szükség esetén felhívhatja őket.

diák
{
_id:
felhasználónév: „Matt”
}
elérhetőségeit
{
_id:
Felhasználói azonosító:
e-mail: “[email protected]
telefon: ”555-555-1234”
}
fokozat
id:
Felhasználói azonosító: ,
tárgy: „CS101”,
pontszám: „B”
}

Amint láthatja, a normalizált adatmodellek több gyűjteményre osztják az adatokat az újabb gyűjtemények közötti hivatkozások felhasználásával. Frissíthet egyetlen dokumentumot, amely más gyűjteményeket is frissít. Ez az adatok frissítésének hatékony módja, és leginkább akkor használják, ha az adatok gyakran változnak.

Itt vannak azok az esetek, amikor a normalizált adatmodell a bölcsebb választás:

  • Nagy adatkészleteket kell modelleznie, amelyek egy bizonyos hierarchiát követnek.
  • Több, sok-sok kapcsolatot kell képviselnie.
  • A beágyazás megkettőzné az adatokat, anélkül, hogy megfelelő mértékben javítaná az olvasási teljesítményt.

Most egyszerűen modellezheti az adatokat a MongoDB-ben

Mostanra már tudja, miben különbözik az adatmodellezés a MongoDB-ben a relációs DBM-ektől, különösen, ha a sémáról van szó. Megismerte a MongoDB adatmodelljeinek típusait is - de-normalizált és normalizált - és megtanulta, hogy mikor kell azokat használni.

És ez még csak a kezdet; sokkal többet kell megtudni arról, hogy a MongoDB hogyan szervezheti az adatait.

Email
Miért nem engedi a Twitter, hogy szerkessze a tweeteit?

A szerkesztési lehetőség az egyik leggyakrabban kért Twitter szolgáltatás. Akkor miért nem engedi meg a cég?

Olvassa el a következőt

Kapcsolódó témák
  • Programozás
  • adatbázis
A szerzőről
Usman Ghani (1 cikk megjelent)Több Usman Ghanitól

Iratkozzon fel hírlevelünkre

Csatlakozzon hírlevelünkhöz, amely műszaki tippeket, véleményeket, ingyenes e-könyveket és exkluzív ajánlatokat tartalmaz!

Még egy lépés…!

Kérjük, erősítse meg e-mail címét az imént elküldött e-mailben.

.