Me pregunto si podemos crear una clave principal en una tabla en el servidor sql sin ningún tipo de índice en ella?Clave principal sin ningún índice en una tabla?
Respuesta
No. Como una implementación detalle, SQL Server mantiene la clave principal utilizando un índice. No puedes evitar que lo haga. La clave principal:
- Asegura que no existen valores de clave duplicados
- Permite filas individuales a ser identificados/visitada
SQL Server ya cuenta con mecanismos que ofrecen estas características - índices únicos - por lo que utiliza aquellos para hacer cumplir la restricción.
Quiero agregar que por defecto el servidor sql crea un índice agrupado. Puede anular este comportamiento y el servidor creará un índice no agrupado. – gstackoverflow
En realidad, las funciones de indexación se realizan de la misma manera que se recorre un libro. No se puede ir a una página o tema en particular a menos que haya un número de página y su relación con los temas. Esta "Paginación" (ordenamiento) de filas se realiza físicamente por índice agrupado en SQL Server. Si no hay PK en una tabla, se puede agregar un índice agrupado en cualquier columna calificativa de clave única. Como no puede haber más de un índice agrupado en una tabla, y todos los demás índices no agrupados dependen del índice agrupado para búsqueda/recorrido, no puede crear una PK de PK sin índice agrupado.
PK! = Índice agrupado. Puede tener tablas con múltiples índices no agrupados y sin índice agrupado (también conocido como montón). La ordenación física es prácticamente irrelevante y no está completamente determinada por el índice agrupado. –
Puede crear una tabla con una clave principal que no sea un índice agrupado agregando la palabra clave NONCLUSTERED
después de la palabra primary key
.
En lugar de publicar solo la respuesta a una pregunta como esta. Solo dé un ejemplo para entender bien. – tarzanbappa
- 1. Tablas sin clave principal
- 2. mysqldump tabla sin volcar la clave principal
- 3. Crear tabla de unión sin clave principal
- 4. Hibernar sin clave principal
- 5. Creando una clave principal en una tabla temporal - ¿Cuándo?
- 6. ¿Se necesita un índice para una clave principal en SQLite?
- 7. ¿La clave principal es automáticamente un índice?
- 8. cómo agregar una clave principal a una tabla en rieles
- 9. Mapeo de tabla de Fluiber-NHibernate sin clave principal
- 10. Oracle: Identificación de duplicados en una tabla sin índice
- 11. Eliminar duplicados sin clave principal
- 12. Insertar donde no existe-Sin clave principal
- 13. EF CodeFirst crear índice de clave principal no agrupado
- 14. PHP MySQL Comprobar si una tabla tiene una clave principal
- 15. SQL - muchos-a-muchos tabla principal clave
- 16. ¿Obtener la clave principal de la tabla?
- 17. Sqlite3: ¿Desactivar el índice de clave principal durante la inserción?
- 18. Acerca del índice y la clave principal en SQL?
- 19. Cómo eliminar propiedad en clúster pero conservar la clave principal en una tabla. SQL Server 2005
- 20. Entidad JPA para una tabla sin clave primaria
- 21. Agregar clave principal a una tabla con muchos registros
- 22. ¿Cuándo no necesitamos una clave principal para nuestra tabla?
- 23. Pregunta SQL para encontrar la clave principal de una tabla?
- 24. SQLAlchemy uno-a-muchos sin que la tabla secundaria tenga una clave principal
- 25. ¿Cómo puedo obtener todos los elementos de una tabla DynamoDB sin especificar la clave principal?
- 26. Clave principal ascendente vs descendente
- 27. Cómo crear un modelo sin clave principal en rieles
- 28. ¿podemos tener una clave externa que no sea la clave principal en ninguna otra tabla?
- 29. Django: ¿Crear elementos sin especificar una clave principal?
- 30. Agregar columna de clave principal en la tabla SQL
La clave principal es un índice. Tu pregunta no tiene sentido ... – sp00m
Lo sé. Mi pregunta era si quiero crear Pk pero no cualquier índice – AnandPhadke
O ser pedante un PK es una restricción lógica que siempre se implementa mediante un índice único en versiones actuales de SQL Server. –