Sto pensando a un problema di progettazione che riguarda la base dati del mio progetto. Supponiamo che ci siano tre tabelle diverse:
- CLIENT
- ORDINE
- PACKING_SLIP
Ogni ordine ha il suo client e diversi polizze di imballaggio . Quindi ci sono alcune chiavi esterne che sono obbligatorie, ci sarebbe clientId per ORDER e orderId per la tabella PACKING_SLIP . Questo ha perfettamente senso.

Orasupponiamonellamialogicachevoglioavereaccessoalclientedallabolladiaccompagnamento.PoichéstoutilizzandounostrumentoORMcomeHibernate,ciòcomportainprimoluogol'accessoall'ordinedalfogliodiaccompagnamentoedopoaverricevutoilclientdaesso.
Sevoglioavereaccessodirettoalclient,dovreiaggiungerelachiaveesternaclientIdancheallatabellaPACKINGSLIP.
La mia domanda è, è una progettazione corretta se c'è la possibilità di far entrare il client nella tabella ORDER ? Non è un po 'ridondante? Penso che sia un problema di controllo e la parte del database non dovrebbe occuparsene ...