Uno degli svantaggi che le persone puntano a utilizzare le chiavi esterne in un database relazionale è il sovraccarico di assicurarsi che la tabella padre esista prima di eseguire qualsiasi operazione di inserimento. (Example). Man mano che il database e l'operazione aumentano, questo effetto viene amplificato. Qualcuno sa se i grandi siti sul web li usano allora? Se è così, come fanno a evitare quel sovraccarico? Altrimenti, man mano che il tuo team di sviluppo si ingrandisce, sembra che ciò possa causare un sacco di potenziali bug/conflitti/problemi di comunicazione/righe orfane.I grandi sistemi usano chiavi esterne nei loro database?
Qualche idea?
Overhead vs Garantire la validità dei dati - Unforutnately un po 'soggettivo, ma sarà interessante vedere quali risposte si ottiene. Però penserei che sia più una CW che una domanda. – Andrew
Molti "siti di grandi dimensioni sul Web" non utilizzano affatto i database relazionali. – Magnus
@Magnus - Umm, sì, lo fanno. Non tutto, probabilmente non per il contenuto HTML, ma per i dati transazionali che spesso fanno. – MatBailie