Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Llaves compuestas?? Cuando utilizarlas?

Estas en el tema de Llaves compuestas?? Cuando utilizarlas? en el foro de Bases de Datos General en Foros del Web. Hola a todos, cómo van?? Mmmm es una duda técnica... tal como dice el título del mensaje... cuando utilizar llaves compuestas como pk?? La verdad ...
  #1 (permalink)  
Antiguo 08/06/2008, 22:16
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Pregunta Llaves compuestas?? Cuando utilizarlas?

Hola a todos, cómo van??

Mmmm es una duda técnica... tal como dice el título del mensaje... cuando utilizar llaves compuestas como pk?? La verdad no sé si nunca las he necesitado o es otra de forma de hacer una pk, como es mejor un pk como identificador numérico o utilizar varios campos como pk??

Siempre que hago una tabla, su pk es un identificador numérico autoincrementable.

Espero me hayan entendido...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #2 (permalink)  
Antiguo 09/06/2008, 03:44
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Llaves compuestas?? Cuando utilizarlas?

Cita:
Iniciado por Carxl Ver Mensaje
Hola a todos, cómo van??

Mmmm es una duda técnica... tal como dice el título del mensaje... cuando utilizar llaves compuestas como pk??
Por ejemplo en relacion n:m.
Tablas Coches(PK = id_coche)-Conductores(PK = id_conductor)
Tabla n:m Conduciones (PK = id_coche, id_conductor)

Cita:
La verdad no sé si nunca las he necesitado o es otra de forma de hacer una pk, como es mejor un pk como identificador numérico o utilizar varios campos como pk??

Siempre que hago una tabla, su pk es un identificador numérico autoincrementable.
Siempre que puedas hacerlo, mejor ;)

Salu2
  #3 (permalink)  
Antiguo 09/06/2008, 07:33
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
De acuerdo Respuesta: Llaves compuestas?? Cuando utilizarlas?

Que pena con ustedes, no fue muy claro...

Seyko, gracias por respoder; en las relaciones n:m siempre utilizo llaves compuestas Mi pregunta es fuera de esa opción, cuando es mejor utilizar compuestas como pk?? Cuando es necesario crear llaves compuestas en vez de un autonumérico?? No fuí muy claro...

Saludos, excusas de nuevo
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #4 (permalink)  
Antiguo 09/06/2008, 07:45
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Llaves compuestas?? Cuando utilizarlas?

Personalmente, solo las utilizo cuando no queda más remedio, y esto solo me ha pasado cuando he tocado una BD que ya existia y que habia que cambiar, como ya estaba en producción no tuve más remedio que hacerlo.

Mi opinion, es que fuera de las n:m y con un buen diseño no son necesarias, por ejemplo:

Una tabla Semestres (PK = n_año, n_semestre) -- Aqui podrias tener una PK de dos campos
Pero se pueden dejar como UNIQUE y añadir un autoincremental como PK. Para mi esta opcion es mejor, porque simplifica las relaciones de la tabla con el resto del modelo.

A ver si ahora nos entendemos
  #5 (permalink)  
Antiguo 09/06/2008, 09:41
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Llaves compuestas?? Cuando utilizarlas?

Carxl
Depende del diseño. por ejemplo en un centro de estudios los IDs representan la fecha de ingreso y numero de expediente, y según las reglas de cada institución, y así se pueden dar con los libros que su Id sea un ISBN, etc.
En general se usa cuando se desea que los Ids sean descriptivos.

Espero haber entendido tu interrogante

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #6 (permalink)  
Antiguo 09/06/2008, 10:18
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Llaves compuestas?? Cuando utilizarlas?

Cita:
Iniciado por Genetix Ver Mensaje
En general se usa cuando se desea que los Ids sean descriptivos.
Un resumen genial
Hago hincapié en se desea

Salu2
  #7 (permalink)  
Antiguo 09/06/2008, 11:17
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
De acuerdo Respuesta: Llaves compuestas?? Cuando utilizarlas?

Hola seyko, Genetix.

Sus opiniones han sido de mucha ayuda... suponía que dependía mas de la necesidad del sistema que como una regla absoluta

Gracias por aclararme esa duda

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #8 (permalink)  
Antiguo 10/06/2008, 11:53
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Respuesta: Llaves compuestas?? Cuando utilizarlas?

Hola,

Espero no llegar muy tarde para agregar un pequeño comentario, este debate lleva tantos años como las bases de datos relacionales, natural key vs surrogate key.

Como bien se ha dicho, es un tema de gustos y diseños, hay quienes son fanaticos religiosos de las natural key (ids descriptivos) que prefieren crear una pk compuesta de n campos en vez de una primary key surrogate o auto-numerico, o secuencia, etc. Y por supuesto estan los opuestos, que aun cuando la primary key es obvia, siempre crean un campo mas llamado Id.

La realidad es que hay que evaluar cada caso en particular, dado que hay pros y contras, independientemente de la cantidad de campos que componen la primary key, por ejemplo

Una tabla de personas, donde unos de los campos es el DNI, por definicion el DNI es unico e inmutable (no cambia), un pro puede ser que me evito JOINS cuando consulto las tablas hijos, dado que ya tengo el DNI (algo parecido a desnormalizacion), y una contra puede ser que el campo DNI ocupa mas espacio que un auto-numerico, secuencia, etc.

En fin, despues de toda esta verborragia, lo que queria comentar era que las primary key compuestas son utiles cuando se prefieren las natural key sobre las surrogate key.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:30.