Najbardziej rozszerzalnym rozwiązaniem jest posiadanie tylko jednej tabeli „podstawowej” (połączonej z „polubieniami”, tagami i komentarzami) i „dziedziczenie” z niej wszystkich pozostałych tabel. Dodanie nowego rodzaju encji polega po prostu na dodaniu nowej „dziedziczonej” tabeli – następnie automatycznie łączy się ona z całą maszynerią like/tag/comment.
Termin powiązania z podmiotami to „kategoria” (zobacz Przewodnik po metodach ERwin , sekcja:„Relacje podtypów”). Symbol kategorii to:
Zakładając, że użytkownik może polubić wiele jednostek, ten sam tag może być użyty dla więcej niż jednej jednostki, ale komentarz jest specyficzny dla jednostki, Twój model może wyglądać tak:
BTW, istnieją około 3 sposoby na zaimplementowanie „kategorii ER”:
- Wszystkie typy w jednej tabeli.
- Wszystkie typy betonu w osobnych tabelach.
- Wszystkie typy konkretne i abstrakcyjne w osobnych tabelach.
O ile nie masz bardzo rygorystycznych wymagań dotyczących wydajności, trzecie podejście jest prawdopodobnie najlepsze (co oznacza, że fizyczne tabele odpowiadają 1:1 elementom na powyższym diagramie).