Recenzje książek: relacja jeden do wielu
Relacje: klucze obce i diagram - Bazy danych: tabele, relacje i kwerendy (SQL (SQLite))
Tabela `recenzje` ma pole `ksiazka_id` z **kluczem obcym** (`REFERENCES ksiazki(id)`): każda recenzja dotyczy jednej książki, a jedna książka może mieć wiele recenzji. To relacja **jeden do wielu**: na diagramie w zakładce **Relacje** po stronie książki jest **1**, po stronie recenzji **∞**. Klucze obce pilnują **integralności**: recenzja książki o numerze 99, której nie ma, zostanie odrzucona błędem. Kwerenda na końcu łączy obie tabele po kluczu (`JOIN ... ON`).
CREATE TABLE recenzje (
id INTEGER PRIMARY KEY,
ksiazka_id INTEGER NOT NULL REFERENCES ksiazki(id),
ocena INTEGER NOT NULL,
opinia TEXT
);
INSERT INTO recenzje (ksiazka_id, ocena, opinia) VALUES (3, 5, 'Ocean, który myśli!');
INSERT INTO recenzje (ksiazka_id, ocena, opinia) VALUES (3, 4, 'Trudna, ale warto.');
INSERT INTO recenzje (ksiazka_id, ocena, opinia) VALUES (11, 6, 'Najlepsza przygoda.');
SELECT ksiazki.tytul, recenzje.ocena, recenzje.opinia
FROM ksiazki
JOIN recenzje ON recenzje.ksiazka_id = ksiazki.id;Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Bazy danych: tabele, relacje i kwerendy·Zaloguj się, aby zapisać postęp na koncie.