Krótki przegląd baz danych
Zanim zaczniesz pracować z Metabase, warto poznać kilka kluczowych pojęć związanych z bazami danych.
Tabele
Zasadniczo, bazy danych są zbiorami tabel. Tabele zawierają jedną lub więcej kolumn i jeden lub więcej wierszy. Wiersz składa się z komórek, a każda komórka ma wartość, która odpowiada kolumnie, do której należy.
Oto przykład takiej tabeli:
Imię | Wiek |
---|---|
Jan | 25 |
Joanna | 31 |
W tym przypadku kolumnami są Imię
i Wiek
. Pierwszy rząd zawiera dwie komórki, w jednej Jan
i w innej 25
, odpowiadające odpowiednio kolumnom Imię i Wiek.
Kolumny
Wszystkie komórki w kolumnie zawierają ten sam typ informacji. Na przykład, w przykładowej tabeli powyżej, kolumna Imię
zawiera imiona w każdej komórce, podczas gdy kolumna Wiek
zawiera odpowiednio listę last poszczególnych osób.
Kolumny są również czasami zamiennie określane jako pola. Każde pole posiada typ, który opisuje, jaki rodzaj danych jest przechowywany w polu.
Przykłady typów pól:
- Typy ciągów znaków (TEXT, CHAR, VCHAR, etc.) - W świecie technologii, urywki tekstu są określane jako "ciągi". (Prawdopodobnie słyszałeś już kiedyś o "ciągu tekstowym".) Pola te przechowują takie rzeczy jak nazwiska, imiona, adresy lub cokolwiek innego, co jest tekstem.
- Typy numeryczne (Integer, Float, DoubleFloat, Decimal, itd.) - pola te przechowują liczby. Integers to liczby całkowite; Floats i Decimals to sposoby na przechowywanie liczb z miejscami dziesiętnymi. Typy numeryczne przechowują takie rzeczy jak wiek, saldo konta bankowego, ceny, szerokości i długości geograficzne.
- Typy czasu (Timestamp, etc.) - Pola te są specjalnym formatem liczbowym używanym do przechowywania dat i czasu (lub obu), zwanych "stemplami czasowymi". Czasami bazy danych przechowują całkowity stempel czasowy, który jest albo sekundami albo milisekundami, np.
00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970
. Ta konwencja pozwala na kompaktowe przechowywanie znaczników czasu. - IDs (zwane również kluczami głównymi, ang. primary keys) - To pole w tabeli w sposób unikalny identyfikuje każdy wiersz. Na przykład, wyobraź sobie aplikację do rezerwacji samochodów, w której możesz zarezerwować samochód z wyprzedzeniem. ID rezerwacji może być numerem rezerwacji, a żadne dwie rezerwacje nie będą miały tego samego numeru rezerwacji, pozwalając na unikalną identyfikację każdej rezerwacji przez jej numer.
Przykład
Tabela rezerwacji
ID Rezerwacji | Imię | Wiek |
---|---|---|
11 | Jan | 25 |
12 | Joanna | 31 |
W powyższej tabeli, pole Reservation ID
to jest ID (klucz główny). Pole Imię
jest typu String, a pole Wiek
jest typu numerycznego (dokładnie Integer).
Relacje
Tabele mogą zawierać odwołania do innych tabel, co tworzy relację pomiędzy nimi.
Na przykład, w naszej hipotetycznej bazie danych aplikacji do rezerwacji samochodów, moglibyśmy mieć dwie tabele: jedną dla rezerwacji (nazwijmy ją Rezerwacje) i jedną dla klientów (nazwijmy ją Klienci).
Aby połączyć dane rezerwacji z odpowiadającymi im danymi klientów, możesz użyć klucza obcego. Klucz obcy jest specjalnym rodzajem pola w tabeli, które odwołuje się do tej samej kolumny w innej tabeli. Prawie zawsze pole, na które wskazuje klucz obcy jest ID lub primary key w innej tabeli.
Na przykład, w naszej hipotetycznej aplikacji do rezerwacji samochodów, moglibyśmy połączyć każdą rezerwację w tabeli Rezerwacje z odpowiednim klientem, który dokonał rezerwacji poprzez kolumnę Klient
rezerwacji zawierającą tę samą wartość co kolumna ID
klienta, który dokonał rezerwacji.
Rezerwacje
Klient | Data | Samochód |
---|---|---|
11 | 12/20/2015 | Toyota Camry |
12 | 1/2/2016 | Range Rover |
Klienci
ID | Imię | Wiek |
---|---|---|
11 | Jan | 25 |
12 | Joanna | 31 |
Gdybyśmy chcieli przeanalizować bazę danych naszej hipotetycznej aplikacji za pomocą Metabase, moglibyśmy zadać pytanie, np:
Jaki jest średni wiek wszystkich klientów, którzy dokonali rezerwacji w lutym 2015 roku?
Aby to zrobić, otwórzmy tabelę Rezerwacje, dodajmy filtr, aby spojrzeć tylko na rezerwacje między 1 lutego a 28 lutego 2015 i wybierzmy Średnia z...
. Aby wybrać średnią wieku, użyjmy naszego klucza obcego i wybierzmy wiek z tabeli Klienci, do której odwołuje się nasza tabela Rezerwacje.
Następne: Zadawanie pytań
Teraz, gdy mamy już wspólne słownictwo i podstawową wiedzę z baz danych, dowiedzmy się więcej o eksploracji w Metabase