|
|
1 year ago | |
|---|---|---|
| .. | ||
| README.md | 1 year ago | |
| assignment.md | 1 year ago | |
README.md
Työskentely datan kanssa: Ei-relationaalinen data
![]() |
|---|
| Työskentely NoSQL-datan kanssa - Sketchnote by @nitya |
Esiluennon kysely
Data ei rajoitu vain relationaalisiin tietokantoihin. Tämä oppitunti keskittyy ei-relationaaliseen dataan ja käsittelee taulukoiden sekä NoSQL:n perusteita.
Taulukot
Taulukot ovat suosittu tapa tallentaa ja tutkia dataa, koska niiden käyttöönotto ja aloitus vaativat vähemmän työtä. Tässä oppitunnissa opit taulukon peruskomponentit sekä kaavat ja funktiot. Esimerkit havainnollistetaan Microsoft Excelillä, mutta useimmat osat ja aiheet ovat samankaltaisia verrattuna muihin taulukkolaskentaohjelmistoihin.
Taulukko on tiedosto, joka on käytettävissä tietokoneen, laitteen tai pilvipohjaisen tiedostojärjestelmän kautta. Ohjelmisto voi olla selainpohjainen tai sovellus, joka täytyy asentaa tietokoneelle tai ladata sovelluksena. Excelissä näitä tiedostoja kutsutaan myös työkirjoiksi, ja tätä terminologiaa käytetään loppuoppitunnin ajan.
Työkirja sisältää yhden tai useamman työarkin, joista jokainen on merkitty välilehdillä. Työarkissa 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 taulukoissa 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 inventaarioon, ja käymme läpi taulukon lisäosia.
Inventaarion hallinta
Taulukkotiedosto nimeltä "InventoryExample" on muotoiltu taulukko, joka sisältää inventaarion kohteita ja kolme työarkkia, joiden välilehdet on nimetty "Inventory List", "Inventory Pick List" ja "Bin Lookup". Rivin 4 otsikko Inventory List -työarkissa kuvaa kunkin solun arvon otsikkosarakkeessa.
On tilanteita, joissa solun arvo riippuu muiden solujen arvoista. Inventory List -taulukko seuraa jokaisen inventaarion kohteen kustannuksia, mutta entä jos haluamme tietää koko inventaarion arvon? Kaavat suorittavat toimintoja soludatalla ja niitä käytetään inventaarion kustannusten laskemiseen tässä esimerkissä. Tämä taulukko käyttää kaavaa Inventory Value -sarakkeessa laskemaan kunkin kohteen arvon kertomalla QTY-otsikon alla oleva määrä COST-otsikon alla olevilla kustannuksilla. Kaksoisnapsauttamalla tai korostamalla solua näet kaavan. Huomaat, että kaavat alkavat yhtäläisyysmerkillä, jota seuraa laskenta tai operaatio.
Voimme käyttää toista kaavaa lisätäksemme kaikki Inventory Value -arvot yhteen saadaksemme kokonaisarvon. Tämä voitaisiin laskea lisäämällä jokainen solu yhteen, mutta se voi olla työlästä. Excelissä on funktioita, eli ennalta määriteltyjä kaavoja, jotka suorittavat laskelmia soluarvoilla. Funktiot vaativat argumentteja, jotka ovat laskelmien suorittamiseen tarvittavia arvoja. Kun funktiot vaativat useamman kuin yhden argumentin, ne täytyy luetella tietyssä järjestyksessä, muuten funktio ei välttämättä laske arvoa oikein. Tässä esimerkissä käytetään SUM-funktiota, ja Inventory Value -arvoja käytetään argumenttina kokonaisarvon laskemiseksi, joka on merkitty riville 3, sarakkeeseen B (tunnetaan myös nimellä B3).
NoSQL
NoSQL on yleistermi erilaisille tavoille tallentaa ei-relationaalista dataa, ja sitä voidaan tulkita "non-SQL", "non-relationaalinen" tai "ei vain SQL". Tämän tyyppiset tietokantajärjestelmät voidaan luokitella neljään tyyppiin.
Lähde: Michał Białecki Blog
Avain-arvo -tietokannat yhdistävät uniikit avaimet, jotka ovat yksilöllisiä tunnisteita, arvoon. Nämä parit tallennetaan hash-taulukkoon sopivan hash-funktion avulla.
Lähde: Microsoft
Graafi -tietokannat kuvaavat datan suhteita ja esitetään solmujen ja reunojen kokoelmana. Solmu edustaa entiteettiä, jotain, joka on olemassa todellisessa maailmassa, kuten opiskelija tai pankkitiliote. Reunat edustavat kahden entiteetin välistä suhdetta. Jokaisella solmulla ja reunalla on ominaisuuksia, jotka tarjoavat lisätietoa solmuista ja reunoista.
Saraketietokannat järjestävät datan sarakkeisiin ja riveihin kuten relationaalisessa rakenteessa, mutta jokainen sarake on jaettu ryhmiin, joita kutsutaan sarakeperheiksi, joissa kaikki yhden sarakkeen data liittyy toisiinsa ja voidaan hakea tai muuttaa yhtenä yksikkönä.
Dokumenttitietokannat Azure Cosmos DB:llä
Dokumenttitietokannat perustuvat avain-arvo-tietokannan käsitteeseen ja koostuvat kentistä ja objektien arvoista. Tässä osiossa tutkitaan dokumenttitietokantoja Cosmos DB -emulaattorilla.
Cosmos DB -tietokanta täyttää "ei vain SQL" -määritelmän, jossa Cosmos DB:n dokumenttitietokanta käyttää SQL:ää datan kyselyyn. Edellinen oppitunti SQL:stä käsittelee kielen perusteita, ja voimme soveltaa joitakin samoja kyselyitä dokumenttitietokantaan tässä. Käytämme Cosmos DB -emulaattoria, joka mahdollistaa dokumenttitietokannan luomisen ja tutkimisen paikallisesti tietokoneella. Lue lisää emulaattorista täältä.
Dokumentti on kenttien ja objektien arvojen 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 kiinnostavat kentät ovat: firstname, id ja age. Loput kentät, joissa on alaviivoja, on luotu Cosmos DB:llä.
Datan tutkiminen Cosmos DB -emulaattorilla
Voit ladata ja asentaa emulaattorin Windowsille täältä. Katso dokumentaatio vaihtoehdoista emulaattorin käyttämiseen macOS:llä ja Linuxilla.
Emulaattori avaa selainikkunan, jossa Explorer-näkymä mahdollistaa dokumenttien tutkimisen.
Jos seuraat mukana, napsauta "Start with Sample" luodaksesi esimerkkitietokannan nimeltä SampleDB. Jos laajennat SampleDB:tä napsauttamalla nuolta, löydät säiliön nimeltä Persons. Säiliö sisältää kokoelman kohteita, jotka ovat dokumentteja säiliön sisällä. Voit tutkia neljää yksittäistä dokumenttia kohdassa Items.
Dokumenttidatan kysely Cosmos DB -emulaattorilla
Voimme myös kysellä esimerkkidataa napsauttamalla uutta SQL Query -painiketta (toinen painike vasemmalta).
SELECT * FROM c palauttaa kaikki dokumentit säiliössä. Lisätään where-lauseke ja etsitään kaikki alle 40-vuotiaat.
SELECT * FROM c where c.age < 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äiliöön emulaattorissa Upload Item -painikkeen avulla.
Useimmissa tapauksissa API:t, jotka palauttavat JSON-dataa, voidaan suoraan siirtää ja tallentaa dokumenttitietokantoihin. Alla on toinen dokumentti, joka edustaa Microsoftin Twitter-tilin twiittejä, jotka on haettu Twitter-API:lla ja lisätty Cosmos DB:hen.
{
"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
Tämän dokumentin kiinnostavat kentät ovat: created_at, id ja text.
🚀 Haaste
Hakemistossa on TwitterData.json -tiedosto, jonka voit ladata SampleDB-tietokantaan. Suositellaan, että lisäät sen erilliseen säiliöön. Tämä voidaan tehdä seuraavasti:
- Napsauta uutta säiliö-painiketta oikeassa yläkulmassa
- Valitse olemassa oleva tietokanta (SampleDB), luo säiliö-id säiliölle
- Aseta ositusavain
/id - Napsauta OK (voit ohittaa muun tiedon tässä näkymässä, koska tämä on pieni datasetti, joka toimii paikallisesti koneellasi)
- Avaa uusi säiliösi ja lataa Twitter Data -tiedosto
Upload Item-painikkeella
Yritä suorittaa muutama SELECT-kysely löytääksesi dokumentit, joissa tekstikentässä on Microsoft. Vinkki: kokeile käyttää LIKE-avainsanaa.
Jälkiluennon kysely
Kertaus ja itseopiskelu
-
Taulukkoon on lisätty joitakin lisämuotoiluja ja ominaisuuksia, joita tämä oppitunti ei kata. Microsoftilla on laaja dokumentaatio- ja videokirjasto Excelistä, jos haluat oppia lisää.
-
Tämä arkkitehtuuridokumentaatio kuvaa ei-relationaalisen datan eri tyyppejä: Ei-relationaalinen data ja NoSQL
-
Cosmos DB on pilvipohjainen ei-relationaalinen tietokanta, joka voi myös tallentaa oppitunnilla mainittuja NoSQL-tyyppejä. Lue lisää näistä tyypeistä tässä Cosmos DB Microsoft Learn -moduulissa
Tehtävä
Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.









