13 KiB
Rad s podacima: Nerelacijski podaci
![]() |
|---|
| Rad s NoSQL podacima - Sketchnote by @nitya |
Kviz prije predavanja
Podaci nisu ograničeni na relacijske baze podataka. Ova lekcija fokusira se na nerelacijske podatke i obuhvatit će osnove proračunskih tablica i NoSQL-a.
Proračunske tablice
Proračunske tablice popularan su način za pohranu i istraživanje podataka jer zahtijevaju manje rada za postavljanje i početak rada. U ovoj lekciji naučit ćete osnovne komponente proračunske tablice, kao i formule i funkcije. Primjeri će biti ilustrirani pomoću Microsoft Excela, ali većina dijelova i tema imat će slična imena i korake u usporedbi s drugim softverima za proračunske tablice.
Proračunska tablica je datoteka i bit će dostupna u datotečnom sustavu računala, uređaja ili sustava za pohranu u oblaku. Sam softver može biti temeljen na pregledniku ili aplikacija koja se mora instalirati na računalo ili preuzeti kao aplikacija. U Excelu se ove datoteke također definiraju kao radne knjige, a ovaj termin koristit će se u ostatku lekcije.
Radna knjiga sadrži jednu ili više radnih tablica, gdje su svaka radna tablica označena karticama. Unutar radne tablice nalaze se pravokutnici zvani ćelije, koje sadrže stvarne podatke. Ćelija je presjek retka i stupca, gdje su stupci označeni abecednim znakovima, a retci numerički. Neke proračunske tablice sadrže zaglavlja u prvim redovima kako bi opisale podatke u ćeliji.
S ovim osnovnim elementima Excel radne knjige, koristit ćemo primjer iz Microsoft Templates fokusiran na inventar kako bismo prošli kroz dodatne dijelove proračunske tablice.
Upravljanje inventarom
Datoteka proračunske tablice nazvana "InventoryExample" je formatirana proračunska tablica stavki unutar inventara koja sadrži tri radne tablice, gdje su kartice označene kao "Inventory List", "Inventory Pick List" i "Bin Lookup". Redak 4 radne tablice Inventory List je zaglavlje koje opisuje vrijednost svake ćelije u stupcu zaglavlja.
Postoje slučajevi kada vrijednost ćelije ovisi o vrijednostima drugih ćelija kako bi se generirala. Proračunska tablica Inventory List prati trošak svake stavke u svom inventaru, ali što ako trebamo znati vrijednost svega u inventaru? Formule izvode radnje na podacima ćelija i koriste se za izračunavanje vrijednosti inventara u ovom primjeru. Ova proračunska tablica koristi formulu u stupcu Inventory Value za izračunavanje vrijednosti svake stavke množenjem količine pod zaglavljem QTY i troškova pod ćelijama zaglavlja COST. Dvostrukim klikom ili označavanjem ćelije prikazat će se formula. Primijetit ćete da formule počinju znakom jednakosti, nakon čega slijedi izračun ili operacija.
Možemo koristiti drugu formulu za zbrajanje svih vrijednosti stupca Inventory Value kako bismo dobili ukupnu vrijednost. To bi se moglo izračunati dodavanjem svake ćelije kako bi se dobio zbroj, ali to može biti zamoran zadatak. Excel ima funkcije, odnosno unaprijed definirane formule za izvođenje izračuna na vrijednostima ćelija. Funkcije zahtijevaju argumente, koji su potrebne vrijednosti za izvođenje tih izračuna. Kada funkcije zahtijevaju više od jednog argumenta, moraju biti navedeni određenim redoslijedom ili funkcija možda neće izračunati ispravnu vrijednost. Ovaj primjer koristi funkciju SUM i koristi vrijednosti stupca Inventory Value kao argument za zbrajanje, a rezultat je naveden u retku 3, stupcu B (također poznat kao B3).
NoSQL
NoSQL je krovni pojam za različite načine pohrane nerelacijskih podataka i može se tumačiti kao "non-SQL", "nerelacijski" ili "ne samo SQL". Ove vrste sustava baza podataka mogu se kategorizirati u 4 vrste.
Izvor: Michał Białecki Blog
Ključ-vrijednost baze podataka povezuju jedinstvene ključeve, koji su jedinstveni identifikatori povezani s vrijednošću. Ovi parovi pohranjuju se pomoću hash tablice s odgovarajućom hash funkcijom.
Izvor: Microsoft
Graf baze podataka opisuju odnose u podacima i predstavljeni su kao zbirka čvorova i bridova. Čvor predstavlja entitet, nešto što postoji u stvarnom svijetu, poput studenta ili bankovnog izvatka. Bridovi predstavljaju odnos između dva entiteta. Svaki čvor i brid imaju svojstva koja pružaju dodatne informacije o svakom čvoru i bridovima.
Stupčaste baze podataka organiziraju podatke u stupce i retke poput relacijske strukture podataka, ali svaki stupac podijeljen je u grupe zvane obitelji stupaca, gdje su svi podaci pod jednim stupcem povezani i mogu se dohvatiti i mijenjati kao jedna jedinica.
Pohrana dokumenata s Azure Cosmos DB
Dokument baze podataka temelje se na konceptu baze podataka ključ-vrijednost i sastoje se od niza polja i objekata. Ovaj odjeljak istražuje baze podataka dokumenata pomoću emulatora Cosmos DB.
Baza podataka Cosmos DB odgovara definiciji "Ne samo SQL", gdje se dokumentna baza podataka Cosmos DB oslanja na SQL za upite podataka. Prethodna lekcija o SQL-u pokriva osnove jezika, a neke od istih upita moći ćemo primijeniti na dokumentnu bazu podataka ovdje. Koristit ćemo Cosmos DB Emulator, koji nam omogućuje stvaranje i istraživanje dokumentne baze podataka lokalno na računalu. Više o Emulatoru pročitajte ovdje.
Dokument je zbirka polja i vrijednosti objekata, gdje polja opisuju što vrijednost objekta predstavlja. Ispod je primjer dokumenta.
{
"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
}
Polja od interesa u ovom dokumentu su: firstname, id i age. Ostala polja s podvlakama generirao je Cosmos DB.
Istraživanje podataka pomoću Cosmos DB Emulatora
Možete preuzeti i instalirati emulator za Windows ovdje. Pogledajte ovu dokumentaciju za opcije kako pokrenuti Emulator za macOS i Linux.
Emulator pokreće prozor preglednika, gdje vam prikaz Explorer omogućuje istraživanje dokumenata.
Ako pratite korake, kliknite na "Start with Sample" kako biste generirali primjer baze podataka nazvane SampleDB. Ako proširite SampleDB klikom na strelicu, pronaći ćete spremnik nazvan Persons. Spremnik sadrži zbirku stavki, koje su dokumenti unutar spremnika. Možete istražiti četiri pojedinačna dokumenta pod Items.
Upiti na dokumentnim podacima pomoću Cosmos DB Emulatora
Također možemo izvršavati upite na uzorcima podataka klikom na gumb za novi SQL upit (drugi gumb s lijeva).
SELECT * FROM c vraća sve dokumente u spremniku. Dodajmo where klauzulu i pronađimo sve mlađe od 40 godina.
SELECT * FROM c where c.age < 40
Upit vraća dva dokumenta, primijetite da je vrijednost age za svaki dokument manja od 40.
JSON i dokumenti
Ako ste upoznati s JavaScript Object Notation (JSON), primijetit ćete da dokumenti izgledaju slično JSON-u. U ovoj se mapi nalazi datoteka PersonsData.json s više podataka koje možete učitati u spremnik Persons u Emulatoru putem gumba Upload Item.
U većini slučajeva, API-ji koji vraćaju JSON podatke mogu se izravno prenijeti i pohraniti u dokumentne baze podataka. Ispod je još jedan dokument, koji predstavlja tweetove s Microsoftovog Twitter računa, dohvaćene pomoću Twitter API-ja, a zatim umetnute u 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
Polja od interesa u ovom dokumentu su: created_at, id i text.
🚀 Izazov
Postoji datoteka TwitterData.json koju možete učitati u bazu podataka SampleDB. Preporučuje se da je dodate u zaseban spremnik. To možete učiniti na sljedeći način:
- Kliknite gumb za novi spremnik u gornjem desnom kutu
- Odaberite postojeću bazu podataka (SampleDB), stvorite ID za spremnik
- Postavite particijski ključ na
/id - Kliknite OK (možete zanemariti ostale informacije u ovom prikazu jer je ovo mali skup podataka koji se pokreće lokalno na vašem računalu)
- Otvorite svoj novi spremnik i učitajte datoteku Twitter Data pomoću gumba
Upload Item
Pokušajte izvršiti nekoliko SELECT upita kako biste pronašli dokumente koji u polju text sadrže riječ Microsoft. Savjet: pokušajte koristiti ključnu riječ LIKE.
Kviz nakon predavanja
Pregled i samostalno učenje
-
Postoje dodatna formatiranja i značajke dodane ovoj proračunskoj tablici koje ova lekcija ne pokriva. Microsoft ima veliku biblioteku dokumentacije i videozapisa o Excelu ako želite naučiti više.
-
Ova arhitektonska dokumentacija detaljno opisuje karakteristike različitih vrsta nerelacijskih podataka: Nerelacijski podaci i NoSQL
-
Cosmos DB je baza podataka u oblaku koja također može pohranjivati različite vrste NoSQL-a spomenute u ovoj lekciji. Saznajte više o tim vrstama u ovom Cosmos DB Microsoft Learn modulu
Zadatak
Odricanje od odgovornosti:
Ovaj dokument je preveden pomoću AI usluge za prevođenje Co-op Translator. Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati mjerodavnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane stručnjaka. Ne preuzimamo odgovornost za bilo kakve nesporazume ili pogrešne interpretacije proizašle iz korištenja ovog prijevoda.









