Моделирање података је процес развијања визуелног приказа било целокупне софтверске апликације или њених компоненти за комуникацију веза између тачака података и структуре. Укључује прецизан преглед захтева за применом и базом података и као везу између њих две у вези са основним операцијама података - читањем, писањем и ажурирањем.

Стабилан модел података креира се проценом узорка употребе апликације и поравнавањем шеме базе података са њим. Стога дизајн шеме обликује ваш модел података. Када је реч о релационој бази података, не можете попунити табеле без креирања шеме табеле.

Кључни појмови које треба знати

Пре него што кренете напред, ево неколико основних дефиниција које морате знати:

  • Колекција - Колекција је скуп докумената у МонгоДБ. То је еквивалент табеле у РДБМС.
  • Документ - Документ је структура која се састоји од парова датотека и вредности. То је еквивалент реда у РДБМС.
  • Шема базе података - Дизајн шеме је логичка и визуелна архитектура базе података дизајнирана за систем управљања базама података (ДБМС).

Како се моделирање података разликује у МонгоДБ-у?

Захваљујући флексибилности НоСКЛ-а, не морате да креирате шему пре уметања података. То је зато што МонгоДБ подржава динамички облик шеме базе података. Ово елиминише потребу за дизајнирањем шеме унапред. Уместо тога, сада можете да складиштите податке и извршите прилагођавања у складу са збирком.

У задато поље колекције можете да сместите различите типове података, па чак можете и да додате нова поља, ажурирате вредности поља и избришете постојећа поља. Истинску корист од ове флексибилности наћи ћете када мапирате документе у објекат или ентитет.

Генерално, збирка и њен документ имају сличну структуру. Такође можете да „примените“ правила за проверу ваљаности докумената своје колекције помоћу провере шеме.

Повезан: Мотори базе података за разматрање за ваш следећи пројекат

Када креирате модел података, погледајте како ће ваша апликација комуницирати с базом података. На пример, ако ће обрадити документе који су недавно уметнути, добра је идеја да се користе ограничене колекције - колекције фиксне величине које подржавају велике проточне операције.

Слично томе, ако ће ваша апликација већину времена радити са операцијама читања, можете поставити индексе да подржавају уобичајене упите и побољшавају перформансе.

Традиционално, једно од разматрања при креирању модела података је како чувати повезане податке. Релационе базе података користе табеле за чување података, где се примарни и страни кључеви користе за постављање односа података.

Слично томе, удруживања се користе за приступ и покретање операција преко више табела. Као неко ко је прешао на МонгоДБ из релационог ДБМС-а, као што је СКЛ Сервер, нећете наћи придруживања у МонгоДБ-у. То је зато што МонгоДБ складишти податке о колекцији или референцирањем података или уграђивањем података у колекцију.

Стога, ако ваш модел података заузима десет табела у релационој бази података, могуће је да вам МонгоДБ омогућава да га обједините у једној збирци.

Врсте модела података

Сад кад знате како моделирање података функционише у МонгоДБ, прођимо кроз типове модела података које подржава МонгоДБ. Обично то зависи од структуре документа и односа података ваше апликације.

Уграђени модели података

Можете да уградите податке у један документ или структуру у МонгоДБ. Такође се назива денормализованим моделима података, он користи пуни потенцијал богатих МонгоДБ докумената. На пример, узмите у обзир следећи пример: имамо колекцију, студенти, који садржи документ Матт. У овај документ уградили смо два документа, контакт подаци и разред.

{
"_ид": "4аад66а4ц13бб24ф12гх199е",
име: „Матт“,
контакт подаци: {
телефон: ”555-555-1234”
адреса е-поште: „абц123@гмаил.цом“
},
оцена: {
тема: „ЦС101“
оцена: „Б“
}}

Уграђивање чува релевантне детаље у истом документу или запису базе података. На овај начин можете минимизирати упите и исправке потребне за обављање уобичајених ДБ операција.

Када треба да користите уграђене моделе података? Корисни су за побољшање перформанси операција читања. Поред тога, ефикасни су за обраду проналажења података једног записа. Са овим моделом можете користити једну операцију уписивања за ажурирање повезаних података.

Међутим, морате имати на уму нешто: уграђивање повећава величину документа након његовог стварања. У неким случајевима то може утицати на перформансе писања, а постоји и могућност фрагментације података због повећања величине документа.

И на крају, можете да комуницирате са уграђеним документима помоћу тачкасте нотације и лако их прелазите. Ево синтаксе:

фиелд.нестедФиелд: вредност

За горњи пример, можете да приступите угнежђеним документима тако што ћете написати следећи упит:

дб.студентс.финд ({детаљи за контакт: {телефон: ”555-555-1234”, адреса е-поште: “абц123@гмаил.цом”}}). прилично ()

Нормализовани модели података (референце)

Нормализовани модели података користе се за изградњу модела односа један према много и много према много. Док радите са уграђеним моделима докумената, понекад ће бити потребно да поновите податке. Овде референце добро дођу - оне се баве сувишношћу. Ево како можемо да користимо референце за горњи пример.

Наш појединачни документ смо поделили на три документа и од тада контакт подаци и разред имају ИД од Матт документ, можете их позвати по потреби.

ученик
{
_ид:
корисничко име: „Матт“
}
контакт подаци
{
_ид:
ИД корисник:
е-адреса: „абц123@гмаил.цом“
телефон: ”555-555-1234”
}
разред
ид:
ИД корисник: ,
тема: „ЦС101“,
оцена: „Б“
}

Као што видите, нормализовани модели података деле податке у више колекција коришћењем референци између новијих колекција. Можете ажурирати један документ који ће ажурирати друге колекције. Ово је ефикасан начин ажурирања података и углавном се користи када ваши подаци пролазе кроз честе промене.

Ево времена када је нормализовани модел података паметнији избор:

  • Морате моделирати велике скупове података који прате одређену хијерархију.
  • Морате представљати вишеструке везе много према много.
  • Уграђивање би проузроковало дуплирање података, а да у довољној мери не би побољшало ваше перформансе читања.

Сада можете лако моделирати податке у МонгоДБ-у

До сада знате како се моделирање података у МонгоДБ разликује од релационих ДБМ-ова, посебно када је реч о шеми. Такође сте научили о врстама модела података у МонгоДБ-у - денормализовани и нормализовани - и научили када да их користите.

А ово је само почетак; има још много тога да се сазна о томе како МонгоДБ може да организује ваше податке.

Емаил
Зашто вам Твиттер неће дозволити да уређујете твеетове

Опција уређивања једна је од најчешће захтеваних Твиттер функција. Па зашто компанија то не дозвољава?

Прочитајте следеће

Повезане теме
  • Програмирање
  • база података
О аутору
Усман Гхани (1 чланак објављен)Још од Усмана Гханија

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, прегледе, бесплатне е-књиге и ексклузивне понуде!

Још један корак…!

Молимо потврдите своју адресу е-поште у е-поруци коју смо вам управо послали.

.