![]() |
![]() |
![]()
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ę ![]() |
|
|
![]() |
![]()
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?
-------------------- |
|
|
![]()
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.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 11:44 |