Estoy usando la base de datos mysql. Tengo una confusión entre la clave primaria y la clave única.
Por favor, ayúdame donde debo crear la clave principal y única. Quiero decir en qué situación creamos una clave única o clave primaria.
Estoy usando la base de datos mysql. Tengo una confusión entre la clave primaria y la clave única.
Por favor, ayúdame donde debo crear la clave principal y única. Quiero decir en qué situación creamos una clave única o clave primaria.
PRIMARY KEY = UNIQUE KEY + Not Null CONSTRAINT
Respuestas:
Clave primaria:
NULL
, por ejemplo, MySQL agregaNOT NULL
Llave unica:
NULL
valoresNULL
; varias filas pueden tenerNULL
valores y, por lo tanto, no pueden considerarse "únicas"fuente
Clave única (Reino Unido) : es una columna o un grupo de columnas que pueden identificar una singularidad en una fila.
Clave primaria (PK) : también es una columna o grupo de columnas que puede identificar una unicidad en una fila.
Por lo tanto, la clave principal es solo otro nombre para la clave única, pero la implementación predeterminada en SQL Server es diferente para la clave principal y única.
Por defecto:
Realmente depende de cuál es su objetivo al decidir si crear un Reino Unido o PK. Sigue una analogía como "Si hay un equipo de tres personas, entonces todas son pares, pero habrá una de ellas que será un par de pares: PK y el Reino Unido tienen una relación similar". Sugeriría leer este artículo: el ejemplo dado por el autor puede no parecer adecuado, pero trate de tener una idea general.
http://tsqltips.blogspot.com/2012/06/difference-between-unique-key-and.html
fuente
[table_name]_pkey
se agrega una nueva columna (con nombre predeterminado ) a la tabla (he escuchado que se conoce como una clave sustituta). Fuente: postgresqltutorial.com/postgresql-primary-key Soy nuevo en todo esto, así que agradecería un póster más informado para señalar los matices que me perdí.Para una organización o un negocio, hay tantas entidades físicas (como personas, recursos, máquinas, etc.) y entidades virtuales (sus tareas, transacciones, actividades). Por lo general, las empresas necesitan registrar y procesar la información de esas entidades comerciales. Estas entidades comerciales se identifican dentro de un dominio comercial completo mediante una clave.
Según el prospectivo RDBMS, la clave (también conocida como clave candidata) es un valor o conjunto de valores que identifica de forma exclusiva a una entidad.
Para una DB-Table, existen tantas claves que pueden ser elegibles para la Clave primaria. De modo que todas las claves, clave primaria, clave única, etc. se denominan colectivamente como clave candidata. Sin embargo, DBA seleccionó una clave de la clave candidata para buscar registros que se llama Clave primaria.
Diferencia entre clave primaria y clave única
1. Comportamiento: la clave primaria se usa para identificar una fila (registro) en una tabla, mientras que la clave única es para evitar valores duplicados en una columna (con la excepción de una entrada nula).
2. Indexación: de forma predeterminada, el motor SQL crea el índice agrupado en la clave principal si no existe y el índice no agrupado en la clave única.
3. Nulabilidad: la clave primaria no incluye valores nulos, mientras que la clave única sí.
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í.
Para más información y ejemplos:
http://dotnetauthorities.blogspot.in/2013/11/Microsoft-SQL-Server-Training-Online-Learning-Classes-Integrity-Constraints-PrimaryKey-Unique-Key_27.html
fuente
Una clave primaria debe ser única.
Una clave única no tiene que ser la clave principal; consulte la clave candidata .
Es decir, puede haber más de una combinación de columnas en una tabla que puede identificar de forma exclusiva una fila; solo una de ellas se puede seleccionar como clave principal. Los otros, aunque únicos, son claves candidatas.
fuente
Puede encontrar información detallada en:
http://www.dotnet-tricks.com/Tutorial/sqlserver/V2bS260912-Difference-between-Primary-Key-and-Unique-Key.html
fuente
Una clave primaria tiene la semántica de identificar la fila de una base de datos. Por lo tanto, solo puede haber una clave principal para una tabla determinada, mientras que puede haber muchas claves únicas.
También por la misma razón, una clave principal no puede ser NULL (al menos en Oracle, no estoy seguro acerca de otras bases de datos)
Como identifica la fila, nunca debería cambiar. Cambiar las claves principales está destinado a causar un dolor grave y probablemente una condenación eterna.
Por lo tanto, en la mayoría de los casos, desea una identificación artificial para la clave primaria que no se usa para otra cosa que no sea identificar filas individuales en la tabla.
Las teclas únicas, por otro lado, pueden cambiar todo lo que desee.
fuente
Una clave primaria es una clave única.
Cada tabla debe tener como máximo UNA clave principal, pero puede tener varias claves únicas. Una clave primaria se utiliza para identificar de forma exclusiva una fila de la tabla. Una clave primaria no puede ser
NULL
yaNULL
que no es un valor.fuente
fuente
Sé que esta pregunta tiene varios años, pero me gustaría responder a esto explicando por qué en lugar de cómo
Propósito de la clave primaria : para identificar una fila en una base de datos de forma exclusiva => Una fila representa una sola instancia del tipo de entidad modelado por la tabla. Una clave primaria impone la integridad de una entidad, AKA Integridad de entidad. La clave primaria sería un índice agrupado, es decir, define el orden en que los datos se almacenan físicamente en una tabla.
Propósito de la clave única : Ok, con la clave primaria tenemos una manera de identificar de forma única una fila. Pero tengo una necesidad comercial tal que otra columna / un conjunto de columnas debe tener valores únicos. Bueno, técnicamente, dado que esta columna (s) es única, puede ser un candidato para hacer cumplir la integridad de la entidad. Pero, por lo que sabemos, esta columna puede contener datos provenientes de una organización externa de la que puedo tener dudas acerca de ser único. No puedo confiar en que proporcione integridad de la entidad. Simplemente lo convierto en una clave única para cumplir con los requisitos de mi negocio.
Ahí tienes!
fuente
Si el diseño de su base de datos es tal que no necesita una clave externa, entonces puede usar la clave única ( pero recuerde que la clave única permite un valor nulo único ).
Si la base de datos exige una clave externa, entonces se va sin opción, tiene que ir con la clave primaria.
Para ver la diferencia entre la clave única y la principal, visite aquí
fuente
1) clave principal en la columna que no puede ser nula en la tabla y que está utilizando como clave externa en otra tabla para crear una relación
2) clave única en la tabla donde no afecta en la tabla o en toda la base de datos si toma el valor nulo para la columna en particular, como bocadillos en el restaurante, es posible que no tome bocadillos en un restaurante
fuente
diferencia entre clave primaria y clave única
Ambos
Primary key
yUnique Key
se utilizan para definir de forma única una fila en una tabla.Primary Key
crea aclustered index
de la columna mientras que aUnique creates an unclustered index of the column
.A Primary Key
no permiteNULL value
, sin embargoa Unique Key
, permiteone NULL value
.fuente
Simply Primary Key es un único y no puede ser nulo, único puede ser nulo y puede no ser único.
fuente
may not be unique
significa aquí?Claves primarias
El objetivo principal de la clave primaria es proporcionar un medio para identificar cada registro en la tabla.
La clave primaria proporciona un medio para identificar la fila, utilizando datos dentro de la fila. Una clave primaria puede basarse en una o más columnas, como el nombre y el apellido; sin embargo, en muchos diseños, la clave primaria es un número generado automáticamente a partir de una columna de identidad.
Una clave primaria tiene las siguientes características:
Llaves únicas
Una clave única también se denomina restricción única. Se puede usar una restricción única para garantizar que las filas sean únicas dentro de la base de datos.
¿Ya no hacemos eso con la clave primaria? Sí, lo hacemos, pero una tabla puede tener varios conjuntos de columnas que desea que sean únicas.
En SQL Server, la clave única tiene las siguientes características:
fuente: aquí
fuente
Las características principales de una clave principal son:
Debe contener un valor único para cada fila de datos. No puede contener valores nulos. Solo una clave primaria en una tabla.
Las características principales de una clave única son:
También puede contener un valor único para cada fila de datos.
También puede contener valores nulos.
Múltiples claves únicas en una tabla.
fuente