Antes de discutir sobre la diferencia entre la clave principal y clave única, es importante para determinar lo que es clave, la forma en que juega un papel en los negocios y la forma en que se implementa en SQL/Oracle etc.
Para una empresa o negocio, hay tantas entidades físicas (como personas, recursos, máquinas, etc.) y entidades virtuales (sus Tareas, transacciones, actividades) . Normalmente, las empresas necesitan registrar y procesar información para esas entidades comerciales. Estas entidades comerciales se identifican dentro de un dominio empresarial completo mediante una clave.
Según RDBMS prospectivo: Clave (a. K.a Clave candidata), un valor o conjunto de valores que identifica de forma única a la entidad. Para una tabla Db, existen tantas claves que pueden ser elegibles para la clave principal. Para que todas las claves, clave principal, clave única, etc. se denominen colectivamente como clave candidata.
Para una tabla DBA seleccionada La clave candidata se llama clave principal, otras claves candidatas se llaman claves secundarias.
Diferencia entre la clave principal y clave única
1.Comportamiento: La clave principal se utiliza para identificar una fila (registro) en una tabla, mientras que la clave única es para evitar valores duplicados en una columna.
2. Indexación: De forma predeterminada, Sql-engine crea el índice agrupado en la clave primaria si no existe y el índice no agrupado en la clave única.
3. Nulability: La clave principal no incluye valores nulos, mientras que Unique-key puede.
4. Existencia: Una tabla puede tener como máximo una clave principal, pero puede tener varias claves únicas.
5. Modificabilidad: No puede cambiar ni eliminar valores primarios, pero los valores de clave única sí pueden.
Para obtener más información con ejemplos: http://dotnetauthorities.blogspot.in/2013/11/Microsoft-SQL-Server-Training-Online-Learning-Classes-Integrity-Constraints-PrimaryKey-Unique-Key_27.html
¿a qué te refieres con 'PK puede abarcar varias columnas'? – nectar
En muchos ejemplos, verá que la clave principal es una sola columna en la tabla; a menudo un número de identificación entero que identifica de manera única la fila (esto se llama una columna de identidad). Eso está bien (y, a menudo, es conveniente), pero el PK no * tiene * para ser una sola columna. – Kramii
Por ejemplo, podría tener una tabla de Productos. Supongamos que cada producto viene en varios modelos y en varios colores, por lo que la tabla Products tiene una columna ModelNum y una columna Color. Ahora, ni la columna ModelNum ni Colour identifican de manera única un Producto, pero juntos lo hacen. En ese caso, puede definir una clave principal que incluya las columnas ModelNum y Colour (esto se denomina "clave primaria compuesta"). Por supuesto, hay pros y contras de la columna de identidad PK versus el enfoque PK de columna compuesta ... pero esa es otra pregunta. – Kramii