Tuji ključi omogočajo skrbnikom baz podatkov, da zlahka prepoznajo različne povezave, ki obstajajo v sistemu za upravljanje baz podatkov SQL.

SQL izvaja matematične operacije s podatki v sistemu za upravljanje baz podatkov. Te zbirke podatkov vsebujejo različne tabele, v katerih vsaka hrani podatke o določeni entiteti. Če imate zbirko podatkov o najemu avtomobila, bodo subjekt (ali tabela) v tej zbirki podatkov stranke (ki bodo hranile vse osebne podatke o vsaki stranki).

Te tabele zbirke podatkov vsebujejo vrstice in stolpce, kjer vsaka vrstica gosti zapis in vsak stolpec vsebuje podatke, značilne za atribut.

V sistemu za upravljanje baz podatkov mora biti vsak zapis (ali vrstica) unikaten.

Primarni ključi

Čeprav je določba, da mora biti vsak zapis v tabeli ločen, ni vedno tako. Nadaljujemo s primerom zbirke podatkov o najemu avtomobila, če baza podatkov vsebuje po dve stranki ime "John Brown", bi lahko pričakovali, da bo John Brown vrnil Mercedes-Benz, ki ga ni najemnina.

Ustvarjanje primarnega ključa bo to tveganje ublažilo. V sistemu za upravljanje baz podatkov SQL je primarni ključ edinstven identifikator, ki razlikuje en zapis od drugega.

instagram viewer

Zato bi moral imeti vsak zapis v sistemu za upravljanje baz podatkov SQL primarni ključ.

Uporaba primarnih ključev v zbirki podatkov

Če želite vključiti primarne ključe v sistem za upravljanje baz podatkov s pomočjo SQL, ga lahko preprosto dodate kot običajni atribut pri ustvarjanju nove tabele. Tabela strank bo torej vsebovala štiri atribute (ali stolpce):

  • CarOwnerID (ki bo shranil primarni ključ)
  • Ime
  • Priimek
  • Telefonska številka

Sorodno: Kako ustvariti tabelo v SQL

Zdaj bo vsak zapis stranke, ki vstopi v bazo podatkov, imel enolično identifikacijsko številko ter ime, priimek in telefonsko številko. Telefonska številka ni dovolj enolična, da bi bila primarni ključ, ker čeprav je edinstvena za eno osebo hkrati, lahko oseba zlahka spremeni svojo številko, kar pomeni, da bi zdaj pripadala nekomu drugemu.

Zapis s primerom primarnega ključa

/ * ustvari nov zapis v tabeli strank * /
VSTAVITE V VREDNOSTI kupcev
('0004',
"Janez",
'Rjav',
'111-999-5555');

Zgornja koda SQL bo dodala nov zapis k že obstoječim Stranke miza. Spodnja tabela prikazuje novo tabelo strank z dvema zapisoma John Brown.

Tuji ključ

Zdaj imate primarne ključe, ki enotno ločujejo enega najemnika avtomobila od drugega. Težava je le v tem, da v zbirki podatkov ni prave povezave med vsakim Johnom Brownom in avtomobilom, ki ga najame.

Zato možnost napake še vedno obstaja. Tu pridejo v poštev tuji ključi. Uporaba primarnega ključa za reševanje problema nejasnosti lastništva je dosegljiva le, če se primarni ključ podvoji kot tuji ključ.

Kaj je tuji ključ?

V sistemu za upravljanje baz podatkov SQL je tuji ključ enolični identifikator ali kombinacija enoličnih identifikatorjev, ki povezujejo dve ali več tabel v zbirki podatkov.

Od štirih obstoječih sistemov za upravljanje baz podatkov SQL je najbolj priljubljen sistem za upravljanje relacijskih baz podatkov. Ko se odločite, katera tabela v relacijski bazi podatkov mora imeti tuji ključ, morate najprej določiti, katera tabela je predmet in kateri objekt v njihovem razmerju.

Če se vrnete v bazo podatkov o najemu avtomobila, da boste vsako stranko povezali s pravilnim avtomobilom, boste morali razumeti, da stranka (subjekt) najame avto (predmet). Zato bi moral biti tuji ključ v tabeli avtomobilov.

Koda SQL, ki ustvari tabelo s tujim ključem, se nekoliko razlikuje od običajne.

Ustvarjanje tabele s primerom tujega ključa

/ * ustvari novo tabelo avtomobilov v bazi podatkov o najemu avtomobilov * /
USTVARI MIZO Avtomobili
(
LicenseNumber varchar (30) NOT NULL PRIMARNI KLJUČ,
CarType varchar (30) NOT NULL,
CustomerID varchar (30) ZUNANJI KLJUČNI LITERATURI Kupci (CustomerID)
);

Kot lahko vidite v zgornji kodi, je treba tuji ključ izrecno identificirati kot takega skupaj s sklicem na primarni ključ, ki je povezan z novo tabelo.

Sorodno: Essential SQL Commands Cheat Sheet za začetnike

Če želite v novo tabelo dodati zapis, morate zagotoviti, da se vrednost v polju tujega ključa ujema z vrednostjo v polju primarnega ključa prvotne tabele.

Dodajanje zapisa s primerom tujega ključa

/ * ustvari nov zapis v tabeli avtomobilov * /
VSTAVITE V VREDNOSTI avtomobilov
('100012',
"Mercedes-Benz",
'0004');

Zgornja koda ustvari nov zapis v novem Avtomobili tabela, ki daje naslednji rezultat.

Avtomobilska miza

Iz zgornje tabele lahko prepoznate pravega Johna Browna, ki v zapisu najame Mercedes-Benz po tujem ključu.

Vnaprejšnji tuji ključi

Obstajata še dva načina uporabe tujega ključa v zbirki podatkov.

Če se ozrete na zgornjo definicijo tujega ključa, boste ugotovili, da je tuji ključ lahko enolični identifikator ali kombinacija enoličnih identifikatorjev.

Če se vrnemo k primeru baze podatkov o najemu avtomobila, bomo videli, da ustvarjanje novega zapisa (istega avtomobila) vsakič, ko stranka najame ta avto, premaga namen Avtomobili miza. Če so avtomobili naprodaj in se enkrat prodajo enemu kupcu, je obstoječa baza podatkov popolna; toda glede na to, da so avtomobili najeti, obstaja boljši način za predstavitev teh podatkov.

Sestavljeni ključi

Sestavljeni ključ ima dva ali več enoličnih identifikatorjev. V relacijski bazi podatkov bodo primeri, ko uporaba enega samega tujega ključa ne bo v zadostni meri predstavljala razmerij, ki obstajajo znotraj te baze podatkov.

V primeru najema avtomobila je najbolj praktičen pristop ustvariti novo tabelo, ki shranjuje podrobnosti o najemu. Da bodo informacije v tabeli najema avtomobila koristne, se mora povezati tako z mizami avtomobilov kot s kupci.

Ustvarjanje tabele s sestavljenimi tujimi tipkami

/ * ustvari tabelo CarRental v zbirki podatkov o najemu avtomobila * /
USTVARI MIZO CarRental
(
DateRented DATE NOT NULL,
LicenseNumber varchar (30) NOT NULL TUJE KLJUČNE REFERENCE Avtomobili (LicenseNumber),
CustomerID varchar (30) NOT NULL TUJE KLJUČNE REFERENCE Kupci (CustomerID),
OSNOVNI KLJUČ (DatumRentirano, Številka licence, ID stranke)
);

Zgornja koda prikazuje pomembno točko; čeprav ima lahko tabela v zbirki podatkov SQL več kot en tuji ključ, lahko ima samo en primarni ključ. To je zato, ker bi moral obstajati samo en edinstven način za identifikacijo zapisa.

Vse tri atribute v tabeli je treba združiti, da dobite unikatni ključ. Stranka lahko na isti dan najame več kot en avto (torej Identifikacijska številka stranke in Datum izposoje ni dobra kombinacija) več oseb lahko isti dan najame isti avto (torej Številka licence in Datum izposoje ni dobra kombinacija).

Ustvarjanje sestavljenega ključa, ki pove, kateri kupec, kateri avto in kateri dan, naredi odličen unikatni ključ. Ta edinstveni ključ predstavlja sestavljeni tuji in sestavljeni primarni ključ.

Tuji primarni ključi

O ja, tuji primarni ključi res izstopijo. Čeprav zanj ni uradnega imena, je lahko tuji ključ tudi primarni ključ v isti tabeli. To se zgodi, ko ustvarite novo tabelo, ki vsebuje posebne podatke o obstoječi entiteti (ali zapis v drugi tabeli).

Recimo, Fred (ki dela v podjetju za najem avtomobilov) je v bazi podatkov podjetja pod tabelo zaposlenih. Po nekaj letih postane nadzornik in se doda v nadzorniško mizo.

Fred je še vedno zaposlen in bo še vedno imel isto identifikacijsko številko. Fredov ID zaposlenega je torej zdaj v nadzorniški tabeli kot tuji ključ, ki bo prav tako postal primarni ključ v tej tabeli (ker nima smisla ustvariti nove identifikacijske številke za Freda zdaj, ko je nadzornik).

Zdaj lahko v podatkovnih zbirkah SQL prepoznate tuje ključe

Tuji ključi povezujejo različne tabele znotraj baze podatkov SQL. Iz tega članka lahko vidite, kaj je tuji ključ, kako deluje in zakaj je pomembno, da jih imate v zbirki podatkov. Razumete tudi osnovne in še bolj zapletene oblike tujih ključev.

Če se vam zdijo tuji ključi zanimivi, boste imeli dan na terenu, ko začnete uporabljati projekt in izbirne operacije za poizvedovanje po zbirkah podatkov SQL.

E-naslov
Naučite se uporabljati projektne in izbirne operacije v SQL

Spoznajte relacijske baze podatkov SQL, tako da razumete operacije Project in Selection s temi primeri.

Preberite Naprej

Sorodne teme
  • Programiranje
  • Programiranje
  • SQL
  • zbirka podatkov
O avtorju
Kadeisha Kean (14 objavljenih člankov)

Kadeisha Kean je razvijalka programske opreme s polnim skladom in pisateljica tehničnih / tehnoloških tehnologij. Ima izrazito sposobnost poenostavitve nekaterih najbolj zapletenih tehnoloških konceptov; izdelujejo materiale, ki jih lahko vsak tehnološki začetnik zlahka razume. Navdušena je nad pisanjem, razvojem zanimive programske opreme in potovanjem po svetu (skozi dokumentarne filme).

Več od Kadeishe Kean

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, preglede, brezplačne e-knjige in ekskluzivne ponudbe!

Še en korak…!

Potrdite svoj e-poštni naslov v e-poštnem sporočilu, ki smo vam ga pravkar poslali.

.