Złączenia tabel w SQL czyli odczytywanie danych z relacyjnej bazy danych
Przechowywanie danych w jednej tabeli choć początkowo może wydawać się całkiem dobrym rozwiązaniem w rzeczywistości stwarza bardzo wiele problemów. Jednym z nich jest niepotrzebne zużywanie pamięci na zapisanie czegoś co już raz zostało w owej bazie zapisane. Duplikacja danych to nie jedyny kłopot administratora, mając zapisane wszystko w jednej tabeli tracimy sporo czasu na jej przeszukanie, a „wyciąganie” z niej konkretnie sprecyzowanych informacji jest bardzo trudne.
Dobrze zaprojektowana baza danych charakteryzuje się między innymi prostotą odczytywania przeróżnych informacji, a przede wszystkim brakiem powtarzających się danych.
Do ćwiczeń będziemy wykorzystywać bazę danych zbudowaną z dwóch tabel:
Tabela: pracownicy
PracownicyID (♠) | Miasto (♣) | Imie | Nazwisko | Data_urodzenia | Stanowisko | Data_zatrudnienia |
1 | 1 | Jan | Kowalski | 1984-12-23 | Programista | 1999-12-09 |
2 | 1 | Adam | Adamiak | 1991-08-08 | Menadżer | 2011-31-01 |
3 | 3 | Jakub | Warszawa | 1990-16-03 | Programista | 2010-01-04 |
4 | 2 | Michał | Jakubiak | 1981-05-02 | Projektant | 1998-09-22 |
Gdzie kluczem (♠) jest kolumna PracownicyID.
Tabela: miastoZamieszkania
MiastoZamieszkaniaID (♣) | Miasto |
1 | Kraków |
2 | Warszawa |
3 | Wrocław |
4 | Londyn |
Gdzie kluczem (♣) jest kolumna MiastoZamieszkaniaID
oraz (♣).
Obie tabele zostały połączone za pomocą relacji PracownicyID -> MiastoZamieszkaniaID
(♠ -> ♣). Oznacza to, że do każdego pracownika zostało przypisane jego miasto zamieszkania.