Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Połączenie 3 tabel przez klucze obce
dominik04u
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 28.10.2016

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


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?


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 11:44