Wojciech Gomoła Now is my Time
Temat: DELETE FROM - Wątek konwencyjny
Mam do was pytanie na temat konwencji jakie stosujecie w czasie usuwania elementów z Bazy. A dokładniej chodzi mi o usuwanie elementów z listy Detail po usunięciu elementu z listy Master.W tej chwili spotkałem się z 3 podejściami:
1. Ustawienie ON DELETE CASCADE podczas tworzenia struktury bazodanowej. Zalety : Detaile się usuną gdzie byśmy nie wywołali delete'a na masterze, Wady uzależnienie się od konkretnego silnika bazodanowego.
2. Ustawienie ON DELETE RESTRICT i ręczne usuwanie elementów w kodzie Zalety: Niezależność od silnika bazodanowego. Wady: Spora ilość dodatkowego kodu.
3. Nie usuwanie fizycznie elementów z bazy a tylko ustawienia wskaźnika widoczności. Zalety: Możliwość podejrzenia danych które ktoś z jakiegoś powodu usunął. Wady szybko wyczerpująca się przestrzeń dyskowa.