Poruszyłem tą kwestię w innym wątku, ale była trochę nie związana z pierwotnym temat.
Zastanawiam się, jak zaprojektować bazę danych, tak aby spełniała wszystkie najlepsze standardy.
Problem wygląda tak:
Mam tablice: Email, SMS, Fax, GG, Skype - wiadomość każdego typu w innej tablicy. Aby przykład był prosty niech ich struktury będą:
id int, test varchar(255). - Choć w rzeczywistości będą się jednak bardziej różnić.
Chcę stworzyć tablicę "Zadanie", która będzie miała pola: id, typ, sysWiadomosc.
Gdzie sysWiadomosc ma wskazywać na "id" w tablicy zależnej od pola typ.
Przykład:
Np. Typ = 1, to Email. Rekord w tablicy "Zadanie" (1,1,20) - to rekord o id=20 z tablicy Email.
Jak to rozwiązać? Nie mogę zastosować (chyba) klucza obcego - ponieważ, w takim wypadku jak wyżej, id=20 musi być w każdej z tablic (Email, SMS, Fax....).