Detta är en dålig design. Gör bara en 2-kolumns primärnyckel och 2-kolumns främmande nycklar till den. Detta är ett grundläggande antimönster som kallas "kodningsinformation i nycklar" som (därmed) kallas "smarta", "intelligenta" eller "sammanfogade" nycklar. En bra nyckel är en "dum" nyckel.
T.ex. :
Dessutom finns det inget behov för att göra detta.
Många DBMS tillåter "beräknade kolumner" vars värden automatiskt beräknas från andra kolumner. För att göra en till en primärnyckel eller främmande nyckel behöver du vanligtvis den "beständig", dvs att den tar upp minne som en vanlig kolumn kontra att bara beräknas när det behövs som en vy. MySQL har inte dessa, men 5.7.5 har viss funktionalitet där de kallas "genererade kolumner", som kan "lagras". Men gör inte detta för PK eller FK!
Det faktiska designproblemet är att hantera databas/SQL-undertyper/hierarchies/inheritance/polymorphism .