Andmete modelleerimine on kogu tarkvararakenduse või selle komponentide visuaalse esituse väljatöötamine andmepunktide ja struktuuri vaheliste seoste edastamiseks. See hõlmab hoolikat rakenduse ja andmebaasi nõuete ülevaatamist ning nende kahe vahelist seost põhiandmetoimingute osas - lugemine, kirjutamine ja värskendamine.

Stabiilne andmemudel luuakse, hinnates rakenduse kasutusmustrit ja joondades sellega andmebaasiskeemi. Seetõttu kujundab skeemi kujundus teie andmemudeli. Seoses relatsiooniandmebaasiga ei saa te oma tabeleid täita ilma tabeliskeemi loomata.

Põhiterminid, mida teada

Enne edasiliikumist on siin mõned põhimõisted, mida peate teadma:

  • Kollektsioon - Kollektsioon on dokumentide kogum MongoDB-s. See vastab RDBMS-i tabelile.
  • Dokument - Dokument on struktuur, mis koosneb faili- ja väärtuspaaridest. See vastab reale RDBMS-is.
  • Andmebaasiskeem - Skeemikujundus on andmebaasi haldussüsteemi (DBMS) jaoks loodud andmebaasi loogiline ja visuaalne arhitektuur.

Kuidas on andmete modelleerimine MongoDB-s erinev?

Tänu NoSQL-i paindlikkusele ei pea te enne andmete sisestamist skeemi looma. Seda seetõttu, et MongoDB toetab andmebaasiskeemi dünaamilist vormi. See välistab vajaduse skeemi ette kujundada. Selle asemel saate nüüd oma andmeid salvestada ja kohandusi vastavalt oma kogule.

Saate kollektsiooni antud väljale salvestada erinevaid andmetüüpe ja saate isegi lisada uusi välju, värskendada väljade väärtusi ja kustutada olemasolevaid väljad. Selle paindlikkuse tegeliku eelise leiate, kui kaardistate dokumendid objektile või üksusele.

Üldiselt järgib kogu ja selle dokument sarnast struktuuri. Skeemi valideerimise abil saate ka oma kollektsiooni dokumentide valideerimisreeglid jõustada.

Seotud: Andmebaasimootorid, mida järgmise projekti puhul kaaluda

Andmemudeli loomisel uurige, kuidas teie rakendus andmebaasiga suhtleb. Näiteks kui hakatakse töötlema hiljuti sisestatud dokumente, on mõistlik kasutada piirdega kollektsioone - kindla suurusega kollektsioone, mis toetavad suure jõudlusega toiminguid.

Samamoodi, kui teie rakendus töötab enamasti lugemisoperatsioonidega, saate tavaliste päringute toetamiseks ja jõudluse parandamiseks määrata indeksid.

Traditsiooniliselt on andmemudeli loomisel üks kaalutlustest seotud andmete salvestamine. Relatsioonandmebaasid kasutavad tabeleid andmete salvestamiseks, kus andmesuhete määramiseks kasutatakse esmaseid ja võõraid võtmeid.

Samamoodi kasutatakse liitumisi mitme tabeli kaudu toimingutele juurde pääsemiseks ja nende käivitamiseks. Nagu keegi, kes on üle läinud relatsioonilisest DBMS-ist, näiteks SQL Serverist, MongoDB-le, ei leia te MongoDB-st liitumisi. Selle põhjuseks on asjaolu, et MongoDB salvestab kogu andmeid, viidates neile andmetele või kinnistades need kogusse.

Seega, kui teie andmemudel võtab relatsioonide andmebaasi kümme tabelit, on võimalik, et MongoDB võimaldab teil selle koondada ühte kollektsiooni.

Andmemudelite tüübid

Nüüd, kui teate, kuidas andmete modelleerimine MongoDB-s töötab, vaatame läbi MongoDB toetatud andmemudelite tüübid. Tavaliselt sõltub see teie dokumendi struktuurist ja teie rakenduse andmesuhetest.

Manustatud andmemudelid

MongoDB-s saate andmeid manustada ühte dokumenti või struktuuri. Seda nimetatakse ka de-normaliseeritud andmemudeliteks, mis kasutab MongoDB rikaste dokumentide kogu potentsiaali. Vaatleme näiteks järgmist näidet: meil on kogu, õpilased, mis sisaldab dokumenti Matt. Selles dokumendis oleme põiminud kaks dokumenti, kontaktandmed ja hinne.

{
"_id": "4aad66a4c13bb24f12gh199e",
nimi: "Matt",
kontaktandmed: {
telefon: ”555-555-1234”
e-posti aadress: “[email protected]
},
hinne: {
teema: „CS101”
skoor: “B”
}}

Manustamine sisaldab asjakohaseid üksikasju samas dokumendis või andmebaasi kirjes. Nii saate minimeerida tavaliste DB-toimingute sooritamiseks vajalikke päringuid ja värskendusi.

Millal peaksite kasutama manustatud andmemudeleid? Need on kasulikud lugemisoperatsioonide jõudluse parandamiseks. Lisaks on need efektiivsed ühe kirje andmete otsimise töötlemiseks. Selle mudeli puhul saate seotud andmete värskendamiseks kasutada ühte kirjutamistoimingut.

Siiski peate meeles pidama midagi: manustamine suurendab dokumendi loomist pärast selle loomist. Mõnel juhul võib see mõjutada kirjutamise jõudlust ja laieneva dokumendi suuruse tõttu on ka andmete killustatuse võimalus.

Lõpuks saate punktimärgistuse abil suhelda manustatud dokumentidega ja neid hõlpsalt läbida. Siin on süntaks:

field.nestedField: väärtus

Ülaltoodud näite jaoks pääsete juurde oma pesastatud dokumentidele, kirjutades järgmise päringu:

db.students.find ({kontaktandmed: {telefon: ”555-555-1234”, e-posti aadress: “[email protected]”}}). ilus ()

Normaliseeritud andmemudelid (viited)

Normaliseeritud andmemudeleid kasutatakse üks-paljudele ja paljud-paljudele suhtemudelite loomiseks. Sisseehitatud dokumendimudelitega töötades tuleb korduvalt andmeid korrata. Siit tulevad viited kasuks - need lahendavad koondamise. Siit saate teada, kuidas ülaltoodud näites viiteid kasutada.

Oleme oma ühtse dokumendi jaganud kolmeks dokumendiks ja sellest alates kontaktandmed ja hinne on ID pärit Matt dokumendi, saate neile helistada, kui vaja.

õpilane
{
_id:
kasutajanimi: “Matt”
}
kontaktandmed
{
_id:
kasutaja ID:
e-post: “[email protected]
telefon: ”555-555-1234”
}
hinne
id:
kasutaja ID: ,
teema: „CS101”,
skoor: “B”
}

Nagu näete, jagavad normaliseeritud andmemudelid andmed mitmeks kogumiks, kasutades viiteid uuemate kogude vahel. Saate värskendada ühte dokumenti, mis värskendab ka teisi kogusid. See on tõhus viis andmete värskendamiseks ja seda kasutatakse enamasti siis, kui teie andmeid muudetakse sageli.

Siin on ajad, kui targem valik on normaliseeritud andmemudel:

  • Peate modelleerima suuri andmekogumeid, mis järgivad teatud hierarhiat.
  • Peate esindama mitut paljudest paljudesse suhet.
  • Manustamine põhjustaks andmete dubleerimist, ilma et teie lugemisvõime oleks sellest piisaval määral kasulik.

Nüüd saate andmeid hõlpsalt MongoDB-s modelleerida

Nüüdseks teate, kuidas andmete modelleerimine MongoDB-s erineb relatsioonilistest DBM-idest, eriti kui tegemist on skeemiga. Samuti olete tutvunud MongoDB-s olevate andmemudelite tüüpidega - de-normaliseeritud ja normaliseeritud - ning õppinud, millal neid kasutada.

Ja see on alles algus; selle kohta, kuidas MongoDB saab teie andmeid korraldada, on palju muud õppida.

E-post
Miks Twitter ei lase teil oma säutse redigeerida

Redigeerimisvalik on üks kõige sagedamini nõutavaid Twitteri funktsioone. Miks siis ettevõte seda ei luba?

Loe edasi

Seotud teemad
  • Programmeerimine
  • andmebaasi
Autori kohta
Usman Ghani (1 artiklit on avaldatud)Veel Usman Ghanilt

Telli meie uudiskiri

Liituge meie uudiskirjaga, kus leiate tehnilisi näpunäiteid, ülevaateid, tasuta e-raamatuid ja eksklusiivseid pakkumisi!

Veel üks samm !!!

Palun kinnitage oma e-posti aadress meilis, mille me just saatsime.

.