| ||||
Es un error de integridad de datos?? Es una pregunta que me surge de una conversación con un personal de una empresa donde hice una prueba, en la realización de esta prueba me pidieron una tabla clientes y no coloque un id para ser el PK sino que le declare PK a la cedula de identidad del cliente(numero de identificación o como lo llamen en su pais), entonces me dicen que esto es un error de integridad ya que al hacer la relación con claves foráneas tendriamos un error de este tipo, aunque no lo dijo directamente practicamente me indico que debia tener un id como PK, yo le dije que he echo relaciones de este tipo con claves foraneas pero el insistio que es un error para no seguir discutiendo dije bueno aprendi algo nuevo, pero entonces es esto un error de integridad??? el colocar un campo cedula como PK?? bueno yo para matar mi duda me decidi a plantearla en el foro, espero que me puedan aclarar este punto, gracias de antemanos por sus respuestas saludos
__________________ aprende d tus errores e incrementa tu conocimientos it's not a bug, it's an undocumented feature By @David php the right way |
| ||||
Respuesta: Es un error de integridad de datos?? Como agregado a lo que ya te comentó Hemlish2000, cuando cursas la asignatura en la Universidad no sólo te dan esa explicación (la PK no necesariamente es numérica, ni autoincremental), sino que además se aclara que determinar las claves candidatas (CC) de una tabla son una parte importante del proceso de normalización, y sólo es justificable usar claves numéricas (autoincrementales o no), si llegados a la 3FN aún no se ha encontrado una CC. Además, hay un problema adicional y es que el uso de PK numericas incrementales en bases de datos produce serios problemas en el caso de necesitar integrar y consolidar datos, por cuanto datos provenientes de diferentes bases o diferentes servidores pueden usar la misma PK para diferentes datos de tablas iguales. Imagina un sistema de clientes distribuido en diferentes bases y sucursales., que no esté completamente integrado... Obviamente hay soluciones para eso, pero no son ni por asomo tan prácticas como buscar un ID con atributos propios de la tabla tales que en todo el universo posible de instancias no se pueda repetir. Los números de documentos son prácticos, dependiendo de qué documentos y cómo se gestionan, pero eso depende de cada país. Lo que sí puedo asegurarte es que el uso de ID autoincrementales es un vicio de los programadores, y no de los arquitectos de datos. Son fáciles de usar, fáciles de programar, y parecen eficientes. Pero a la larga son problemáticos. Si el tipo te dijo que una PK debe ser numerica y autoincremental, yo diría dos cosas: 1) Es un programador, 2) no ha leído nunca los trabajos de T.J. Teory, D. Yang, J.P. Fry del modelo entidad-relacion, ni tampoco los Fundamentos de Bases de Datos de H. F. Korth y A. Silberschatz, sobre los que se basa nel desarrollo de las bases de datos relacionales.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: Es un error de integridad de datos?? Gracias por sus comentarios, como siempre excelentes y explicativos, como podran imaginar por el post yo no crei y ni siquiera vi etico lo que me dijo pero no me gusta entrar en discusiones con personas que no daran el brazo a torcer y creen que se las saben todas, aunque puedo decir que al leer las respuestas hoy aprendi algo nuevo voy a leer los link que que indico el amigo gnzsoloyo para aprender un poco más porque con la clase majistral que dio el día de hoy puedo decir que como dijo el soy un programador saludos y gracias por las aclaraciones, saludos
__________________ aprende d tus errores e incrementa tu conocimientos it's not a bug, it's an undocumented feature By @David php the right way |
| ||||
Respuesta: Es un error de integridad de datos?? Cuando estudiaba la materia en la Universidad, el profesor decía que la forma de ver las cosas era muy diferente entre programadores y DBA, y a mí me parecía que exageraba. Pero andando el tiempo me centré en el desarrollo de bases de datos, y pude ver (después de varias muy largas discusiones por el asunto con los del equipo de desarrollo), que realmente tenía razón: Se ven las cosas de una forma completamente diferente, aunque se tratara del mismo problema. Finalmente mi solución fue exactamente la misma que en su momento el profesor dijo: Hay que preguntarles a los programadores qué necesitan, pero aclararles que el cómo se haga es asunto tuyo... Cita: En estas ciencias hay que ser versátil, pero no se puede cruzar de un lado a otro tan fácilmente... "Zapatero, a tus zapatos..."
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: Es un error de integridad de datos?? Cita: que me abra querido decir?? jaja bueno es verdad zapatero a su zapato es muy diferente ver una base de datos diseñada por un programador que por un verdadero DBA, yo no conozco muchos DBA pero hubo uba DB que me mostraron diseñada por uno y me dio pena mostrar alguna de las que he diseñado yo directamente saludos y gracias por tu aclaratorias y comentarios
Iniciado por gnzsoloyo Cuando estudiaba la materia en la Universidad, el profesor decía que la forma de ver las cosas era muy diferente entre programadores y DBA, y a mí me parecía que exageraba. Pero andando el tiempo me centré en el desarrollo de bases de datos, y pude ver (después de varias muy largas discusiones por el asunto con los del equipo de desarrollo), que realmente tenía razón: Se ven las cosas de una forma completamente diferente, aunque se tratara del mismo problema. Finalmente mi solución fue exactamente la misma que en su momento el profesor dijo: Hay que preguntarles a los programadores qué necesitan, pero aclararles que el cómo se haga es asunto tuyo... En estas ciencias hay que ser versátil, pero no se puede cruzar de un lado a otro tan fácilmente...
__________________ aprende d tus errores e incrementa tu conocimientos it's not a bug, it's an undocumented feature By @David php the right way |
| ||||
Respuesta: Es un error de integridad de datos?? Lo siento, no estaba pensando en tí cuando puse el refrán, sino en los miembros de mi equipo, los que querían decirme a mí cómo se diseñaba la base (según ellos), y yo tenía que escucharlos con estoica paciencia mientras pensaba "Este estudió antes de la era del SQL..." ¡Tenía cada uno...! Estaban tan concentrados con lo visual que parecían haber olvidado todo lo que estudiaron del tema. Trata de que no te pase... PD: Yo tambien programo parte de las cosas, porque a veces el tiempo no alcanza, así que miro el puente de los dos lados.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: Es un error de integridad de datos?? En realidad tienes razón en lo que dices cada quien a lo que esta echo aunque como persona del area de desarrollo tienes que tener conceptos claros de ambas cosas, personalmente me voy mas a programación aunque no descarto hacer un diseño de BD, saludos
__________________ aprende d tus errores e incrementa tu conocimientos it's not a bug, it's an undocumented feature By @David php the right way |
Etiquetas: |