Witam
Zacznę może od przykładu:
Mam tabelki user (id_user, name, login, haslo, ...), gallery (id_picture, id_user ,url, nazwa, opis, ...), tagmap (id_picture, id_tag) , tags (id_tag, nazwa)
Każdy user może mieć n obrazów w galerii i każdy obraz może mieć n tagów, przy czym tagi są trzymane odzienie i połączone z obrazem w oddzielnej tabeli tagmap
Teraz pytania
Jak powiedzieć bazie danych aby usunęła z automatu:
1) Wszystkie zdjęcia oraz tagi tych zdjęć (bez usuwania ich z tabeli tag) podczas usuwania usera
2) Wszystkie odwołania w tagmap podczas usuwania taga z tags
3) Wszystkie odwołania w tagmap podczas usuwania obrazka z galerii i nie usunęła przez przypadek użytkownika ani tagu z tags
Wiem, że można ustawić On Delete i On Update, prawdopodobnie zależy to też od kierunku relacji i od jej rodzaju...
Mógłby mi to ktoś łopatologicznie wytłumaczyć jak to połączyć tak aby baza nie krzyczała i nie sypała błędami, że nie można czegoś usunąć... oraz, żeby nie zostawały śmieci...
Pozdrawiam
Rav