20 KiB
Рад са подацима: Нерелациони подаци
![]() |
|---|
| Рад са NoSQL подацима - Скетч од @nitya |
Квиз пре предавања
Подаци нису ограничени на релационе базе података. Ова лекција се фокусира на нерелационе податке и обухватиће основе табела и NoSQL.
Табеле
Табеле су популаран начин за чување и истраживање података јер захтевају мање рада за постављање и почетак рада. У овој лекцији ћете научити основне компоненте табеле, као и формуле и функције. Примери ће бити илустровани помоћу Microsoft Excel-а, али већина делова и тема имаће слична имена и кораке у поређењу са другим софтверима за табеле.
Табела је датотека и биће доступна у систему датотека рачунара, уређаја или у систему датотека заснованом на облаку. Сам софтвер може бити заснован на прегледачу или апликација која мора бити инсталирана на рачунару или преузета као апликација. У Excel-у, ове датотеке се такође дефинишу као радне свеске, и ова терминологија ће се користити у остатку лекције.
Радна свеска садржи један или више радних листова, где је сваки радни лист означен картицама. Унутар радног листа налазе се правоугаоници који се називају ћелије, које садрже стварне податке. Ћелија је пресек реда и колоне, где су колоне означене алфабетским карактерима, а редови нумерички. Неке табеле ће садржати заглавља у првих неколико редова како би описале податке у ћелији.
Са овим основним елементима Excel радне свеске, користићемо пример из Microsoft Templates фокусиран на инвентар како бисмо прошли кроз неке додатне делове табеле.
Управљање инвентаром
Датотека табеле под називом "InventoryExample" је форматирана табела ставки унутар инвентара која садржи три радна листа, где су картице означене као "Inventory List", "Inventory Pick List" и "Bin Lookup". Ред 4 радног листа Inventory List је заглавље, које описује вредност сваке ћелије у колони заглавља.
Постоје случајеви када је вредност ћелије зависна од вредности других ћелија како би се генерисала њена вредност. Табела Inventory List прати трошкове сваке ставке у инвентару, али шта ако треба да знамо вредност свега у инвентару? Формуле извршавају радње на подацима у ћелијама и користе се за израчунавање вредности инвентара у овом примеру. Ова табела користи формулу у колони Inventory Value за израчунавање вредности сваке ставке множењем количине под заглављем QTY и њених трошкова под ћелијама заглавља COST. Двоструким кликом или истицањем ћелије приказује се формула. Приметићете да формуле почињу знаком једнакости, након чега следи израчун или операција.
Можемо користити другу формулу за сабирање свих вредности Inventory Value како бисмо добили њену укупну вредност. Ово би могло бити израчунато додавањем сваке ћелије како би се генерисала сума, али то може бити заморан задатак. Excel има функције, или унапред дефинисане формуле за извршавање израчунавања на вредностима ћелија. Функције захтевају аргументе, који су потребне вредности за извршавање ових израчунавања. Када функције захтевају више од једног аргумента, морају бити наведене у одређеном редоследу или функција можда неће израчунати исправну вредност. Овај пример користи функцију SUM и користи вредности Inventory Value као аргумент за сабирање и генерисање укупне вредности наведене у реду 3, колони B (такође познатој као B3).
NoSQL
NoSQL је општи термин за различите начине чувања нерелационих података и може се тумачити као "не-SQL", "нерелационо" или "не само SQL". Ове врсте система база података могу се категоризовати у 4 типа.
Извор: Блог Michał Białecki
Кључ-вредност базе података повезују јединствене кључеве, који су јединствени идентификатори повезани са вредношћу. Ови парови се чувају користећи хеш табелу са одговарајућом хеш функцијом.
Извор: Microsoft
Граф базе података описују односе у подацима и представљени су као колекција чворова и ивица. Чвор представља ентитет, нешто што постоји у стварном свету, као што је студент или банковни извод. Ивице представљају однос између два ентитета. Сваки чвор и ивица имају својства која пружају додатне информације о сваком чвору и ивицама.
Колумнарне базе података организују податке у колоне и редове као релациона структура података, али свака колона је подељена у групе назване породице колона, где су сви подаци под једном колоном повезани и могу се добити и мењати као једна целина.
Складишта докумената са Azure Cosmos DB
Документ базе података граде се на концепту складишта података кључ-вредност и састоје се од серије поља и објеката. Овај део ће истражити базе података докумената са емулатором Cosmos DB.
База података Cosmos DB одговара дефиницији "не само SQL", где база података докумената Cosmos DB користи SQL за упите података. Претходна лекција о SQL-у покрива основе језика, и моћи ћемо да применимо неке од истих упита на базу података докумената овде. Користићемо емулатор Cosmos DB, који нам омогућава да креирамо и истражујемо базу података докумената локално на рачунару. Прочитајте више о емулатору овде.
Документ је колекција поља и вредности објеката, где поља описују шта вредност објекта представља. Испод је пример документа.
{
"firstname": "Eva",
"age": 44,
"id": "8c74a315-aebf-4a16-bb38-2430a9896ce5",
"_rid": "bHwDAPQz8s0BAAAAAAAAAA==",
"_self": "dbs/bHwDAA==/colls/bHwDAPQz8s0=/docs/bHwDAPQz8s0BAAAAAAAAAA==/",
"_etag": "\"00000000-0000-0000-9f95-010a691e01d7\"",
"_attachments": "attachments/",
"_ts": 1630544034
}
Поља од интереса у овом документу су: firstname, id и age. Остала поља са подвученим линијама генерисана су од стране Cosmos DB.
Истраживање података са емулатором Cosmos DB
Можете преузети и инсталирати емулатор за Windows овде. Погледајте ову документацију за опције како да покренете емулатор за macOS и Linux.
Емулатор покреће прозор прегледача, где вам приказ Explorer омогућава да истражујете документе.
Ако пратите кораке, кликните на "Start with Sample" да бисте генерисали пример базе података под називом SampleDB. Ако проширите SampleDB кликом на стрелицу, пронаћи ћете контејнер назван Persons. Контејнер држи колекцију ставки, које су документи унутар контејнера. Можете истражити четири појединачна документа под Items.
Упити докумената са емулатором Cosmos DB
Такође можемо упитати пример података кликом на дугме нови SQL Query (друго дугме са леве стране).
SELECT * FROM c враћа све документе у контејнеру. Додајмо where клаузу и пронађимо све млађе од 40 година.
SELECT * FROM c where c.age < 40
Упит враћа два документа, приметите да је вредност age за сваки документ мања од 40.
JSON и документи
Ако сте упознати са JavaScript Object Notation (JSON), приметићете да документи изгледају слично JSON-у. У овом директоријуму постоји датотека PersonsData.json са више података коју можете отпремити у контејнер Persons у емулатору преко дугмета Upload Item.
У већини случајева, API-ји који враћају JSON податке могу се директно пренети и чувати у базама података докумената. Испод је још један документ, који представља твитове са Microsoft Twitter налога који су добијени коришћењем Twitter API-ја, а затим унети у Cosmos DB.
{
"created_at": "2021-08-31T19:03:01.000Z",
"id": "1432780985872142341",
"text": "Blank slate. Like this tweet if you’ve ever painted in Microsoft Paint before. https://t.co/cFeEs8eOPK",
"_rid": "dhAmAIUsA4oHAAAAAAAAAA==",
"_self": "dbs/dhAmAA==/colls/dhAmAIUsA4o=/docs/dhAmAIUsA4oHAAAAAAAAAA==/",
"_etag": "\"00000000-0000-0000-9f84-a0958ad901d7\"",
"_attachments": "attachments/",
"_ts": 1630537000
Поља од интереса у овом документу су: created_at, id и text.
🚀 Изазов
Постоји датотека TwitterData.json коју можете отпремити у базу података SampleDB. Препоручује се да је додате у посебан контејнер. Ово се може урадити:
- Кликом на дугме нови контејнер у горњем десном углу
- Избором постојеће базе података (SampleDB) и креирањем идентификатора контејнера
- Постављањем кључа партиције на
/id - Кликом на OK (можете игнорисати остале информације у овом приказу јер је ово мали скуп података који се покреће локално на вашем рачунару)
- Отворите свој нови контејнер и отпремите датотеку Twitter Data помоћу дугмета
Upload Item
Покушајте да извршите неколико SELECT упита како бисте пронашли документе који имају Microsoft у пољу text. Савет: покушајте да користите LIKE кључну реч.
Квиз после предавања
Преглед и самостално учење
-
Постоје неке додатне форматирања и функције додате у ову табелу које ова лекција не покрива. Microsoft има велику библиотеку документације и видео материјала о Excel-у ако сте заинтересовани да научите више.
-
Ова архитектонска документација детаљно описује карактеристике различитих типова нерелационих података: Нерелациони подаци и NoSQL
-
Cosmos DB је облачна нерелациона база података која такође може чувати различите типове NoSQL података поменуте у овој лекцији. Сазнајте више о овим типовима у Cosmos DB Microsoft Learn Module
Задатак
Одрицање од одговорности:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције Co-op Translator. Иако се трудимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати меродавним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.









