Una de las desventajas que las personas señalan al usar claves foráneas en una base de datos relacional es la sobrecarga de asegurarse de que la tabla principal exista antes de realizar cualquier operación de inserción. (Example). A medida que su base de datos y su operación crecen, este efecto se amplifica. ¿Alguien sabe si los sitios grandes en la web los usan entonces? Si es así, ¿cómo se las arreglan para evitar esos gastos adicionales? De lo contrario, a medida que su equipo de desarrollo se haga más grande, parece que eso podría causar una gran cantidad de posibles errores/conflictos/falta de comunicación/filas huérfanas.¿Los sistemas grandes usan claves foráneas en sus bases de datos?
¿Alguna idea?
Overhead vs Garantizar la validez de los datos: sin dudas un poco subjetivo, pero será interesante ver qué respuestas obtiene. Sin embargo, yo pensaba que era más una CW que una pregunta. – Andrew
Muchos "sitios grandes en la web" no usan bases de datos relacionales en absoluto. – Magnus
@Magnus - Umm, sí lo hacen. No todos, probablemente no para contenido HTML, sino para datos transaccionales que a menudo hacen. – MatBailie