Hvad er forskellen mellem en kandidatnøgle og en supernøgle?


Svar 1:

Kandidatnøgle:

  • En kandidatnøgle er simpelthen den "korteste" supernøgle. Kandidatnøgle er individuelle kolonner i en tabel, der kvalificerer til unikhed for hver række / tuple. Hver tabel skal have mindst én kandidatnøgle, men på samme tid kan have flere. En kandidatnøgle er en "minimal" supernøgle - hvilket betyder den mindste delmængde af supernøgleattributter, der er unikke. Fjernelse af en attribut fra en kandidatnøgle ville derfor gøre det ikke-unikt. Kandidatnøgler er de nøgler, der er kandidat til den primære nøgle i en tabel. Med enkle ord kan vi forstå, at en sådan type nøgler, der fuldt ud udfylder alle kravene til den primære nøgle, som ikke er null og har unikke poster, er en kandidat til den primære nøgle.

Supernøgle:

  • En supernøgle er ethvert sæt attributter, som værdierne garanteres at være unikke for alle mulige sæt tupler i en tabel til enhver tid. Supernøgle er et sæt med en eller flere taster, der kan bruges til at identificere en post unikt i en tabel. Primærnøgle, unik nøgle, alternativ nøgle er undergruppen af ​​supernøgler. En supernøgle er simpelthen en ikke-minimal kandidatnøgle, det vil sige en med yderligere kolonner, der ikke er strengt påkrævet for at sikre rækkefølgenes unikhed. Hver supernøgle er i stand til entydigt at identificere hver tuple (post).

Lær om flere nøgler, der bruges i databasen ved forskellige typer nøgler i databasen

Lær det grundlæggende i SQL-database fra denne video nedenfor


Svar 2:

Lad os tage et eksempel på en medarbejdertabel: Medarbejder (Medarbejder-ID, FullName, SSN, DeptID)

Her kandidatnøgle: er individuelle kolonner i en tabel, der kvalificerer til unikhed i alle rækker. Her i medarbejdertabel MedarbejderID & SSN er kandidatnøgler.

Og supernøgle: Hvis du tilføjer en anden kolonne / attribut til en primær nøgle, bliver den en supernøgle, ligesom EmployeeID + FullName er en supernøgle.

Der er også andre typer nøgler:

3. Primær nøgle: er de kolonner, du vælger for at bevare unikheden i en tabel. Her i medarbejder-tabellen kan du vælge enten medarbejder-id eller SSN-kolonner, medarbejder-id er at foretrække, da SSN er en sikker værdi.

4. Alternativ nøgle: Kandidatkolonnen anden Primær kolonne, ligesom hvis EmployeeID er PK, så ville SSN være den alternative nøgle.

5. Kompositnøgle: Hvis en tabel ikke har en enkelt kolonne, der kvalificerer sig til en kandidatnøgle, skal du vælge 2 eller flere kolonner for at gøre en række unik. Ligesom hvis der ikke er nogen medarbejderID eller SSN-kolonner, kan du oprette FullName + DateOfBirth som sammensat primær nøgle. Men stadig kan der være en smal chance for duplikatrække.

Tjek her: Grundlæggende om DB - Hvad er kandidat, primær, sammensat og super nøgler og forskel mellem dem?

~ SQL med Manoj


Svar 3:

Lad os tage et eksempel på en medarbejdertabel: Medarbejder (Medarbejder-ID, FullName, SSN, DeptID)

Her kandidatnøgle: er individuelle kolonner i en tabel, der kvalificerer til unikhed i alle rækker. Her i medarbejdertabel MedarbejderID & SSN er kandidatnøgler.

Og supernøgle: Hvis du tilføjer en anden kolonne / attribut til en primær nøgle, bliver den en supernøgle, ligesom EmployeeID + FullName er en supernøgle.

Der er også andre typer nøgler:

3. Primær nøgle: er de kolonner, du vælger for at bevare unikheden i en tabel. Her i medarbejder-tabellen kan du vælge enten medarbejder-id eller SSN-kolonner, medarbejder-id er at foretrække, da SSN er en sikker værdi.

4. Alternativ nøgle: Kandidatkolonnen anden Primær kolonne, ligesom hvis EmployeeID er PK, så ville SSN være den alternative nøgle.

5. Kompositnøgle: Hvis en tabel ikke har en enkelt kolonne, der kvalificerer sig til en kandidatnøgle, skal du vælge 2 eller flere kolonner for at gøre en række unik. Ligesom hvis der ikke er nogen medarbejderID eller SSN-kolonner, kan du oprette FullName + DateOfBirth som sammensat primær nøgle. Men stadig kan der være en smal chance for duplikatrække.

Tjek her: Grundlæggende om DB - Hvad er kandidat, primær, sammensat og super nøgler og forskel mellem dem?

~ SQL med Manoj


Svar 4:

Lad os tage et eksempel på en medarbejdertabel: Medarbejder (Medarbejder-ID, FullName, SSN, DeptID)

Her kandidatnøgle: er individuelle kolonner i en tabel, der kvalificerer til unikhed i alle rækker. Her i medarbejdertabel MedarbejderID & SSN er kandidatnøgler.

Og supernøgle: Hvis du tilføjer en anden kolonne / attribut til en primær nøgle, bliver den en supernøgle, ligesom EmployeeID + FullName er en supernøgle.

Der er også andre typer nøgler:

3. Primær nøgle: er de kolonner, du vælger for at bevare unikheden i en tabel. Her i medarbejder-tabellen kan du vælge enten medarbejder-id eller SSN-kolonner, medarbejder-id er at foretrække, da SSN er en sikker værdi.

4. Alternativ nøgle: Kandidatkolonnen anden Primær kolonne, ligesom hvis EmployeeID er PK, så ville SSN være den alternative nøgle.

5. Kompositnøgle: Hvis en tabel ikke har en enkelt kolonne, der kvalificerer sig til en kandidatnøgle, skal du vælge 2 eller flere kolonner for at gøre en række unik. Ligesom hvis der ikke er nogen medarbejderID eller SSN-kolonner, kan du oprette FullName + DateOfBirth som sammensat primær nøgle. Men stadig kan der være en smal chance for duplikatrække.

Tjek her: Grundlæggende om DB - Hvad er kandidat, primær, sammensat og super nøgler og forskel mellem dem?

~ SQL med Manoj