codingupmyfuture / bootcampduckdb

Crash database course, using DuckDB as the engine.
MIT License
47 stars 7 forks source link

Duda PK en entidades de la BD Fiesta de David #13

Open BioDani opened 1 month ago

BioDani commented 1 month ago

Saludos, Profe.

Estoy definiendo cada tabla de la BD de la fiesta de David y veo que en la mayoría de las tablas (maestra y tipo) sería posible usar PK autoincremental; sin embargo, me queda la duda de si esto es recomendable, ya que creo que usted hizo algún comentarío sobre este tipo de PK. ¿Podría por favor contarme si es factible usarlo para este caso, y recordarme en qué casos podría no ser la mejor opción?

Muchas gracias. quedo atento.

malalalalala commented 1 month ago

Tengo la misma duda

luisvasv-teck commented 1 month ago

Las bases de datos que normalmente soportan valores autoincrementales son:

  1. MySQL/MariaDB
  2. PostgreSQL
  3. SQLite
  4. SQL Server

Usar AUTO_INCREMENT es conveniente, en algunos casos cuando la tabla no tiene relaciones. En aplicaciones robustas y maduras no se usa tanto por:

Duplicados en sistemas distribuidos: Cuando tienes varios servidores trabajando con la misma base de datos, pueden generarse valores repetidos si no se sincronizan bien.

Problemas al fusionar datos: Si combinas datos de diferentes fuentes, podrías tener conflictos porque los valores pueden ser iguales en ambas tablas.

Dificultad para cambiar datos: Si quieres reorganizar o modificar estos valores, puede ser complicado sin causar problemas en otras partes del sistema.

Valores predecibles: Los valores son fáciles de adivinar, lo cual podría ser un problema si necesitas mantener la información oculta o segura.

Dificultades para relacionar datos: Si los valores auto-incrementales cambian o se eliminan, es posible que las conexiones entre diferentes tablas se rompan, lo que puede llevar a datos "huérfanos" o a problemas para vincular correctamente la información. Esto puede complicar las consultas y generar inconsistencias en el sistema.

Cuando veamos secuencias, se darán cuenta por qué es una mejor opción más interesante que auto-increment

JessiGM commented 1 month ago

Compañero, el profesor dijo (si mal no recuerdo) que no es buena práctica que la PK sea autoincrementable.