¿Cuál es la diferencia entre las restricciones primarias, únicas y de clave externa, y los índices?¿Cuál es la diferencia entre las restricciones primarias, únicas y de clave externa, y los índices?
trabajo en Oracle 10g y SQL Server 2008
¿Cuál es la diferencia entre las restricciones primarias, únicas y de clave externa, y los índices?¿Cuál es la diferencia entre las restricciones primarias, únicas y de clave externa, y los índices?
trabajo en Oracle 10g y SQL Server 2008
clave principal y clave única son las restricciones de integridad de entidad
Clave primaria permite que cada fila de una tabla a ser identificada y asegura que no existen filas duplicadas y no se introducen valores nulos.
La restricción de clave única se utiliza para evitar la duplicación de valores de clave dentro de las filas de una tabla y permite valores nulos. (En el oráculo, un nulo no es igual a otro nulo).
ver Differences between INDEX, PRIMARY, UNIQUE, FULLTEXT in MySQL?
Éstos son algunos referencia para usted:
Primary & foreign key Constraint.
Clave primaria: Una clave principal es un campo o combinación de campos que se únicamente identifique un registro en una tabla, de modo que un registro individual se encuentre sin confusión.
Clave externa: una clave externa (a veces llamada clave de referencia) es una clave utilizada para vincular dos tablas. Normalmente toma el campo de clave principal de una tabla e insertalo en la otra tabla donde se convierte en una clave externa (sigue siendo una clave primaria en la tabla original).
Index, por otro lado, es un atributo que puede aplicar en algunas columnas para que la recuperación de datos en esas columnas pueda acelerarse.
Key/index: Una clave es un aspecto de un diseño de base de datos lógica, un índice es un aspecto de un diseño de base de datos física. Una clave corresponde a una restricción de integridad, un índice es una técnica de grabación física de valores que se puede aplicar de forma útil al aplicar esas restricciones.
Primario/extraño: una clave "primaria" es un conjunto de atributos cuyos valores deben formar una combinación que es única en toda la tabla. Puede haber más de un conjunto (> 1 clave) y la palabra "primaria" es un remanente de los primeros días cuando el diseñador se vio obligado a elegir una de esas claves múltiples como "la más importante/relevante" . La razón de esto fue principalmente en combinación con claves externas:
Al igual que una clave "primaria", una clave "extranjera" también es un conjunto de atributos. Los valores de estos atributos deben formar una combinación que sea un valor de clave principal existente en la tabla a la que se hace referencia. No sé exactamente qué tan estricta sigue siendo esta regla en SQL hoy. La terminología se ha mantenido de todos modos.
Único: palabra clave utilizada para indicar que un índice no puede aceptar entradas duplicadas. Los índices únicos son obviamente un medio excelente para hacer cumplir las claves principales. En la medida en que la palabra "único" se usa en contextos de diseño LÓGICO, es superfluo, descuidado, innecesario y confuso. Las claves (claves primarias, es decir) son únicas por definición.
Clave principal: identificar únicamente cada fila no puede ser nula. no puede ser un duplicado.
Clave externa: crear la relación entre dos tablas. puede ser nulo. puede ser un duplicado
¿Deberían todas las claves foráneas ser la clave principal de la otra relación? De lo contrario, cómo el atributo nulo se identificaría de manera única. – sidgupta234
1) A primary key
es un conjunto de uno o más atributos que identifica de forma única tupla dentro de relación.
2) A foreign key
es un conjunto de atributos a partir de un esquema de relación que se puede identificar de forma exclusiva tuplas Fron otro esquema de relación.
Tuple es una colección de valores de datos que identifica las características de un objeto. –
Clave primaria prevenir principalmente la duplicación y muestra la singularidad de columnas muestra Clave externa, principalmente la relación en dos tablas
NOTA: SQL Server limitaciones y los índices únicos tratan los valores nulos como si fueran iguales, de modo que "en cuyo caso dos filas pueden ser idénticas si ambas contienen un valor NULL ". no es cierto para SQL Server. –