To co najważniejsze
1. Zbiory danych przetwarzane komputerowo odpowiadają najczęściej relacjom w matematyce. Relacja jest podzbiorem iloczynu kartezjańskiego zbiorów (funkcja to szczególny rodzaj relacji). Dobrym zobrazowaniem relacji są tabele. Nagłówki tabeli to opis atrybutów pochodzących z różnych zbiorów (wykorzystywanych w iloczynie kartezjańskim). Na przykład iloczynem kartezjańskim zbiorów adresów i osób jest zbiór „krotek” zawierających wszystkie możliwe zestawienia osób i adresów. Relacją jest podzbiór tych „krotek” opisujących prawdziwe adresy osób.
2. Bazy danych to mechanizmy gromadzenia danych w postaci tabel / relacji. Dane te są dostępne poprzez zapytania w języku SQL. Podstawowa składnia zapytania języka SQL:
SELECT atrybuty FROM relacje WHERE warunki
Słowa kluczowe oznaczają:
SELECT – wybór
FROM – (z) – z jakich relacji
WHERE – dla jakich warunków selekcji
Na przykład:
SELECT numer, pensja FROM pracownicy WHERE pensja<2000;
W miejscu relacji mogą pojawiać się identyfikatory tabel lub podzapytania reprezentujące tabelę wynikową (zobaczymy to w dalszych przykładach).
3. Zapytania SQL mogą być złożone – w miejsce tabel mogą występować wyniki zapytań. Na przykład:
SELECT * FROM pracownicy p WHERE p.numer NOT IN (SELECT B.numer FROM pracownicy B WHERE B.pensja>=2000);
4. Bazy danych najlepiej projektować tworząc diagramy ERD. Na przykład przy pomocy MySQL Workbench (zob. opis na stronie http://reinstalacja.pl/wizualne-tworzenie-bazy-danych-mysql-jak-stworzyc-strukture-bazy-danych/). Konsekwentne stosowanie połączeń 1:n zapewnia uzyskanie struktury w 3 postaci normalnej, która gwarantuje brak anomalii
Materiały:
- Rozdział "Bazy danych" podręcznika http://otwartaedukacja.pl/programowanie/.
- https://www.tutorialspoint.com/execute_sql_online.php