Informatyka · Bazy danych · zakres rozszerzony
Relacje — połącz tabele bez kopiowania wszystkiego
Gdy ktoś zmieni klasę, nie chcemy poprawiać jej w każdym wypożyczeniu. Przechowamy opis osoby w jednym miejscu, a w zdarzeniu tylko odwołanie.
- Zobacz mechanizm
- Wykonaj w programie
- Sprawdź własny wynik
Po tej lekcji: Zaprojektujesz relacje 1:N i związek N:M przez tabelę pośrednią.
Zakres podstawowy · materiał otwarty
Co opisuje każda tabela?
Uczniowie opisują osoby, Sprzet opisuje egzemplarze, Wypozyczenia opisują zdarzenia. Wypożyczenie przechowuje uczen_id i sprzet_id — klucze obce odwołujące się do kluczy głównych innych tabel. Nazwa ucznia nie musi pojawiać się w każdym zdarzeniu.
Sprawdź w działaniu
Połącz istniejące identyfikatory
Wybierz osobę i sprzęt. Potem spróbuj wskazać osobę 99. Dlaczego baza powinna odmówić?
Sprawdź w działaniu
Materiały startowe
Sprawdź związek w obu kierunkach
| Relacja | Odczyt |
|---|---|
| Uczniowie 1 → N Wypozyczenia | Jedna osoba może mieć wiele zdarzeń; każde zdarzenie ma jedną osobę |
| Sprzet 1 → N Wypozyczenia | Jeden egzemplarz może wystąpić w wielu wypożyczeniach w czasie |
| Uczniowie N ↔ M Sprzet | Związek realizujemy przez tabelę zdarzeń, nie listę id w jednej komórce |
Odwołanie musi mieć cel
CREATE TABLE PrzykladWypozyczenia (
id INTEGER PRIMARY KEY,
uczen_id INTEGER NOT NULL REFERENCES Uczniowie(id),
sprzet_id INTEGER NOT NULL REFERENCES Sprzet(id)
);
Narysuj i sprawdź relacje
-
Narysuj trzy tabele z polami. Oznacz id jako PK, a odwołania jako FK.Oczekiwany wynikWidać źródło i cel każdej relacji.
-
Przy każdej linii zapisz 1 i N. Przeczytaj związek w obu kierunkach.Oczekiwany wynikNie mylisz wielu sprzętów z wieloma nazwami w polu.
-
W DB Browser sprawdź definicje tabel. W nowym połączeniu włącz PRAGMA foreign_keys = ON; przed transakcją.Oczekiwany wynikKontrola FK jest aktywna dla połączenia.
-
Na kopii spróbuj dodać wypożyczenie z uczen_id=99.Oczekiwany wynikZapis narusza odwołanie i powinien zostać odrzucony.
Ćwiczenie z pomocą · samodzielna praca
Klub i wydarzenia
Zaprojektuj osoby, wydarzenia i zapisy. Jedna osoba może zapisać się na wiele wydarzeń.
3 tabele, PK/FK i krotności.
? Potrzebujesz pomocy? Rozwiązuj krok po kroku.
Krok 1 — pokaż podpowiedź
Lista identyfikatorów w jednym polu nie jest relacją.
Krok 2 — pokaż podpowiedź
Dane zapisu umieść w tabeli pośredniej.
Otwórz tylko tyle podpowiedzi, ile potrzebujesz. Po każdym kroku wróć do zadania i sprawdź wynik.
Ćwiczenie z pomocą · samodzielna praca
Popraw odwołanie
Wyjaśnij, co zrobić z wypożyczeniem wskazującym brakującego ucznia.
Decyzja oparta na danych, nie losowe id.
? Potrzebujesz pomocy? Rozwiązuj krok po kroku.
Krok 1 — pokaż podpowiedź
Sprawdź źródło błędu.
Krok 2 — pokaż podpowiedź
Nie wyłączaj kontroli tylko po to, żeby zapis przeszedł.
Otwórz tylko tyle podpowiedzi, ile potrzebujesz. Po każdym kroku wróć do zadania i sprawdź wynik.
Podsumowanie
Co warto zapamiętać
- Zaprojektujesz relacje 1:N i związek N:M przez tabelę pośrednią.
- Otwórz zapisany wynik w programie odbiorcy. Sprawdź, czy działa bez Twojej pomocy.
- Wskaż jedną decyzję w swojej pracy i wyjaśnij jej skutek.
Po zalogowaniu zobaczysz dodatkowe lekcje i materiały oznaczone jako rozszerzenie. Podstawowe quizy i zadania pozostają dostępne w biurku.
Dalej na swoim koncie
Rozgrzewki, quiz i zadania są w biurku ucznia.
Teoria jest otwarta dla wszystkich. Żeby rozwiązywać zadania, zapisywać szkice i widzieć swój postęp, zaloguj się.
Zaloguj się →