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

14 KiB

Praca z danymi: Dane nierelacyjne

 Sketchnote autorstwa (@sketchthedocs)
Praca z danymi NoSQL - Sketchnote autorstwa @nitya

Quiz przed wykładem

Dane nie ograniczają się tylko do relacyjnych baz danych. Ta lekcja koncentruje się na danych nierelacyjnych i obejmuje podstawy arkuszy kalkulacyjnych oraz NoSQL.

Arkusze kalkulacyjne

Arkusze kalkulacyjne są popularnym sposobem przechowywania i eksploracji danych, ponieważ wymagają mniej pracy na etapie konfiguracji i rozpoczęcia pracy. W tej lekcji poznasz podstawowe elementy arkusza kalkulacyjnego, a także formuły i funkcje. Przykłady zostaną zilustrowane za pomocą Microsoft Excel, ale większość elementów i tematów będzie miała podobne nazwy i kroki w porównaniu z innym oprogramowaniem do obsługi arkuszy kalkulacyjnych.

Pusty skoroszyt Microsoft Excel z dwoma arkuszami

Arkusz kalkulacyjny to plik, który będzie dostępny w systemie plików komputera, urządzenia lub w chmurowym systemie plików. Samo oprogramowanie może być przeglądarkowe lub aplikacją, którą należy zainstalować na komputerze lub pobrać jako aplikację. W Excelu te pliki są również definiowane jako skoroszyty, i to określenie będzie używane w dalszej części tej lekcji.

Skoroszyt zawiera jeden lub więcej arkuszy, z których każdy jest oznaczony zakładkami. W obrębie arkusza znajdują się prostokąty zwane komórkami, które zawierają właściwe dane. Komórka to przecięcie wiersza i kolumny, gdzie kolumny są oznaczone literami alfabetu, a wiersze numerami. Niektóre arkusze kalkulacyjne zawierają nagłówki w pierwszych kilku wierszach, które opisują dane w komórce.

Mając te podstawowe elementy skoroszytu Excel, wykorzystamy przykład z Microsoft Templates dotyczący inwentarza, aby przejść przez dodatkowe elementy arkusza kalkulacyjnego.

Zarządzanie inwentarzem

Plik arkusza kalkulacyjnego o nazwie "InventoryExample" to sformatowany arkusz zawierający przedmioty w inwentarzu, który zawiera trzy arkusze, gdzie zakładki są oznaczone jako "Inventory List", "Inventory Pick List" i "Bin Lookup". Wiersz 4 arkusza Inventory List to nagłówek, który opisuje wartość każdej komórki w kolumnie nagłówka.

Podświetlona formuła z przykładowej listy inwentarza w Microsoft Excel

Zdarzają się sytuacje, w których wartość komórki zależy od wartości innych komórek. Arkusz Inventory List śledzi koszt każdego przedmiotu w inwentarzu, ale co jeśli chcemy znać wartość całego inwentarza? Formuły wykonują operacje na danych w komórkach i są używane do obliczania kosztu inwentarza w tym przykładzie. W tym arkuszu użyto formuły w kolumnie Inventory Value, aby obliczyć wartość każdego przedmiotu, mnożąc ilość w kolumnie QTY przez koszt w kolumnie COST. Podwójne kliknięcie lub zaznaczenie komórki pokaże formułę. Zauważysz, że formuły zaczynają się od znaku równości, po którym następuje obliczenie lub operacja.

Podświetlona funkcja z przykładowej listy inwentarza w Microsoft Excel

Możemy użyć innej formuły, aby dodać wszystkie wartości z kolumny Inventory Value i uzyskać ich sumę. Można to obliczyć, dodając każdą komórkę, ale byłoby to żmudne zadanie. Excel posiada funkcje, czyli predefiniowane formuły do wykonywania obliczeń na wartościach komórek. Funkcje wymagają argumentów, czyli wartości potrzebnych do wykonania obliczeń. Gdy funkcje wymagają więcej niż jednego argumentu, muszą być one podane w określonej kolejności, w przeciwnym razie funkcja może nie obliczyć poprawnej wartości. W tym przykładzie użyto funkcji SUM, która wykorzystuje wartości z kolumny Inventory Value jako argument, aby obliczyć sumę podaną w wierszu 3, kolumnie B (również określanej jako B3).

NoSQL

NoSQL to ogólny termin obejmujący różne sposoby przechowywania danych nierelacyjnych i może być interpretowany jako "non-SQL", "nierelacyjne" lub "nie tylko SQL". Tego typu systemy baz danych można podzielić na 4 kategorie.

Graficzna reprezentacja bazy danych klucz-wartość pokazująca 4 unikalne klucze numeryczne powiązane z 4 różnymi wartościami

Źródło: Blog Michała Białeckiego

Bazy danych klucz-wartość łączą unikalne klucze, które są unikalnym identyfikatorem powiązanym z wartością. Te pary są przechowywane za pomocą tablicy mieszającej z odpowiednią funkcją mieszającą.

Graficzna reprezentacja bazy danych grafowej pokazująca relacje między ludźmi, ich zainteresowaniami i lokalizacjami

Źródło: Microsoft

Bazy danych grafowe opisują relacje w danych i są reprezentowane jako zbiór węzłów i krawędzi. Węzeł reprezentuje jednostkę, coś, co istnieje w rzeczywistości, na przykład studenta lub wyciąg bankowy. Krawędzie reprezentują relacje między dwiema jednostkami. Każdy węzeł i krawędź mają właściwości, które dostarczają dodatkowych informacji o węzłach i krawędziach.

Graficzna reprezentacja bazy danych kolumnowej pokazująca bazę danych klientów z dwiema rodzinami kolumn nazwanymi Identity i Contact Info

Bazy danych kolumnowe organizują dane w kolumny i wiersze, podobnie jak struktura relacyjna, ale każda kolumna jest podzielona na grupy zwane rodzinami kolumn, gdzie wszystkie dane w jednej kolumnie są powiązane i mogą być pobierane oraz zmieniane jako jedna jednostka.

Bazy danych dokumentowe z Azure Cosmos DB

Bazy danych dokumentowe opierają się na koncepcji bazy danych klucz-wartość i składają się z serii pól i obiektów. W tej sekcji przyjrzymy się bazom danych dokumentowych za pomocą emulatora Cosmos DB.

Baza danych Cosmos DB spełnia definicję "Nie tylko SQL", ponieważ baza dokumentowa Cosmos DB wykorzystuje SQL do zapytań o dane. Poprzednia lekcja dotycząca SQL obejmuje podstawy tego języka, a tutaj będziemy mogli zastosować niektóre z tych samych zapytań w bazie dokumentowej. Użyjemy emulatora Cosmos DB, który pozwala na tworzenie i eksplorację bazy dokumentowej lokalnie na komputerze. Więcej informacji o emulatorze znajdziesz tutaj.

Dokument to zbiór pól i wartości obiektów, gdzie pola opisują, co reprezentuje wartość obiektu. Poniżej znajduje się przykład dokumentu.

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

Pola, które nas interesują w tym dokumencie, to: firstname, id i age. Pozostałe pola z podkreśleniami zostały wygenerowane przez Cosmos DB.

Eksploracja danych za pomocą emulatora Cosmos DB

Możesz pobrać i zainstalować emulator dla systemu Windows tutaj. Zapoznaj się z tą dokumentacją, aby dowiedzieć się, jak uruchomić emulator na macOS i Linux.

Emulator uruchamia okno przeglądarki, w którym widok Explorer pozwala na eksplorację dokumentów.

Widok Explorer emulatora Cosmos DB

Jeśli podążasz za instrukcjami, kliknij "Start with Sample", aby wygenerować przykładową bazę danych o nazwie SampleDB. Jeśli rozwiniesz SampleDB, klikając strzałkę, znajdziesz kontener o nazwie Persons. Kontener przechowuje kolekcję elementów, które są dokumentami w kontenerze. Możesz eksplorować cztery indywidualne dokumenty w sekcji Items.

Eksploracja przykładowych danych w emulatorze Cosmos DB

Zapytania o dane dokumentowe za pomocą emulatora Cosmos DB

Możemy również wykonywać zapytania o przykładowe dane, klikając przycisk "New SQL Query" (drugi przycisk od lewej).

SELECT * FROM c zwraca wszystkie dokumenty w kontenerze. Dodajmy klauzulę WHERE, aby znaleźć wszystkich, którzy mają mniej niż 40 lat.

SELECT * FROM c where c.age < 40

Wykonywanie zapytania SELECT na przykładowych danych w emulatorze Cosmos DB, aby znaleźć dokumenty, w których wartość pola age jest mniejsza niż 40

Zapytanie zwraca dwa dokumenty, zauważ, że wartość pola age dla każdego dokumentu jest mniejsza niż 40.

JSON i dokumenty

Jeśli znasz JavaScript Object Notation (JSON), zauważysz, że dokumenty wyglądają podobnie do JSON. W tym katalogu znajduje się plik PersonsData.json z dodatkowymi danymi, które możesz przesłać do kontenera Persons w emulatorze za pomocą przycisku Upload Item.

W większości przypadków API zwracające dane w formacie JSON mogą być bezpośrednio przeniesione i przechowywane w bazach danych dokumentowych. Poniżej znajduje się kolejny dokument, który reprezentuje tweety z konta Microsoft na Twitterze, pobrane za pomocą API Twittera, a następnie wstawione do 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

Pola, które nas interesują w tym dokumencie, to: created_at, id i text.

🚀 Wyzwanie

W katalogu znajduje się plik TwitterData.json, który możesz przesłać do bazy danych SampleDB. Zaleca się dodanie go do osobnego kontenera. Można to zrobić, wykonując następujące kroki:

  1. Kliknij przycisk "New Container" w prawym górnym rogu.
  2. Wybierz istniejącą bazę danych (SampleDB), utwórz identyfikator kontenera.
  3. Ustaw klucz partycji na /id.
  4. Kliknij OK (możesz zignorować resztę informacji w tym widoku, ponieważ jest to mały zbiór danych uruchamiany lokalnie na Twoim komputerze).
  5. Otwórz nowy kontener i prześlij plik Twitter Data za pomocą przycisku Upload Item.

Spróbuj wykonać kilka zapytań SELECT, aby znaleźć dokumenty zawierające słowo "Microsoft" w polu text. Wskazówka: spróbuj użyć słowa kluczowego LIKE.

Quiz po wykładzie

Przegląd i samodzielna nauka

  • W tym arkuszu kalkulacyjnym dodano dodatkowe formatowanie i funkcje, które nie zostały omówione w tej lekcji. Microsoft posiada obszerną bibliotekę dokumentacji i filmów na temat Excela, jeśli chcesz dowiedzieć się więcej.

  • Ta dokumentacja architektoniczna szczegółowo opisuje cechy różnych typów danych nierelacyjnych: Dane nierelacyjne i NoSQL.

  • Cosmos DB to chmurowa baza danych nierelacyjnych, która może również przechowywać różne typy NoSQL wspomniane w tej lekcji. Dowiedz się więcej o tych typach w tym module Microsoft Learn dotyczącym Cosmos DB.

Zadanie

Soda Profits

Zastrzeżenie:
Ten dokument został przetłumaczony za pomocą usługi tłumaczenia AI Co-op Translator. Chociaż staramy się zapewnić dokładność, prosimy mieć na uwadze, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za wiarygodne źródło. W przypadku informacji krytycznych zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia.