You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/hr/2-Working-With-Data/06-non-relational
leestott 8dcd54c138
🌐 Update translations via Co-op Translator
3 weeks ago
..
README.md 🌐 Update translations via Co-op Translator 3 weeks ago
assignment.md 🌐 Update translations via Co-op Translator 3 weeks ago

README.md

Rad s podacima: Nerelacijski podaci

 Sketchnote by (@sketchthedocs)
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 pokriva 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čne nazive i korake u usporedbi s drugim softverom za proračunske tablice.

Prazna Microsoft Excel radna knjiga s dva radna lista

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 te datoteke također definiraju kao radne knjige, a ovaj termin će se koristiti u ostatku lekcije.

Radna knjiga sadrži jedan ili više radnih listova, gdje su svaki radni list označeni karticama. Unutar radnog lista 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 prvih nekoliko redaka 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 radna lista, gdje su kartice označene "Inventory List", "Inventory Pick List" i "Bin Lookup". Redak 4 radnog lista Inventory List je zaglavlje koje opisuje vrijednost svake ćelije u stupcu zaglavlja.

Istaknuta formula iz primjera popisa inventara u Microsoft Excelu

Postoje slučajevi kada je vrijednost ćelije ovisna o vrijednostima drugih ćelija kako bi generirala svoju vrijednost. 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 troška 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 prikazuje se formula. Primijetit ćete da formule počinju znakom jednakosti, nakon čega slijedi izračun ili operacija.

Istaknuta funkcija iz primjera popisa inventara u Microsoft Excelu

Možemo koristiti drugu formulu za zbrajanje svih vrijednosti stupca Inventory Value kako bismo dobili ukupnu vrijednost. To bi se moglo izračunati zbrajanjem svake ćelije kako bi se generirao zbroj, ali to može biti zamoran zadatak. Excel ima funkcije, ili 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 navedene 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, generirajući ukupnu vrijednost navedenu u retku 3, stupcu B (također poznatom kao B3).

NoSQL

NoSQL je krovni pojam za različite načine pohrane nerelacijskih podataka i može se interpretirati kao "ne-SQL", "nerelacijski" ili "ne samo SQL". Ove vrste sustava baza podataka mogu se kategorizirati u 4 vrste.

Grafički prikaz baze podataka ključ-vrijednost koji prikazuje 4 jedinstvena numerička ključa povezana s 4 različite vrijednosti

Izvor: Michał Białecki Blog

Ključ-vrijednost baze podataka povezuju jedinstvene ključeve, koji su jedinstveni identifikatori povezani s vrijednošću. Ovi parovi se pohranjuju pomoću hash tablice s odgovarajućom hash funkcijom.

Grafički prikaz baze podataka grafa koji prikazuje odnose između ljudi, njihovih interesa i lokacija

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 izvoda. Bridovi predstavljaju odnos između dva entiteta. Svaki čvor i brid imaju svojstva koja pružaju dodatne informacije o svakom čvoru i bridovima.

Grafički prikaz stupčaste baze podataka koji prikazuje bazu podataka kupaca s dvije obitelji stupaca nazvane Identity i Contact Info

Stupčaste baze podataka organiziraju podatke u stupce i retke poput relacijske strukture podataka, ali svaki stupac je podijeljen u grupe zvane obitelj 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 dokument baza podataka Cosmos DB-a oslanja na SQL za upite podataka. Prethodna lekcija o SQL-u pokriva osnove jezika, a neke od istih upita moći ćemo primijeniti na bazu podataka dokumenata ovdje. Koristit ćemo emulator Cosmos DB-a, koji nam omogućuje stvaranje i istraživanje baze podataka dokumenata 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 generirana su od strane Cosmos DB-a.

Istraživanje podataka s emulatorom Cosmos DB

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.

Prikaz Explorer emulatora Cosmos DB-a

Ako pratite, 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.

Istraživanje uzoraka podataka u emulatoru Cosmos DB-a

Upiti podataka dokumenata s emulatorom Cosmos DB

Također možemo izvršavati upite na uzorcima podataka klikom na gumb New SQL Query (drugi gumb s lijeve strane).

SELECT * FROM c vraća sve dokumente u spremniku. Dodajmo klauzulu WHERE i pronađimo sve mlađe od 40 godina.

SELECT * FROM c where c.age < 40

Izvršavanje SELECT upita na uzorcima podataka u emulatoru Cosmos DB-a za pronalaženje dokumenata koji imaju vrijednost polja age manju od 40

Upit vraća dva dokumenta, primijetite da je vrijednost polja 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 prenijeti 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 baze podataka dokumenata. Ispod je još jedan dokument, koji predstavlja tweetove s Microsoftovog Twitter računa koji su dohvaćeni pomoću Twitter API-ja, a zatim umetnuti u Cosmos DB.

{
    "created_at": "2021-08-31T19:03:01.000Z",
    "id": "1432780985872142341",
    "text": "Blank slate. Like this tweet if youve 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 prenijeti u bazu podataka SampleDB. Preporučuje se da je dodate u zaseban spremnik. To se može učiniti na sljedeći način:

  1. Kliknite gumb New Container u gornjem desnom kutu
  2. Odaberite postojeću bazu podataka (SampleDB) i stvorite ID spremnika za spremnik
  3. Postavite particijski ključ na /id
  4. Kliknite OK (možete zanemariti ostatak informacija u ovom prikazu jer je ovo mali skup podataka koji se pokreće lokalno na vašem računalu)
  5. Otvorite svoj novi spremnik i prenesite datoteku Twitter Data pomoću gumba Upload Item

Pokušajte izvršiti nekoliko SELECT upita kako biste pronašli dokumente koji imaju riječ Microsoft u polju text. Savjet: pokušajte koristiti ključnu riječ LIKE.

Kviz nakon predavanja

Pregled i samostalno učenje

Zadatak

Soda Profits


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 nesporazume ili pogrešna tumačenja koja mogu proizaći iz korištenja ovog prijevoda.