verschil tussen primaire sleutel en unieke sleutel

Ik gebruik de mysql-database. Ik heb een verwarring tussen primaire sleutel en unieke sleutel.

Help me alstublieft waar ik de primaire en unieke sleutel moet maken. Ik bedoel in welke situatie we een unieke sleutel of primaire sleutel maken.


Antwoord 1, autoriteit 100%

Primaire sleutel:

  • Er kan maar één primaire sleutel in een tabel zijn
  • In sommige DBMS kan het niet NULLzijn – b.v. MySQL voegt NOT NULL
  • toe

  • Primaire sleutel is een unieke sleutel-ID van het record

Unieke sleutel:

  • Kan meer dan één unieke sleutel in één tabel zijn
  • Unieke sleutel kan NULL-waarden hebben
  • Het kan een kandidaatsleutel zijn
  • Unieke sleutel kan NULLzijn; meerdere rijen kunnen NULL-waarden hebben en mogen daarom niet als “uniek” worden beschouwd

Antwoord 2, autoriteit 32%

Unieke sleutel (VK): het is een kolom of een groep kolommen die een uniciteit in een rij kan identificeren.

Primaire sleutel (PK): het is ookeen kolom of groep kolommen die een uniekheid in een rij kan identificeren.

De primaire sleutel is dus gewoon een andere naam voor de unieke sleutel, maar de standaardimplementatie in SQL Server is anders voor de primaire en unieke sleutel.

Standaard:

  1. PK creëert een geclusterde index en UK creëert een niet-geclusterde index.
  2. PK is niet null, maar VK staat nulls toe (Opmerking: standaard)
  3. Er kan maar één en slechts één PK op een tafel liggen, maar er kunnen meerdere UK’s zijn
  4. U kunt de standaardimplementatie overschrijven, afhankelijk van uw behoefte.

Het hangt er echt van af wat je doel is wanneer je beslist of je een UK of PK wilt creëren. Het volgt een analogie zoals
“Als er een team van drie mensen is, zijn ze allemaal gelijken, maar er zal er een zijn die een paar gelijken zal zijn: PK en UK hebben een vergelijkbare relatie.”. Ik zou willen voorstellen om dit artikel te lezen: Het voorbeeld dat de auteur geeft lijkt misschien niet geschikt, maar probeer een algemeen idee te krijgen.

http://tsqltips.blogspot.com/ 2012/06/difference-between-unique-key-and.html


Antwoord 3, autoriteit 19%

Voor een organisatie of een bedrijf zijn er zoveel fysieke entiteiten (zoals mensen, middelen, machines, enz.) en virtuele entiteiten (hun taken, transacties, activiteiten).
Doorgaans moeten bedrijven informatie van die bedrijfsentiteiten vastleggen en verwerken.
Deze bedrijfsentiteiten worden binnen een heel bedrijfsdomein geïdentificeerd door een Sleutel.

Volgens RDBMS prospectief is sleutel (ook wel kandidaatsleutel genoemd) een waarde of reeks waarden die een entiteit op unieke wijze identificeert.

Voor een DB-Table zijn er zoveel sleutels die mogelijk in aanmerking komen voor Primary Key.
Zodat alle sleutels, primaire sleutel, unieke sleutel, etc. gezamenlijk de kandidaat-sleutel worden genoemd.
DBA heeft echter een sleutel uit de kandidaatsleutel geselecteerd om records te zoeken, de primaire sleutel.

Verschil tussen primaire sleutel en unieke sleutel

1. Gedrag:de primaire sleutel wordt gebruikt om een ​​rij (record) in een tabel te identificeren, terwijl de unieke sleutel wordt gebruikt om dubbele waarden in een kolom te voorkomen (met uitzondering van een null-invoer).

2. Indexering:standaard maakt SQL-engine een geclusterde index op de primaire sleutel als deze niet bestaat en een niet-geclusterde index op een unieke sleutel.

3. Nullabiliteit:de primaire sleutel bevat geen null-waarden, terwijl de unieke sleutel dat wel kan.

4. Bestaan:een tabel kan maximaal één primaire sleutel hebben, maar kan meerdere unieke sleutels hebben.

5. Aanpasbaarheid:u kunt primaire waarden niet wijzigen of verwijderen, maar Unique-key-waarden wel.

Voor meer informatie en voorbeelden:

http://dotnetauthorities.blogspot.in/2013/11/Microsoft-SQL-Server-Training-Online-Learning-Classes-Integrity-Constraints-PrimaryKey-Unique-Key_27.html


Antwoord 4, autoriteit 10%

Een primaire sleutel moet uniek zijn.

Een unieke sleutel hoeft niet de primaire sleutel te zijn – zie kandidaatsleutel.

Dat wil zeggen, er kan meer dan één combinatie van kolommen in een tabel zijn die een rij uniek kunnen identificeren – slechts één hiervan kan worden geselecteerd als de primaire sleutel. De andere, hoewel uniek, zijn kandidaatsleutels.


Antwoord 5, autoriteit 7%

Verschil tussen primaire sleutel en unieke sleutel

+-----------------------------------------+-----------------------------------------------+
|                Primary Key              |                    Unique Key                 |
+-----------------------------------------+-----------------------------------------------+
| Primary Key can't accept null values.   | Unique key can accept only one null value.    |
+-----------------------------------------+-----------------------------------------------+
| By default, Primary key is clustered    | By default, Unique key is a unique            |
| index and data in the database table is | non-clustered index.                          |
| physically organized in the sequence of |                                               |
| clustered index.                        |                                               |
+-----------------------------------------+-----------------------------------------------+
| We can have only one Primary key in a   | We can have more than one unique key in a     |
| table.                                  | table.                                        |
+-----------------------------------------+-----------------------------------------------+
| Primary key can be made foreign key     | In SQL Server, Unique key can be made foreign |
| into another table.                     | key into another table.                       |
+-----------------------------------------+-----------------------------------------------+

Gedetailleerde informatie vindt u op:
http://www .dotnet-tricks.com/Tutorial/sqlserver/V2bS260912-Difference-between-Primary-Key-and-Unique-Key.html


Antwoord 6, autoriteit 6%

Een primaire sleutel heeft de semantiek van het identificeren van de rij van een database. Daarom kan er maar één primaire sleutel zijn voor een bepaalde tabel, terwijl er veel unieke sleutels kunnen zijn.

Ook om dezelfde reden kan een primaire sleutel niet NULL zijn (tenminste in Oracle, niet zeker over andere databases)

Omdat het de rij identificeert, mag het nooit veranderen. Het veranderen van primaire sleutels zal ongetwijfeld ernstige pijn en waarschijnlijk eeuwige verdoemenis veroorzaken.

Daarom wil je in de meeste gevallen een kunstmatige id voor de primaire sleutel die alleen voor het identificeren van enkele rijen in de tabel wordt gebruikt.

Unieke toetsen daarentegen kunnen zo veel veranderen als je wilt.


Antwoord 7, autoriteit 3%

Een primaire sleutel is een unieke sleutel.

Elke tabel moet maximaalÉÉN primaire sleutel hebben, maar deze mag meerdere unieke sleutels hebben. Een primaire sleutel wordt gebruikt om een ​​tabelrij uniek te identificeren. Een primaire sleutel kan niet NULLzijn, aangezien NULLgeen waarde is.


Antwoord 8, autoriteit 3%

  • Denk dat de tafelnaam werknemer is.
  • Primaire sleutel
  • Primaire sleutel kan geen null-waarden accepteren. primaire sleutel dwingt uniciteit van a . af
    kolom. We kunnen slechts één primaire sleutel in een tabel hebben.
  • Unieke sleutel
  • Unieke sleutel kan null-waarden accepteren. unieke sleutel dwingt ook de uniciteit van een kolom af. Je kunt denken dat als de unieke sleutel null-waarden bevat, waarom deze dan uniek kan zijn? ja, hoewel het null-waarden kan accepteren, dwingt het de uniciteit van een kolom af. kijk maar eens op de foto. Hier is Emp_ID primair en Citizen ID is uniek. Hoop dat je het begrijpt. We kunnen meerdere unieke sleutels in een tabel gebruiken.
    voer hier de afbeeldingsbeschrijving in

Antwoord 9, autoriteit 3%

Ik weet dat deze vraag al enkele jaren oud is, maar ik wil hier graag een antwoord op geven door uit te leggen waarom in plaats van hoe

Doel van primaire sleutel: om een ​​rij in een database uniek te identificeren => Een rij vertegenwoordigt een enkele instantie van het entiteitstype dat door de tabel wordt gemodelleerd. Een primaire sleutel dwingt de integriteit van een entiteit af, AKA Entity Integrity. Primaire sleutel zou een geclusterde index zijn, d.w.z. het definieert de volgorde waarin gegevens fysiek in een tabel worden opgeslagen.

Doel van unieke sleutel: Ok, met de primaire sleutel hebben we een manier om een ​​rij uniek te identificeren. Maar ik heb een zakelijke behoefte zodat een andere kolom/een reeks kolommen unieke waarden moet hebben. Welnu, technisch gezien, aangezien deze kolom(men) uniek is, kan het een kandidaat zijn om de integriteit van entiteiten af ​​te dwingen. Maar voor zover we weten, kan deze kolom gegevens bevatten die afkomstig zijn van een externe organisatie waarvan ik betwijfel of ze uniek zijn. Ik vertrouw het misschien niet om de integriteit van de entiteit te bieden. Ik maak er gewoon een unieke sleutel van om aan mijn zakelijke vereisten te voldoen.

Daar ga je!


Antwoord 10

Als het ontwerp van uw database zodanig is dat er geen externe sleutel nodig is, kunt u de unieke sleutel gebruiken( maar onthoud dat de unieke sleutel een enkele null-waarde toestaat).

Als je database een externe sleutel vraagt, dan heb je geen keuze en moet je met de primaire sleutel gaan.

Als u het verschil wilt zien tussen een unieke en een primaire sleutel, gaat u naar hier


Antwoord 11

Unieke sleutel:-
Het moet worden gebruikt wanneer u een unieke waarde moet geven. In het geval van:
unieke sleutel betekent dit dat null-waarden ook zijn toegestaan. Unieke sleutels zijn dat
sleutels die uniek en niet vergelijkbaar zijn in die kolom, zoals bijvoorbeeld
uw koosnaampje.it kan niets zijn als null en als u vraagt ​​in de context van de database, moet worden opgemerkt dat elke null anders is dan een andere null in de database.BEHALVE-SQL-server waar null=null waar is


primaire sleutel:-
Het zou moeten worden gebruikt wanneer u een rij uniek moet identificeren. Primair is de sleutel die uniek is voor elke rij in een databasebeperking, is dat er geen null in staat. Dus u hebt misschien gezien dat de database een kolom heeft die is auto increment en het is de primaire sleutel van de tabel. plus het kan worden gebruikt als een externe sleutel in een andere tabel.voorbeeld kan zijn orderId op een ordertabel,billId in een factuurtabel.

kom nu terug naar de situatie wanneer je het moet gebruiken:-

1)primaire sleutel in de kolom die kan
niet null zijn in de tabel en u gebruikt als externe sleutel in een andere
tabel voor het maken van een relatie

2) unieke sleutel in tabel waar het
heeft geen invloed in de tabel of in de hele database of u de
null voor de specifieke kolom zoals snacks in het restaurant is het
mogelijk neem je geen snacks mee in een restaurant


Antwoord 12

verschil tussen primaire sleutel en unieke sleutel

Zowel Primary keyals Unique Keyworden gebruikt om een ​​rij in een tafel.
Primary keymaakt een clustered indexvan de kolom terwijl een Unique creates an unclustered index of the column.

A Primary Keystaat geen NULL valuetoe, maar a Unique Keystaat wel one NULL valuetoe .


Antwoord 13

Gewoon de primaire sleutel is uniek en kan niet null zijn, uniek kan null zijn en mag niet uniek zijn.


Antwoord 14

Primaire toetsen

Het belangrijkste doel van de primaire sleutel is om een ​​middel te bieden om elk record in de tabel te identificeren.

De primaire sleutel biedt een middel om de rij te identificeren met behulp van gegevens binnen de rij. Een primaire sleutel kan gebaseerd zijn op een of meer kolommen, zoals voor- en achternaam; in veel ontwerpen is de primaire sleutel echter een automatisch gegenereerd nummer uit een identiteitskolom.

Een primaire sleutel heeft de volgende kenmerken:

  1. Er kan maar één primaire sleutel voor een tabel zijn.
  2. De primaire sleutel bestaat uit een of meer kolommen.
  3. De primaire sleutel dwingt de entiteitsintegriteit van de tabel af.
  4. Alle gedefinieerde kolommen moeten worden gedefinieerd als NOT NULL.
  5. De primaire sleutel identificeert een rij op unieke wijze.
  6. Primaire sleutels resulteren standaard in GECLUSTERDE unieke indexen.

Unieke sleutels

Een unieke sleutel wordt ook wel een unieke beperking genoemd. Een unieke beperking kan worden gebruikt om ervoor te zorgen dat rijen uniek zijn binnen de database.

Doen we dat niet al met de primaire sleutel? Ja, dat doen we, maar een tabel kan verschillende sets kolommen hebben die u uniek wilt hebben.

In SQL Server heeft de unieke sleutel de volgende kenmerken:

  1. Er kunnen meerdere unieke sleutels voor een tabel zijn gedefinieerd.
  2. Unieke sleutels resulteren standaard in NIET-GECLUSTERDE unieke indexen.
  3. Een of meer kolommen vormen een unieke sleutel.
  4. Kolom mag NULL zijn, maar één NULL per kolom is toegestaan.
  5. Een unieke beperking kan worden verwezen door een externe sleutelbeperking.

bron: hier


Antwoord 15

De belangrijkste kenmerken van een primaire sleutel zijn:

Het moet een unieke waarde bevatten voor elke rij met gegevens.
Het mag geen null-waarden bevatten.
Slechts één primaire sleutel in een tabel.

De belangrijkste kenmerken van A Unique zijn:

Het kan ook een unieke waarde bevatten voor elke rij gegevens.

Het kan ook null-waarden bevatten.

Meerdere unieke sleutels in een tabel.

Other episodes