Wéi Äussert Keyler an Microsoft SQL Server z'änneren

Ee vun de wichtegsten Konzepter an de Datenbanken mécht Bezéiungen tëschent Datebatterien. Dës Bezéiungen erlaben engem Mechanismus fir d'Verknüpfung vun Daten déi a multiple Tabellen gespaart sinn an hir effizient erofhuele kënnen. Fir e Link tëschent zwee Dëscher ze erstellen, musst Dir e Fremdschloss an enger Tabelle festleet datt eng Kolonn an engem aneren Dësch verweist.

Datebank Tabellen a Bezéiungen

Dir wësst schonn datt dës Datenbanken einfach eng Serie vu Dëscher sinn , ähnlech wéi Dir schonn an engem Tabellenprogramm benotzt , wéi Microsoft Excel. Tatsächlech kënne Dir souguer eng Excel-Tabelle fir eng Datebank konvertéieren. Wou d'Datenbanken aus Tëschercher ënnerscheeden, ass awer wann et ëm de méiglechen Relatiounen tëschent Dëscher geet.

Bedenken, zum Beispill, eng Datenbank déi vun enger Firma benotzt gëtt fir d'Informatioun vu Mënscherechter ze verfolgen. Dat Datebank ka mat enger Tabelle genannt Mataarbechter, déi d'folgend Informatiounen fir all Member vum Personal beschäftegt:

An dësem Beispill ass d'Employeur ID eng eindeuteg generéiert Ganzt, dee fir all Employé assuréiert gëtt, wann se an d'Datebank agebaut ginn. D'Positiouns ID ass e Jobcode benotzt fir d'Positioun vum Employeur an der Gesellschaft ze referenzéieren. An dësem Schema kann e Mataarbechter nëmmen eng Positioun hunn, mee verschidde (oder nee) Mataarbechter kënnen all Positioun ophuelen. Dir hutt zum Beispill Honnerte vu Mataarbechter mat enger "Cashier" Positioun.

D'Datebank kann och eng Tabell genannt Positions mat der folgender Additional Information iwwer all Positioun ophuelen:

D'Feld vun der Positiounsnummer an dëser Tabelle ass ähnlech wéi am Feld Employee ID an der Employees table - et ass eng eenzegaarteg generéiert Ganzt, déi erstallt gëtt, wann eng Positioun an der Datebank addéiert gëtt.

Wa mir goen, eng Lëscht vun Ugestallten aus der Datebank ze zéien, wier et natierlech natierlech fir den Numm vun all Persoun an hirem Titel ze kréien. Allerdéngs gëtt dës Informatioun a verschidde Datebank Tabellen gespäichert, also kann nëmme mat enger JOIN-Ufro gestëmmt ginn, déi eng existent Relatioun tëscht den Dëscher erfuerdert.

Wann Dir op d'Struktur vun den Dëscher kuckt, ass dee Verhalensfeld déi Bezéiung definéiert ass wahrscheinlech kloer - de Feld vum Positions ID. Jidder Employé kann nëmmen eng Stellung hunn an dës Positioun gëtt identifizéiert andeems d'Positiouns ID vun der korrespondéierter Eegeschaften vum Positionsniveau ass. Niewendrun ass de Primärschlass fir d'Positions-Tabelle, an dësem Beispill, ass d'Feld vum Positions ID och e Fremdschlëssel vun der Tabelle "Employees" zu der Positions Tabelle. D'Datebank kënnen dann dëse Feld benotzen fir Informatioune vu méi wéi Dëscher ze korreléieren an ze garantéieren datt all Ännerungen oder Additive zur Datebank weiderhin weider referenzhalteg Integratioun maachen .

Wann Dir den Auslänner Keess identifizéiert hutt, kënnt Dir virstellen a gewuer d'Informatioun vun der Datebank benotze mat der folgender Unzuel:

SELECT FirstName, LastName, Titulaire vun den Employeren INNER JOIN Positions ON Employees.PositionID = Positions.PositionID

Auslännesch Keys am SQL Server erstellen

Technesch brauch Dir d'Bezéiung net explizit definéieren, fir Ufroën wéi déi virdru ze maachen. Wann Dir d'Bezéiung explizit benotzt andeems Dir eng auslännesch Tastebedruch definéiert, kënnt d'Datebank fir Iech eng Hauswirtschaft ze maachen:

Hei ass wéi Dir den externen Schlëssel am SQL Server erstallt huet:

ALTER TABLE D'MÉIGLECH ANZUELLE HEI ZËNTER (Positiounen) REFERENZEN Positiounen (Positiounen)

Dir kënnt och e Fremdschléng erstellen, wann Dir e Tableau eroflueden andeems Dir d'Klausel ergänzt:

FOREIGN KEY REFERENCES Positiounen (Positiounen)

bis zum Enn vun der Kolonn Definitioun fir déi auslännesch Taste Column.