Jack-Carter
05-03-2011, 18:32
Salve, ho un dubbio che mi perseguita da un po', ed è giunta l'ora di chiarirlo.
Vorrei capire se all'interno di una tabella è sempre meglio mettere un campo numerico per identificare quel particolare elemento, piuttosto che lasciare solo un campo alfanumerico che in teoria basterebbe e sarebbe la chiave primaria.
Chiarisco con un esempio. Mettiamo di avere un DB che rappresenta il magazzino di un negozio, e mettiamo che ogni articolo debba appartenere ad una categoria (Vini, Libri, Pasta, ecc), giustamente si potrebbe fare una tabella Tipologia col solo campo Nome, però ogni volta che poi andiamo a specificare la tipologia in un articolo, "sprechiamo" decisamente più memoria rispetto ad un abbinamento fatto con un campo ID. D'altro canto, se in tipologia oltre a Nome aggiungiamo ID, poi è quell'ID che deve diventare la chiave primaria, e potrebbero capitare casi in cui si inseriscono 2 tipologie con lo stesso nome, viceversa se teniamo Nome come chiave primaria, poi possono capitare casi di ambiguità con l'ID.
Cosa è giusto fare quindi?
Spero abbiate capito :asd:
Vorrei capire se all'interno di una tabella è sempre meglio mettere un campo numerico per identificare quel particolare elemento, piuttosto che lasciare solo un campo alfanumerico che in teoria basterebbe e sarebbe la chiave primaria.
Chiarisco con un esempio. Mettiamo di avere un DB che rappresenta il magazzino di un negozio, e mettiamo che ogni articolo debba appartenere ad una categoria (Vini, Libri, Pasta, ecc), giustamente si potrebbe fare una tabella Tipologia col solo campo Nome, però ogni volta che poi andiamo a specificare la tipologia in un articolo, "sprechiamo" decisamente più memoria rispetto ad un abbinamento fatto con un campo ID. D'altro canto, se in tipologia oltre a Nome aggiungiamo ID, poi è quell'ID che deve diventare la chiave primaria, e potrebbero capitare casi in cui si inseriscono 2 tipologie con lo stesso nome, viceversa se teniamo Nome come chiave primaria, poi possono capitare casi di ambiguità con l'ID.
Cosa è giusto fare quindi?
Spero abbiate capito :asd: