Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Połączenie 3 tabel przez klucze obce
Forum PHP.pl > Forum > Bazy danych > MySQL
dominik04u
Witam

Muszę wykonać projekt bazy danych, która będzie przechowywała dane nt. użytkowników, rezerwacji sal i opiekunów tych sal. W założeniu opiekunem może być zwykły użytkownik. Początkowo planowałem wykonanie trzech tabel:
Użytkownicy
Opiekunowie (z kluczem obcym ID_user)
Sala (z kluczem obcym ID_opiekun)

Jednakże jeżeli użytkownik, który był opiekunek usunie swoje konto, chciałbym, aby nie została usunięta wraz z nim sala. Użycie referencji z on delete cascade odpada. Pozostałe nie spełniają swojej roli. Czy zrobić to za pomocą dwóch tabel z pominięciem opiekunów, wykorzystać wyzwalacze czy da się to zrobić w inny sensowny sposób.

Proszę o szybką poradę wink.gif
markonix
A musi być relacja z opiekunem? Co to za tabela opiekun? Nie możesz w tabeli sali dać user_id i wtedy SET NULL ON DELETE?
Pyton_000
Wywal tabelę opiekunowie, i dodaj kolumnę w salach definiującego użytkownika jako opiekuna (podajesz ID usera). Wtedy jak usuwasz usera, w salach ustawiasz null dla sal z tym gościem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.