Mysql
 sql >> Database >  >> RDS >> Mysql

Implicazioni del supertipo e del sottotipo

Se tutto ciò di cui hai bisogno è allegare immagini a utenti e pagine, non sono sicuro che una gerarchia di categorie in piena regola (ovvero "sottoclasse", "sottotipo", "ereditarietà") sarebbe ottimale.

Supponendo che le pagine/gli utenti possano avere più immagini e che una determinata immagine possa essere allegata a più pagine/utenti e supponendo che tu non voglia allegare immagini alle immagini, il tuo modello dovrebbe probabilmente assomigliare a questo:

Potresti usa la gerarchia delle categorie per ottenere risultati simili...

... ma con così poche sottoclassi lo consiglierei di non farlo (a causa di potenziali problemi di manutenibilità e prestazioni). D'altra parte, se c'è la possibilità di aggiungere nuove sottoclassi in futuro, questa potrebbe effettivamente essere la soluzione giusta (ENTITY_IMAGE "coprerà" automaticamente tutte queste nuove sottoclassi, quindi non è necessario introdurre un nuovo "link" tavola per ognuno di loro).

A proposito, ci sono 3 modi principali per implementare la gerarchia delle categorie, ognuna con la propria serie di compromessi.