Lehet valami egyszerre elsődleges és idegen kulcs is?
Tehát adott egy feladat, hogy pl egy embert a neve és a munkaköre azonosítja egyértelműen (tehát gondolom elsődleges kulcs), de a munkakört meg a munkakör azonosítja (tehát abban a táblában az az elsődleges).
Akkor az első táblának a munkakör az idegen kulcsa, de egyben elsődleges is, nem? Mert kell az ember azonosításához
Elsődleges kulcs: Az adott táblán lévő olyan rekord adatok, amik maximum 1x fordul elő. Ilyen pl.:
- Személyi szám (pl.: 12345678AB)
- ID (pl.: 12345)
- Autó rendszám (HUN-ABC-123) <-- ha országot is akarunk hozzá írni
Idegen kulcs: Más táblában előforduló elsődleges kulcs "beillesztése" másik táblába kapcsolat miatt. Így egyidejüleg a kettő kizárja egymást. De ha 1 táblában szereetnéd használni a kettőt, akkor 1 kell az elsődlegesnek és még 1 az idegennek.
Tábla(elsodleges_kulcs, idegen_kulcs);
Például SQL kóddal:
CREATE TABLE Ember (
szemelyi_szam VARCHAR(16) PRIMARY KEY, /* <-- elsődleges kulcs */
nev VARCHAR(128),
szuletesi_ideje DATE,
szuletesi_hely VARCHAR(128)
);
CREATE TABLE Gepjarmu (
alvazszam VARCHAR(32) PRIMARY KEY, /*<-- elsődleges kulcs*/
megnevezes VARCHAR(128),
evjarat INT(4),
tulaj_szemelyu_szam VARCHAR(16) REFERENCES Ember(szemelyi_szam), /* <-- idegen kulcs */
);
/*
* bár a REFERENCES Ember(szemelyi_szam) nem kötelező, mivel a SELECT-nél úgyis Joinnal
* összekapcsolahtó.
*/
INSERT INTO Ember VALUES (<IDE JÖNNEK AZ ADATOK>);
INSERT INTO Gepjarmu VALUES (<IDE JÖNNEK AZ ADATOK>);
SELECT Gepjarmu.megnevezes, Ember.nev
FROM Ember INNER JOIN Gepjarmu ON Ember.szemelyi_szam = Gepjarmu.tulaj_szemelyi_szam;
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!