Kaj so tuji ključi v zbirkah podatkov SQL?

Kaj so tuji ključi v zbirkah podatkov SQL?

Tuji ključi skrbnikom baz podatkov omogočajo enostavno prepoznavanje različnih povezav, 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, ki vsebujejo podatke o določeni entiteti. Če imate bazo podatkov o najemu avtomobila, bodo subjekt (ali tabela) v tej bazi podatkov stranke (ki bodo shranile 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 bi moral biti vsak zapis (ali vrstica) edinstven.

Primarni ključi

Čeprav je določeno, da mora biti vsak zapis v tabeli ločen, ni vedno tako. Če nadaljujemo s primerom baze podatkov o najemu avtomobilov, če zbirka vsebuje dve stranki, ki imata vsako ime John Brown, bi lahko pričakovali, da bo John Brown vrnil Mercedes-Benz, ki ga ni najel.



Ustvarjanje primarnega ključa bo to tveganje zmanjšalo. V sistemu za upravljanje baz podatkov SQL je primarni ključ edinstven identifikator, ki ločuje en zapis od drugega.

koda zaustavitve nepričakovana past jedra

Zato mora 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 z uporabo SQL, ga lahko preprosto dodate kot običajen atribut pri ustvarjanju nove tabele. Tabela strank bo torej vsebovala štiri atribute (ali stolpce):

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

Povezano: Kako ustvariti tabelo v SQL





Zdaj bo vsak zapis stranke, ki vstopi v bazo podatkov, imel edinstveno identifikacijsko številko, pa tudi ime, priimek in telefonsko številko. Telefonska številka ni dovolj edinstvena, da bi bila primarni ključ, ker čeprav je edinstvena za eno osebo naenkrat, lahko preprosto spremeni svojo številko, kar pomeni, da bi zdaj pripadala nekomu drugemu.

Zapis s primerom primarnega ključa

/* creates a new record in the customers table */
INSERT INTO Customers VALUES
('0004',
'John',
'Brown',
'111-999-5555');

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

Tuji ključ

Zdaj imate primarne ključe, ki edinstveno ločujejo enega najemnika avtomobila od drugega. Edina težava je, da v bazi 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 glede 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č edinstven identifikator ali kombinacija edinstvenih identifikatorjev, ki povežeta dve ali več tabel v zbirki podatkov.

Od štirih obstoječih sistemov za upravljanje baz podatkov SQL je najbolj priljubljen sistem za upravljanje baz podatkovnih baz. Ko se odločate, katera tabela v relacijski bazi podatkov mora imeti tuji ključ, morate najprej ugotoviti, katera tabela je predmet in katera je objekt v njunem odnosu.

Če se vrnete v bazo podatkov o najemu avtomobila, morate za povezavo vsake stranke s pravim avtomobilom razumeti, da stranka (subjekt) najame avto (predmet). Zato mora biti tuji ključ v tabeli avtomobilov.

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

Ustvarjanje tabele s primerom tujega ključa

/* creates a new cars table in the car rental database */
CREATE TABLE Cars
(
LicenseNumber varchar(30) NOT NULL PRIMARY KEY,
CarType varchar(30) NOT NULL,
CustomerID varchar(30) FOREIGN KEY REFERENCES Customers(CustomerID)
);

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

kako nekomu uničiti življenje z uporabo interneta

Povezano: Osnovna vrstica ukazov SQL za začetnike

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

Dodajanje zapisa s primerom tujega ključa

/* creates a new record in the cars table */
INSERT INTO Cars VALUES
('100012',
'Mercedes-Benz',
'0004');

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

Avtomobilska miza

V zgornji tabeli lahko prepoznate pravega Johna Browna, ki v zapisu najame Mercedes-Benz po tujem ključu.

Predhodni tuji ključi

Obstajata še dva načina za uporabo tujega ključa v bazi podatkov.

Če se ozrete na zgornjo definicijo tujega ključa, boste ugotovili, da pravi, da je tuji ključ lahko edinstven identifikator ali kombinacija edinstvenih identifikatorjev.

Če se vrnemo k primeru baze podatkov o najemu avtomobila, boste videli, da ustvarjanje novega zapisa (istega avtomobila) vsakič, ko stranka najame avtomobil, premaga namen Avtomobili miza. Če so avtomobili naprodaj in so enkrat prodani eni stranki, je obstoječa baza podatkov popolna; glede na to, da so avtomobili najeti, je te podatke bolje predstaviti.

Sestavljeni ključi

Sestavljeni ključ ima dva ali več edinstvenih identifikatorjev. V relacijski zbirki podatkov se bodo pojavili primeri, ko uporaba enega samega tujega ključa ne bo dovolj predstavljala razmerij, ki obstajajo v tej bazi podatkov.

V primeru najema avtomobila je najbolj praktičen pristop ustvariti novo mizo, v kateri so shranjeni podatki o najemu. Da bi bile informacije v tabeli za najem avtomobila uporabne, se je treba povezati tako z avtomobilom kot z mizo za stranke.

Ustvarjanje mize s sestavljenimi tujimi ključi

/* creates a CarRental table in the car rental database */
CREATE TABLE CarRental
(
DateRented DATE NOT NULL,
LicenseNumber varchar(30) NOT NULL FOREIGN KEY REFERENCES Cars(LicenseNumber),
CustomerID varchar(30) NOT NULL FOREIGN KEY REFERENCES Customers(CustomerID),
PRIMARY KEY (DateRented, LicenseNumber, CustomerID)
);

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

Če želite imeti edinstven ključ, morate združiti vse tri atribute v tabeli. Stranka lahko najame več avtomobilov na isti dan (torej Identifikacijska številka stranke in Datum najema ni dobra kombinacija) isti dan lahko najame isti avtomobil tudi več strank (torej Številka licence in Datum najema ni dobra kombinacija)

Vendar pa je ustvarjanje sestavljenega ključa, ki pove, kateri kupec, kateri avto in na kateri dan je odličen edinstven ključ. Ta edinstven ključ predstavlja tako sestavljeni tuji ključ kot sestavljeni primarni ključ.

ali se telefon v načinu nizke porabe hitreje polni

Tuji primarni ključi

Oh ja, tuji primarni ključi izstopijo. Čeprav za to ni uradnega imena, je lahko tuji ključ tudi primarni ključ v isti tabeli. To se zgodi, ko ustvarite novo tabelo, ki vsebuje specializirane podatke o obstoječi entiteti (ali zapis v drugo tabelo).

Recimo, da je Fred (ki dela v podjetju za najem avtomobilov) v podatkovni bazi podjetja pod tabelo zaposlenih. Po nekaj letih postane nadzornik in ga dodajo na nadzorniško mizo.

Fred je še vedno zaposlen in bo še vedno imel isto identifikacijsko številko. Tako je Fredov ID zaposlenega zdaj v nadzorni tabeli kot tuji ključ, ki bo postal tudi primarni ključ v tej tabeli (saj Fredu zdaj, ko je nadzornik, ni smiselno ustvariti nove ID številke).

Zdaj lahko v zbirkah podatkov SQL prepoznate tuje ključe

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

Če menite, da so tuji ključi zanimivi, boste imeli dan na terenu, ko boste začeli uporabljati projekt in izbirne operacije za poizvedovanje po zbirkah podatkov SQL.

Deliti Deliti Cvrkutati E-naslov Naučite se uporabljati operacije projekta in izbire v SQL

S temi primeri se spoznajte z relacijskimi bazami podatkov SQL.

Preberite Naprej
Sorodne teme
  • Programiranje
  • Programiranje
  • SQL
  • zbirko podatkov
O avtorju Kadeisha Kean(21 objavljenih člankov)

Kadeisha Kean je razvijalka programske opreme in tehnična/tehnološka pisateljica. Ima izrazito sposobnost poenostavitve nekaterih najbolj zapletenih tehnoloških konceptov; izdelavo materiala, ki ga lahko razume vsak začetnik tehnologije. Strastno piše, razvija zanimivo programsko opremo in potuje po svetu (skozi dokumentarne filme).

Več od Kadeisha Kean

Naročite se na naše novice

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

Kliknite tukaj, če se želite naročiti