none
crear tabla con dos claves primarias RRS feed

Respuestas

  • Una tabla sólo puede tener una clave primaria. Igual te refieres a que dicha clave primaria contenga varios campos; en ese caso lo único que tienes que hacer (si es por TSQL) es poner los campos que formen parte de la PK separados por comas
    • Propuesto como respuesta Carlos Sacristan lunes, 27 de septiembre de 2010 16:34
    • Marcado como respuesta becavas martes, 28 de septiembre de 2010 19:08
    lunes, 27 de septiembre de 2010 16:34
  • Depende del tipo de consulta, claro que puede ser mas lenta. Una clave primaria identifica unicamente a una fila, asi que si vas a usar la clave primaria para traer esa fila, entonces no notaras la diferencia en desempenio entre una forma u otra.

    Ahora, cuando unimos esta tabla con otras tablas que la referencian a ella, entonces la cosa cambia, pues ya no estaremos trayendo una sola fila sino unas cuantas.

    En ese caso queda a discrecion de quien modela, que se use una clave natural o una artificial o surrogada.

    Que casualidad, creo que fue Carlos Sacristan quien escribio un articulo muy interesante sobre este tema, hace ya algun tiempo.

    Diseño de bases de datos con SQL Server ¿ Claves naturales o artificiales ?


    AMB

    Some guidelines for posting questions...

    • Marcado como respuesta becavas martes, 28 de septiembre de 2010 19:08
    lunes, 27 de septiembre de 2010 17:21

Todas las respuestas

  • Una tabla sólo puede tener una clave primaria. Igual te refieres a que dicha clave primaria contenga varios campos; en ese caso lo único que tienes que hacer (si es por TSQL) es poner los campos que formen parte de la PK separados por comas
    • Propuesto como respuesta Carlos Sacristan lunes, 27 de septiembre de 2010 16:34
    • Marcado como respuesta becavas martes, 28 de septiembre de 2010 19:08
    lunes, 27 de septiembre de 2010 16:34
  • entiend amigo, pero tengo duda, una tabla que tiene varios campos como parte de su clave primaria es mas lenta de consultar en comparación a una que tiene un solo campo como clave primaria?
    desarrollador .NET
    lunes, 27 de septiembre de 2010 17:12
  • Depende del tipo de consulta, claro que puede ser mas lenta. Una clave primaria identifica unicamente a una fila, asi que si vas a usar la clave primaria para traer esa fila, entonces no notaras la diferencia en desempenio entre una forma u otra.

    Ahora, cuando unimos esta tabla con otras tablas que la referencian a ella, entonces la cosa cambia, pues ya no estaremos trayendo una sola fila sino unas cuantas.

    En ese caso queda a discrecion de quien modela, que se use una clave natural o una artificial o surrogada.

    Que casualidad, creo que fue Carlos Sacristan quien escribio un articulo muy interesante sobre este tema, hace ya algun tiempo.

    Diseño de bases de datos con SQL Server ¿ Claves naturales o artificiales ?


    AMB

    Some guidelines for posting questions...

    • Marcado como respuesta becavas martes, 28 de septiembre de 2010 19:08
    lunes, 27 de septiembre de 2010 17:21