Bazy danych i SQL — jak ustrukturyzowane dane są przechowywane i pobierane
Tabele, klucze i polecenia, które wysyłają zapytania do bazy danych
Wstęp
Relacyjna baza danych przechowuje dane ustrukturyzowane w tabelach, podobnie jak arkusz kalkulacyjny, ale z regułami dotyczącymi tego, jak tabele są powiązane. Baza danych zapewnia, że dane pozostają spójne, nawet gdy wielu użytkowników odczytuje i zapisuje jednocześnie, oraz że możesz szybko znaleźć i pobrać duże ilości danych za pośrednictwem indeksów.
Tabele, wiersze i kolumny
Tabela reprezentuje jeden rodzaj danych — np. klientów, zamówienia lub użytkowników. Każda kolumna ma nazwę i typ danych (tekst, liczba, data), a każdy wiersz to konkretny rekord. Klucz główny (primary key) to kolumna lub kombinacja kolumn, która jednoznacznie identyfikuje każdy wiersz — zwykle numer seryjny, który nigdy nie jest ponownie używany, nawet po usunięciu wiersza.
Połączenia między tabelami
Dane są umyślnie rozprzestrzenianie na wiele tabel, aby uniknąć przechowywania tej samej informacji w wielu miejscach — to się nazywa normalizacją. Klucz obcy (foreign key) w jednej tabeli wskazuje na klucz główny w innej, np. linia zamówienia wskazuje na numer klienta, do którego należy zamówienie. Normalizacja ułatwia poprawienie informacji w jednym miejscu i zmniejsza ryzyko, że dane w dwóch tabelach będą sobie sprzeczne.
SQL — język, który pyta bazę danych
- 01SELECT pobiera dane z jednej lub wielu tabel, ewentualnie z warunkami (WHERE) i sortowaniem
- 02INSERT dodaje nowy wiersz do tabeli
- 03UPDATE zmienia wartości w istniejących wierszach
- 04DELETE usuwa wiersze
- 05JOIN łączy dane z kilku tabel na podstawie ich relacji klucz, np. klientów razem z ich zamówieniami
| Komenda | Co to robi |
|---|---|
| SELECT navn FROM kunder WHERE by = 'Odense' | Pobiera nazwy klientów w Odencie |
| INSERT INTO kunder (navn, by) VALUES ('A', 'Vejle') | Dodaje nowego klienta |
| UPDATE kunder SET by = 'Odense' WHERE id = 12 | Naprawia miasto dla numeru klienta 12 |
“Dobrze zaprojektowana baza danych sprawia, że prawidłowe pytania są łatwe do zadania, a fałszywe niemożliwe do oszukania.”
— Podstawowa zasada zawodowa w tworzeniu systemów