Les claus a MySQL són la columna o el conjunt de columnes que s'utilitzen per construir una relació entre una o més de dues taules. També s'utilitzen per accedir als registres de la taula. Ambdues claus proporcionen una unicitat garantida per a una columna o un conjunt de columnes en una taula o relació. La principal diferència entre ells és que la clau primària identifica cada registre de la taula i la clau única impedeix entrades duplicades en una columna excepte per a un valor NULL. . En aquest article, compararem les diferències essencials entre les claus primàries i les úniques en funció de diversos paràmetres. Abans de fer una comparació, parlarem breument d'aquestes claus.
Madhuri va dir vinga
Què és la clau primària?
La clau primària és a únic o no nul clau que identifica de manera única tots els registres d'aquesta taula o relació. La columna de clau primària no pot emmagatzemar valors duplicats, la qual cosa significa que els valors de la columna de clau primària sempre són únics. També s'anomena a super clau mínima ; per tant, no podem especificar més d'una clau primària en cap relació. Es pot fer referència a una columna de clau primària d'una taula mitjançant una columna de clau estrangera d'una altra taula.
Per exemple , tenim una taula anomenada estudiants amb atributs com ara Stud_ID, Roll_No, Name, Mobile i Email.
Aquí només el Roll_No La columna mai pot contenir un valor idèntic i NULL. Sabem que cada estudiant té un número de registre únic. Per tant, dos estudiants mai poden tenir el mateix número de registre. Aquesta característica ajuda a identificar cada registre de la base de dades de manera única. Per tant, podem fer de l'atribut Roll_No una clau primària.
Característiques de la clau primària
Les següents són les principals característiques clau:
- La columna de clau primària no pot contenir valors duplicats.
- La clau primària implementa la integritat de l'entitat de la taula.
- Una taula no pot tenir més d'una columna de clau primària.
- Podem fer la clau primària a partir d'un o més camps de la taula.
- La columna de clau primària hauria de tenir restriccions NOT NULL.
Què és una clau única?
El clau única és una única columna o combinació de columnes en una taula per identificar de manera única els registres de la base de dades. Una clau única impedeix des de l'emmagatzematge valors duplicats a la columna. Una taula pot contenir diverses columnes de clau úniques, a diferència d'una columna de clau primària. Aquesta clau és similar a la clau primària, excepte que es pot emmagatzemar un valor NULL a la columna de clau única. També s'anomena la clau única restriccions úniques i es pot fer referència amb la clau estrangera d'una altra taula.
Per exemple , considerem la mateixa taula anomenada estudiants amb atributs com Stud_ID, Roll_No, Name, Mobile i Email.
java hola món
Aquí Stud_ID es pot assignar com a restricció única perquè cada alumne ha de tenir un número d'identificació únic. Si un estudiant canvia de universitat, no tindria cap identificació d'estudiant. En aquest cas, l'entrada pot contenir a NUL valor perquè una restricció de clau única permet emmagatzemar NULL, però només hauria de ser una.
Característiques de la clau única
Les següents són les característiques clau essencials úniques:
ordenació de matrius java
- Podem construir la clau única a partir d'un o més camps de taula.
- Una taula pot definir diverses columnes clau úniques.
- Per defecte, una clau única es troba en índexs únics no agrupats.
- La columna de restricció única pot emmagatzemar un valor NULL, però només es permet un NULL per columna.
- La clau estrangera pot fer referència a la restricció única per preservar la singularitat d'una taula.
Diferències clau entre clau primària i clau única
Els punts següents expliquen les diferències clau entre les claus primàries i candidates:
- Una clau primària pot constituir un o més camps d'una taula per identificar els registres d'una taula de manera única. D'altra banda, una clau única evita que dues files tinguin entrades duplicades en una columna.
- Una taula no pot tenir més d'una clau primària en una base de dades relacional, mentre que hi pot haver diverses claus úniques per taula.
- Una columna de clau primària no pot contenir valors NULL, mentre que una clau única pot tenir valors NULL, però només es permet un NULL en una taula.
- Una clau primària hauria de ser única, però una clau única no pot ser necessàriament la clau primària.
- La clau primària per defecte és un índex agrupat on les dades s'organitzen físicament a l'índex seqüencial. En canvi, la clau única és un índex únic no agrupat.
- La clau primària implementa la integritat de l'entitat, mentre que la clau única fa complir les dades úniques.
Gràfic de comparació de clau primària i clau única
El següent gràfic de comparació explica les seves principals diferències d'una manera ràpida:
Base de comparació | Clau primària | Clau única |
---|---|---|
Bàsic | La clau primària s'utilitza com a identificador únic per a cada registre de la taula. | La clau única també és un identificador únic per als registres quan la clau primària no està present a la taula. |
NUL | No podem emmagatzemar valors NULL a la columna de clau primària. | Podem emmagatzemar el valor NULL a la columna de clau única, però només es permet un NULL. |
Propòsit | Impulsa la integritat de l'entitat. | Impulsa dades úniques. |
Índex | La clau primària, per defecte, crea un índex agrupat. | La clau única, per defecte, crea un índex no agrupat. |
Número de clau | Cada taula només admet una clau primària. | Una taula pot tenir més d'una clau única. |
Modificació de valors | No podem canviar ni suprimir els valors de la clau primària. | Podem modificar els valors de la columna de clau única. |
Usos | S'utilitza per identificar cada registre de la taula. | Impedeix emmagatzemar entrades duplicades en una columna excepte per a un valor NULL. |
Sintaxi | Podem crear una columna de clau primària a la taula utilitzant la sintaxi següent:CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) ) | Podem crear una columna de clau única a la taula utilitzant la sintaxi següent:CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) ) |
Conclusió
En aquest article, hem fet una comparació entre les restriccions de clau primària i clau única. Aquí hem conclòs que una clau única és útil quan volem que les columnes no continguin valors duplicats. I la clau primària és útil quan no volem mantenir el valor NULL a la taula. També pot ser ideal quan tenim una clau estrangera en una altra taula per crear una relació entre taules.