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/fi/2-Working-With-Data/06-non-relational/README.md

13 KiB

Työskentely datan kanssa: Ei-relationaalinen data

 Sketchnote by (@sketchthedocs)
Työskentely NoSQL-datan kanssa - Sketchnote by @nitya

Esiluentavisa

Data ei rajoitu vain relationaalisiin tietokantoihin. Tämä oppitunti keskittyy ei-relationaaliseen dataan ja kattaa taulukkolaskentaohjelmien ja NoSQL:n perusteet.

Taulukkolaskentaohjelmat

Taulukkolaskentaohjelmat ovat suosittu tapa tallentaa ja tutkia dataa, koska niiden käyttöönotto ja aloitus vaativat vähemmän työtä. Tässä oppitunnissa opit taulukkolaskennan perusosat sekä kaavat ja funktiot. Esimerkit havainnollistetaan Microsoft Excelillä, mutta suurimmalla osalla osista ja aiheista on samankaltaiset nimet ja vaiheet muihin taulukkolaskentaohjelmiin verrattuna.

Tyhjä Microsoft Excel -työkirja, jossa on kaksi laskentataulukkoa

Taulukkolaskenta on tiedosto, joka on käytettävissä tietokoneen, laitteen tai pilvipohjaisen tiedostojärjestelmän tiedostojärjestelmässä. Itse ohjelmisto voi olla selainpohjainen tai sovellus, joka on asennettava tietokoneelle tai ladattava sovelluksena. Excelissä näitä tiedostoja kutsutaan myös työkirjoiksi, ja tätä terminologiaa käytetään loppuosassa tätä oppituntia.

Työkirja sisältää yhden tai useamman laskentataulukon, joista jokainen on merkitty välilehdillä. Laskentataulukossa on suorakulmioita, joita kutsutaan soluiksi, ja ne sisältävät varsinaisen datan. Solu on rivin ja sarakkeen leikkauspiste, jossa sarakkeet on merkitty aakkosilla ja rivit numeroilla. Joissakin taulukkolaskentaohjelmissa ensimmäiset rivit sisältävät otsikoita, jotka kuvaavat solun dataa.

Näiden Excel-työkirjan peruselementtien avulla käytämme esimerkkiä Microsoft Templates -sivustolta, joka keskittyy varastoon, ja käymme läpi joitakin taulukkolaskennan lisäosia.

Varaston hallinta

Taulukkolaskentatiedosto nimeltä "InventoryExample" on muotoiltu taulukkolaskenta, joka sisältää varaston kohteita ja kolme laskentataulukkoa, joiden välilehdet on nimetty "Inventory List", "Inventory Pick List" ja "Bin Lookup". Inventory List -laskentataulukon rivi 4 on otsikko, joka kuvaa kunkin solun arvon otsikkosarakkeessa.

Korostettu kaava esimerkkinä varastoluettelosta Microsoft Excelissä

On tilanteita, joissa solun arvo riippuu muiden solujen arvoista. Inventory List -taulukkolaskenta seuraa jokaisen varastossa olevan kohteen kustannuksia, mutta entä jos haluamme tietää koko varaston arvon? Kaavat suorittavat toimintoja soludatalla ja niitä käytetään tässä esimerkissä laskemaan varaston arvo. Tämä taulukkolaskenta käyttää kaavaa Inventory Value -sarakkeessa laskemaan kunkin kohteen arvon kertomalla QTY-otsikon alla oleva määrä ja COST-otsikon alla olevat kustannukset. Kaksoisnapsauttamalla tai korostamalla solua näet kaavan. Huomaat, että kaavat alkavat yhtäläisyysmerkillä, jota seuraa laskenta tai operaatio.

Korostettu funktio esimerkkinä varastoluettelosta Microsoft Excelissä

Voimme käyttää toista kaavaa lisätäksemme kaikki Inventory Value -arvot yhteen saadaksemme niiden kokonaisarvon. Tämä voitaisiin laskea lisäämällä jokainen solu yhteen, mutta se voi olla työlästä. Excelissä on funktioita, eli ennalta määritettyjä kaavoja, jotka suorittavat laskelmia soluarvoilla. Funktiot vaativat argumentteja, jotka ovat laskelmissa tarvittavia arvoja. Kun funktiot vaativat useamman kuin yhden argumentin, ne on listattava tietyssä järjestyksessä, muuten funktio ei ehkä laske oikeaa arvoa. Tässä esimerkissä käytetään SUM-funktiota, ja argumenttina käytetään Inventory Value -arvoja, jotta saadaan kokonaisarvo, joka on listattu rivillä 3, sarakkeessa B (tunnetaan myös nimellä B3).

NoSQL

NoSQL on kattotermi erilaisille tavoille tallentaa ei-relationaalista dataa, ja se voidaan tulkita "non-SQL", "ei-relationaalinen" tai "ei vain SQL". Tämän tyyppiset tietokantajärjestelmät voidaan luokitella neljään tyyppiin.

Graafinen esitys avain-arvo-tietokannasta, jossa on 4 uniikkia numeerista avainta, jotka liittyvät 4 erilaiseen arvoon

Lähde: Michał Białecki Blog

Avain-arvo -tietokannat yhdistävät uniikit avaimet, jotka ovat yksilöllisiä tunnisteita, arvoihin. Nämä parit tallennetaan hajautustauluun sopivan hajautusfunktion avulla.

Graafinen esitys graafitietokannasta, joka näyttää ihmisten, heidän kiinnostuksen kohteidensa ja sijaintien väliset suhteet

Lähde: Microsoft

Graafi -tietokannat kuvaavat datan välisiä suhteita ja esitetään solmujen ja kaarien kokoelmana. Solmu edustaa entiteettiä, jotain, joka on olemassa reaalimaailmassa, kuten opiskelija tai pankkitiliote. Kaarilla kuvataan kahden entiteetin välistä suhdetta. Jokaisella solmulla ja kaarella on ominaisuuksia, jotka antavat lisätietoa niistä.

Graafinen esitys saraketietokannasta, joka näyttää asiakastietokannan kahdella sarakeperheellä nimeltä Identity ja Contact Info

Sarakepohjaiset tietokannat järjestävät datan sarakkeisiin ja riveihin kuten relationaalisessa tietorakenteessa, mutta jokainen sarake on jaettu ryhmiin, joita kutsutaan sarakeperheiksi. Kaikki yhden sarakkeen data on toisiinsa liittyvää ja voidaan hakea ja muuttaa yhtenä yksikkönä.

Dokumenttitietokannat Azure Cosmos DB:llä

Dokumentti -tietokannat perustuvat avain-arvo-tietokannan käsitteeseen ja koostuvat kentistä ja objekteista. Tässä osiossa tutkitaan dokumenttitietokantoja Cosmos DB -emulaattorin avulla.

Cosmos DB -tietokanta täyttää "Not Only SQL" -määritelmän, jossa Cosmos DB:n dokumenttitietokanta käyttää SQL:ää datan kyselyyn. Edellinen oppitunti SQL:stä kattaa kielen perusteet, ja voimme soveltaa joitakin samoja kyselyitä dokumenttitietokantaan täällä. Käytämme Cosmos DB -emulaattoria, jonka avulla voimme luoda ja tutkia dokumenttitietokantaa paikallisesti tietokoneella. Lue lisää emulaattorista täältä.

Dokumentti on kenttien ja objektien kokoelma, jossa kentät kuvaavat, mitä objektin arvo edustaa. Alla on esimerkki dokumentista.

{
    "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
}

Tämän dokumentin kiinnostavia kenttiä ovat: firstname, id ja age. Loput kentistä, joissa on alaviivoja, on luotu Cosmos DB:n toimesta.

Datan tutkiminen Cosmos DB -emulaattorilla

Voit ladata ja asentaa emulaattorin Windowsille täältä. Katso tämä dokumentaatio saadaksesi ohjeita emulaattorin suorittamiseen macOS:llä ja Linuxilla.

Emulaattori avaa selainikkunan, jossa Explorer-näkymä mahdollistaa dokumenttien tutkimisen.

Cosmos DB -emulaattorin Explorer-näkymä

Jos seuraat mukana, napsauta "Start with Sample" luodaksesi esimerkkitietokannan nimeltä SampleDB. Jos laajennat SampleDB:n napsauttamalla nuolta, löydät säilön nimeltä Persons. Säilö sisältää kokoelman kohteita, jotka ovat säilön sisällä olevia dokumentteja. Voit tutkia neljää yksittäistä dokumenttia Items-kohdassa.

Esimerkkidatan tutkiminen Cosmos DB -emulaattorissa

Dokumenttidatan kysely Cosmos DB -emulaattorilla

Voimme myös tehdä kyselyitä esimerkkidatalle napsauttamalla uutta SQL Query -painiketta (toinen painike vasemmalta).

SELECT * FROM c palauttaa kaikki säilön dokumentit. Lisätään where-lauseke ja etsitään kaikki, jotka ovat alle 40-vuotiaita.

SELECT * FROM c where c.age < 40

SELECT-kyselyn suorittaminen esimerkkidatalle Cosmos DB -emulaattorissa, jotta löydetään dokumentit, joiden age-kentän arvo on alle 40

Kysely palauttaa kaksi dokumenttia, huomaa, että kunkin dokumentin age-arvo on alle 40.

JSON ja dokumentit

Jos tunnet JavaScript Object Notationin (JSON), huomaat, että dokumentit näyttävät samankaltaisilta kuin JSON. Tässä hakemistossa on PersonsData.json-tiedosto, jossa on lisää dataa, jonka voit ladata Persons-säilöön emulaattorissa Upload Item -painikkeen avulla.

Useimmissa tapauksissa API:t, jotka palauttavat JSON-dataa, voidaan siirtää suoraan ja tallentaa dokumenttitietokantoihin. Alla on toinen dokumentti, joka edustaa Microsoftin Twitter-tilin twiittejä, jotka on haettu Twitter-rajapinnan avulla ja lisätty Cosmos DB:hen.

{
    "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

Tämän dokumentin kiinnostavia kenttiä ovat: created_at, id ja text.

🚀 Haaste

Hakemistossa on TwitterData.json-tiedosto, jonka voit ladata SampleDB-tietokantaan. On suositeltavaa, että lisäät sen erilliseen säilöön. Tämä voidaan tehdä seuraavasti:

  1. Napsauta oikeassa yläkulmassa olevaa uutta säilöä -painiketta
  2. Valitse olemassa oleva tietokanta (SampleDB) ja luo säilön tunnus
  3. Aseta osioavaimeksi /id
  4. Napsauta OK (voit ohittaa muut tiedot tässä näkymässä, koska tämä on pieni datasetti, joka toimii paikallisesti koneellasi)
  5. Avaa uusi säilösi ja lataa Twitter Data -tiedosto Upload Item -painikkeella

Yritä suorittaa muutamia SELECT-kyselyitä löytääksesi dokumentit, joissa tekstikentässä on sana "Microsoft". Vihje: kokeile käyttää LIKE-avainsanaa.

Jälkiluentavisa

Kertaus ja itseopiskelu

Tehtävä

Sooda-tuotot


Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Pyrimme tarkkuuteen, mutta huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäisellä kielellä tulee pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskääntämistä. Emme ole vastuussa tämän käännöksen käytöstä aiheutuvista väärinkäsityksistä tai virhetulkinnoista.