[Python] Applicazione WEB con Python e Postgresql

Enrico Bianchi enrico.bianchi a ymail.com
Mer 24 Set 2014 00:26:15 CEST


On 09/23/2014 05:32 PM, Marco Fochesato wrote:
> Si infatti, per "sentirmi stretto", parlavo di quello: perchè deve 
> esserci per forza na colonna id??

Se intendi "perche` deve esserci per forza una chiave primaria", il 
motivo e` che permette una ricerca piu` veloce (nonche` univoca) dei 
record presenti sulla tabella. In teoria questo non e` vincolante (basta 
fare gli indici nella maniera corretta), ma e` comunque una buona norma.
Se invece intendi "perche` deve esserci per forza una chiave primaria 
numerica e incrementante", questo e` un grosso dibattito nel mondo dei 
database, ovvero ci sono persone che preferiscono una colonna 
autoincrementante mentre ci sono persone che preferiscono una chiave 
identificativa. I primi portano come argomentazioni piu` o meno quelle 
di Carlos (in teoria ne vedo solo una valida), mentre i secondi portano 
come argomentazione l'univocita` (nonche` identificabilita`) del record. 
Personalmente sono a favore della chiave primaria identificativa, 
soprattutto in virtu` che nelle fact tables permette estrazioni piu` 
veloci (non devo fare JOIN con le tabelle padri), ma tieni conto che 
molto dipende da quello che devi e come lo vuoi fare

Enrico


Maggiori informazioni sulla lista Python