Schema db ottimale
-
12-12-2019 - |
Domanda
Sto per ridisegnare uno schema DB e sto considerando di usare un orm nella mia app, lo schema sottostante funziona con, ad esempio, Eloquent Orm, o dovrei anche aggiungere anche le tabelle di join?
ISSUES(ID, ORGANIZATION_ID, DATE, TIME, CATEGORY_ID, TYPE_ID, ISSUE_DETAILS_ID)
ISSUE_DETAILS(ID, NAME, STATUS, EMAIL)
ORGANIZATIONS(ID, NAME, ADDRESS, CONTACT)
CATEGORIES(ID, CATEGORY)
TYPES(ID, TYPE, CATEGORY_ID)
. Soluzione
L'unica cosa che probabilmente farei diversamente è avere la chiave esterna issue_id
sulla tabella issue_details
in modo che tu possa avere una relazione
Quindi se stai usando eloquente potresti fare qualcosa del genere.
echo $issue->details->name;
.
Non sono del tutto sicuro di cosa conserrai nella tabella dei dettagli, forse ci saranno molteplici dettagli per un problema nel qual caso avresti un "forte> molte a molti relazioni.
Altri suggerimenti
Oltre a ciò che Jason ha suggerito Jason, è possibile rimuovere anche il category_id
dalla tabella issues
poiché ogni type
ha già un category
, hai già accesso alla categoria attraverso il tipo.
I.e.$issue->type->category