¿tabla sin pk?

24/06/2008 - 17:35 por Sergio | Informe spam
Hola:

Tengo algunas tablas que están formadas por 5 o 6 campos donde todos
ellos serían la PK. Hasta ahí ningún problema. Pero auque
conceptualmente todos esos campos forman la PK, algunos de ellos
pueden tener NULL, por lo que SQL Server no me deja que formen la PK.
Ahora mismo lo estoy solucionando con un índice único agrupado de los
5 o 6 campos y sin definir una PK en la tabla. Estaba pensando si este
índice es o no similar a una PK (por lo menos es único y agrupado) en
lo relativo a rendimiento,etc. Además no cabe duda de que es un poco
chocante ver una tabla sin PK. ¿Debería agregar una PK aunque fuera
con un autonumérico (aunque que no me gusta guardar nada que no sea
relevante)? ¿Cuá es vuestra opinión?
Gracias y un saludo.
 

Leer las respuestas

#1 Gux (MVP)
24/06/2008 - 19:03 | Informe spam
Hay varias cosas que no cierran. Usted dice que todos los 5 (o 6) campos
forman la PK, es decir que identifican a la fila... pero también dice que
algunos de esos campos admiten nulos.

Entonces no es cierto que esos campos forman una PK.

Qué es lo que modela usted en esa tabla? Puede explicarlo para no estar
hablando teóricamente?

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Sergio" wrote:

Hola:

Tengo algunas tablas que están formadas por 5 o 6 campos donde todos
ellos serían la PK. Hasta ahí ningún problema. Pero auque
conceptualmente todos esos campos forman la PK, algunos de ellos
pueden tener NULL, por lo que SQL Server no me deja que formen la PK.
Ahora mismo lo estoy solucionando con un índice único agrupado de los
5 o 6 campos y sin definir una PK en la tabla. Estaba pensando si este
índice es o no similar a una PK (por lo menos es único y agrupado) en
lo relativo a rendimiento,etc. Además no cabe duda de que es un poco
chocante ver una tabla sin PK. ¿Debería agregar una PK aunque fuera
con un autonumérico (aunque que no me gusta guardar nada que no sea
relevante)? ¿Cuá es vuestra opinión?
Gracias y un saludo.

Preguntas similares