Microsoft SQL Server-en atzerriko gakoak nola sortu

Datu-baseetako kontzeptu garrantzitsuenetako bat datu-baseko taulen arteko erlazioak sortzea da. Erlazio horiei esker, mahai anitzetako datuak biltzeko eta modu eraginkorrean berreskuratzeko mekanismo bat dago. Bi tauletatik bi esteken arteko lotura sortzeko, kanpoko gakoa zehaztu behar duzu taulan beste taula batean erreferentzia egiten duen taula batean.

Base de datos de tablas y relaciones

Dagoeneko jakin dezakezu datu-basea taulen serie bat besterik ez dela , kalkulu-orriko programan erabil dezakezun antzekoa, adibidez, Microsoft Excel. Izan ere, kalkulu orri bat datu-base batera bihurtu dezakezu. Datu-baseak kalkulu-orrietatik bereizten direnean, ordea, taulen arteko harreman indartsuak eraikitzea da.

Demagun, adibidez, giza baliabideen informazioa jarraitzeko enpresa batek erabiltzen duen datu-basea. Datu-basearen izenean taula bat izan daiteke Enpresarien langile bakoitzeko informazio hau jasotzen duen Langileak:

Adibide honetan, langilearen IDa da guztiz sortutako zenbaki oso bat, langile bakoitzari esleitzen zaionean datu-basean gehitzen direnean. Posizioaren IDa lanpostuaren kodea da enpresako enpleguan kokatzeko. Eskema horretan, langile batek posizio bakarra izan dezake, baina hainbat (edo ez) langileek posizio bakoitza bete dezakete. Adibidez, ehunka langile izan ditzakezu "Kutxazain" batekin.

Datu-basea Posizioak dituen posizio bakoitzari buruzko informazio osagarri honekin taula bat ere izan daiteke:

Taularen posizio ID eremua Langileen ID eremuan Langileen taulan antzekoa da: datu-basea kokapenean gehitzen denean sortzen den zenbaki oso bat da.

Datu-basean langileen zerrenda estaltzen dugunean, pertsona bakoitzaren izena eta titulua eskatuko lirateke. Hala ere, informazio hori datu-baseko taulan oinarritutako taulan gordetzen da, beraz, ezin da berreskuratu soilik, taulen arteko harremana eskatzen duen JOIN kontsulta erabiliz.

Taulen egitura begiratzen duzunean, harremana definitzen duen eremua ziurrenik bistakoa da: Kokalekua ID eremua. Langile bakoitzak posizio bakarra izan dezake eta posizio hori identifikatzen du Posizioen IDa barne Posizioen taula dagokion sarreran. Posizioen taula nagusiko gakoa izateaz gain, adibide honetan, Posizio ID eremua Langileen taula batetik bestera atzerriko gakoa da Posizioen taulan. Datu-basea eremu hau erabili ahal izateko taulak hainbat informazio lotzeko eta ziurtatu datu-basean aldaketak edo gehikuntzak erreferentziazko osotasuna betearazten jarraitzeko.

Atzerriko gakoa identifikatu ondoren, aurrera jarraitu eta nahi duzun informazioa datu-basetik ateratzeko, galdetu ondoren:

SELECT FirstName, LastName, Title FROM EMPLOYEES INNER JOIN Positions ON Employees.PositionID = Positions.PositionID

Atzerriko gakoak SQL zerbitzarian sortzea

Teknikoki, ez duzu esplizituki harremana zehazteko, goian bezala. Hala ere, atzerriko gakoaren murriztapenarekin harreman estua esplizituki definitzen baduzu, datu-basea zure etxeko lanak egiteko gai izango da:

Hona hemen SQL Serverren atzerriko gakoa nola sortu nahi duzun:

ALTER TABLE Langileak ALDE HAZKUNDE HURBILA (KarguaID) ERREFERENTZIAK Posizioak (PosizioaID)

Atzerriko gakoa ere sor dezakezu taula bat sortzen duzunean klausula gehituz:

HERRITARREN KEY REFERENCES Posizioak (PositionID)

Atzerriko gakoen zutabearen zutabearen definizioaren amaieraraino.