Datu modelēšana ir visas programmatūras lietojumprogrammas vai tās sastāvdaļu vizuāla attēlošanas process, lai sazinātos par savienojumiem starp datu punktiem un struktūru. Tas ietver rūpīgu tā lietojumprogrammu un datu bāzes prasību pārskatīšanu un kā saikni starp abām attiecībā uz pamatdatu operācijām - lasīšanu, rakstīšanu un atjaunināšanu.

Stabils datu modelis tiek izveidots, novērtējot lietojumprogrammas lietošanas modeli un saskaņojot datu bāzes shēmu ar to. Tāpēc shēmas dizains veido jūsu datu modeli. Runājot par relāciju datu bāzi, nevar aizpildīt tabulas, neveidojot tabulu shēmu.

Galvenie noteikumi, kas jāzina

Pirms virzāties uz priekšu, jums jāzina dažas pamata definīcijas:

  • Kolekcija - Kolekcija ir dokumentu kopums MongoDB. Tas ir ekvivalents tabulai RDBMS.
  • Dokuments - Dokuments ir struktūra, kas sastāv no failu un vērtību pāriem. Tas ir rindas ekvivalents RDBMS.
  • Datu bāzes shēma - Shēmas dizains ir loģiska un vizuāla datubāzes arhitektūra, kas paredzēta datu bāzes pārvaldības sistēmai (DBVS).
instagram viewer

Kā datu modelēšana MongoDB atšķiras?

Pateicoties NoSQL elastībai, pirms datu ievietošanas jums nav jāizveido shēma. Tas ir tāpēc, ka MongoDB atbalsta datu bāzes shēmas dinamisko formu. Tas novērš nepieciešamību iepriekš izstrādāt savu shēmu. Tā vietā tagad varat saglabāt savus datus un veikt korekcijas atbilstoši savai kolekcijai.

Kolekcijas norādītajā laukā varat saglabāt dažādus datu tipus un pat pievienot jaunus laukus, atjaunināt lauku vērtības un izdzēst esošos laukus. Šīs elastības patieso labumu jūs atradīsit, kartējot dokumentus objektā vai entītijā.

Parasti kolekcijai un tās dokumentam ir līdzīga struktūra. Izmantojot shēmas pārbaudi, varat arī ieviest kolekcijas dokumentu validācijas kārtulas.

Saistīts: Datu bāzes motori, kas jāņem vērā jūsu nākamajam projektam

Veidojot datu modeli, pārbaudiet, kā jūsu lietojumprogramma mijiedarbosies ar datu bāzi. Piemēram, ja tā gatavojas apstrādāt dokumentus, kas ievietoti nesen, ieteicams izmantot ierobežotas kolekcijas - kolekcijas ar fiksētu izmēru, kas atbalsta augstas caurlaidspējas operācijas.

Līdzīgi, ja jūsu lietojumprogramma lielāko daļu laika darbosies ar lasīšanas operācijām, varat iestatīt indeksus, lai atbalstītu izplatītus vaicājumus un uzlabotu veiktspēju.

Tradicionāli viens no apsvērumiem, veidojot datu modeli, ir tas, kā uzglabāt saistītos datus. Relāciju datu bāzēs tiek izmantotas tabulas datu glabāšanai, kur primārās un svešās atslēgas tiek izmantotas datu attiecību iestatīšanai.

Tāpat savienojumi tiek izmantoti, lai piekļūtu vairākām tabulām un veiktu operācijas. Kā cilvēks, kurš ir pārgājis uz MongoDB no relācijas DBVS, piemēram, SQL Server, jūs neatradīsit pievienošanās MongoDB. Tas ir tāpēc, ka MongoDB glabā kolekcijas datus, vai nu atsaucoties uz datiem, vai arī iegulstot datus kolekcijā.

Tāpēc, ja jūsu datu modelim ir desmit tabulas relāciju datu bāzē, iespējams, ka MongoDB ļauj to apvienot vienā kolekcijā.

Datu modeļu veidi

Tagad, kad jūs zināt, kā datu modelēšana darbojas MongoDB, apskatīsim MongoDB atbalstītos datu modeļu veidus. Parasti tas ir atkarīgs no dokumenta struktūras un lietojumprogrammas datu attiecībām.

Iegulti datu modeļi

Datus varat iegult vienā dokumentā vai struktūrā MongoDB. To dēvē arī par nenormalizētiem datu modeļiem, un tas pilnībā izmanto MongoDB bagātīgo dokumentu potenciālu. Piemēram, apsveriet šādu piemēru: mums ir kolekcija, studenti, satur dokumentu Mets. Šajā dokumentā mēs esam ieguluši divus dokumentus, kontakta detaļas un pakāpe.

{
"_id": "4aad66a4c13bb24f12gh199e",
nosaukums: “Matt”,
kontakta detaļas: {
tālrunis: ”555-555-1234”
e-pasta adrese: “[email protected]
},
pakāpe: {
tēma: “CS101”
rezultāts: “B”
}}

Iegulšana satur būtisku informāciju tajā pašā dokumentā vai datu bāzes ierakstā. Tādā veidā jūs varat samazināt vaicājumus un atjauninājumus, kas nepieciešami, lai veiktu kopīgas DB darbības.

Kad jums vajadzētu izmantot iegultos datu modeļus? Tie ir noderīgi, lai uzlabotu lasīšanas darbību veiktspēju. Turklāt tie ir efektīvi, lai apstrādātu viena ieraksta datu izguvi. Izmantojot šo modeli, saistīto datu atjaunināšanai varat izmantot vienu rakstīšanas operāciju.

Tomēr jums ir jāpatur prātā: iegulšana palielina dokumenta izmēru pēc tā izveides. Dažos gadījumos tas var ietekmēt rakstīšanas veiktspēju, un pastāv arī datu sadrumstalotības iespēja dokumenta lieluma palielināšanās dēļ.

Visbeidzot, jūs varat mijiedarboties ar iegultiem dokumentiem, izmantojot punktu apzīmējumu, un tos viegli šķērsot. Šeit ir sintakse:

field.nestedField: vērtība

Iepriekš minētajā piemērā varat piekļūt ligzdotajiem dokumentiem, rakstot šādu vaicājumu:

db.students.find ({kontaktinformācija: {tālrunis: ”555-555-1234”, e-pasta adrese: “[email protected]”}}). diezgan ()

Normalizēti datu modeļi (atsauces)

Normalizētu datu modeļi tiek izmantoti, lai izveidotu attiecību modeļus viens pret daudziem un daudzi pret daudziem. Strādājot ar iegultiem dokumentu modeļiem, būs reizes, kad būs jāatkārto dati. Šeit noderēs atsauces - tās novērš atlaišanu. Lūk, kā mēs varam izmantot atsauces uz iepriekš minēto piemēru.

Mēs esam sadalījuši savu vienoto dokumentu trīs dokumentos un kopš tā laika kontakta detaļas un pakāpe ir ID no Mets dokumentu, varat viņiem piezvanīt, kad nepieciešams.

students
{
_id:
lietotājvārds: “Matt”
}
kontakta detaļas
{
_id:
Lietotāja ID:
e-pasts: “[email protected]
tālrunis: ”555-555-1234”
}
pakāpe
ID:
Lietotāja ID: ,
priekšmets: “CS101”,
rezultāts: “B”
}

Kā redzat, normalizētie datu modeļi datus sadala vairākās kolekcijās, izmantojot atsauces starp jaunākām kolekcijām. Varat atjaunināt vienu dokumentu, kas atjauninās citas kolekcijas. Tas ir efektīvs datu atjaunināšanas veids, un to galvenokārt izmanto, kad jūsu dati tiek bieži mainīti.

Šeit ir gadījumi, kad normālāks datu modelis ir gudrāka izvēle:

  • Jums ir jāmodelē lielas datu kopas, kas seko noteiktai hierarhijai.
  • Jums jāpārstāv vairākas attiecības no daudziem pret daudziem.
  • Iegulšana radītu datu dublēšanos, nepietiekami uzlabojot lasīšanas veiktspēju.

Tagad jūs varat viegli modelēt datus MongoDB

Tagad jūs zināt, kā datu modelēšana MongoDB atšķiras no relāciju DBM, it īpaši, ja runa ir par shēmu. Jūs esat arī uzzinājis par MongoDB datu modeļu veidiem - de-normalizētiem un normalizētiem - un uzzinājāt, kad tos izmantot.

Un tas ir tikai sākums; tur ir daudz vairāk uzzināt par to, kā MongoDB var kārtot jūsu datus.

E-pasts
Kāpēc čivināt neļaus jums rediģēt savus tvītus

Rediģēšanas opcija ir viena no visbiežāk pieprasītajām Twitter funkcijām. Kāpēc tad uzņēmums to neatļaus?

Lasiet Tālāk

Saistītās tēmas
  • Programmēšana
  • datu bāzē
Par autoru
Usmans Ghani (Publicēti 1 raksti)Vairāk no Usman Ghani

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam par tehniskiem padomiem, atsauksmēm, bezmaksas e-grāmatām un ekskluzīviem piedāvājumiem!

Vēl viens solis !!!

Lūdzu, apstipriniet savu e-pasta adresi e-pastā, kuru tikko nosūtījām.

.