Datu-baseen harremanetarako sarrera

Datu-basearen "erlazio" edo "harreman" terminoak mahaiaren datuak konektatzen dituen modua deskribatzen du.

Datu-baseen mundurako bisitariek sarritan oso zaila izaten dute datu-basearen eta kalkulu-orriaren arteko aldea ikustea. Datu-taulak ikusten dituzte eta datu- baseek modu berrian informazioa antolatu eta kontsultatzeko aukera ematen dute. Hala ere, datu-base erlazionalaren teknologiak bere izena ematen duen datuen arteko erlazioak garrantzirik ez duela ulertzen du.

Harremanek datu indibidualen taulen arteko loturak modu indartsuenetan deskribatzeko aukera ematen dute. Erlazio horiek indartu egin daitezke mahai gurutzatuen kontsulta indartsuak burutzeko.

Datu-baseen arteko harreman motak

Hiru datu-baseko harreman mota daude, harremana izan dezaketen taulen errenkaden arabera izendatzen direnak. Hiru harreman mota horietako bakoitza bi taularen artean dago.

Erreferentziatutako harremanak: kasu berezi bat

Auto-erreferentziazko harremanak gertatzen dira taula bakarra hartzen dutenean. Adibide komun bat Langileen taula bat da, langile bakoitzaren arduradunari buruzko informazioa jasotzen duena. Gainbegiratzaile bakoitzak ere langilea da eta bere gainbegiratzailea du. Kasu honetan, norberaren erreferentzien arteko erlazio bat dago, langile bakoitzak ikuskatzaile bat du, baina ikuskatzaile bakoitzak langile bat baino gehiago izan dezake.

Atzerriko gakoekin harremanak sortzea

Taulen arteko erlazioak sortzen dituzu atzerriko gako bat zehazten baduzu . Teklak nola erlazionatzen diren datu-base erlazionala kontatzen du. Kasu askotan, A taulako zutabe batek B taulan aipatzen diren lehen mailako gakoak ditu.

Ikasleen eta Ikasleen taulen adibidea berriro kontsideratu. Irakasleen taula ID bakarra, izen bat eta ikastaro zutabea dauzka.

irakasleak
InstructorID Teacher_Name Ikastaroa
001 John Doe English
002 Jane Schmoe Matematika

Ikasleen taula IDa, izena eta atzerriko gakoen zutabea dira.

Ikasleak
StudentID Student_Name Teacher_FK
0200 Lowell Smith 001
0201 Brian Short 001
0202 Corky Mendez 002
0203 Monica Jones 001

Teacher_FK zutabea Ikasleen taulan Irakaslearen mahaiaren irakasle baten lehen mailako balioa erreferentziatzen da.

Askotan, datu-baseen diseinatzaileak "PK" edo "FK" erabiliko du zutabearen izenean, lehen mailako gako edo atzerriko gakoen zutabea erraz identifikatzeko.

Kontuan izan bi tauletan irakasleen eta ikasleen arteko harremana bat dela.

Harreman eta erreferentzia integritatea

Atzerriko tekla bat mahai batera gehitu ondoren, bi taulen arteko erreferentziazko osotasuna indartzen duen datu-basea sor dezakezu. Honek mahai arteko harremanak koherentea izaten jarraitzen du. Taula batek beste taulan atzerriko giltza badu, erreferentziazko osotasunaren kontzeptuak adierazten du B taulan dagoen edozein atzerriko gako balioa aurreko taulan dagoen erregistro bat dagoela.

Ezartzea harremanak

Zure datu-basearen arabera, taulen arteko harremanak modu ezberdinetan inplementatzen dituzu. Microsoft Access-ek morroi bat eskaintzen du mahaiak lotzeko eta erreferente osotasuna betetzeko.

SQL zuzenean idazten ari bazara, mahaiaren irakasleak sortuko zenituzke, ID zutabea lehen mailako gakoa izendatzea:

TAILERRA sortzea Irakasleak (

Instructor ID INT AUTO_INCREMENT PRIMARY KEY,
Teacher_Name VARCHAR (100),
Ikastaroa VARCHAR (100)
);

Ikasleen taulan sortzen duzunean, Teacher_FK zutabea irakaslearen taulan InstructorID zutabea erreferentziatzat duen atzerriko gako bat dela esan duzu.

KOPURUA TAULA Ikasleak (
Ikaslea INT AUTO_INCREMENT PRIMARY KEY INT,
Student_Name VARCHAR (100), Teacher_FK INT,
GAZTE EKINTZAK (Teacher_FK) ERREFERENTZIAK Irakasleak (InstructorID)
);

Mahaiak bateratzeko harremanak erabiltzea

Behin zure datu-basean harreman bat edo gehiago sortu dituzunean, beren boterea leverage dezakezu SQL JOIN kontsultak erabiliz, taulak hainbat informazio konbinatu. Elkartze mota ohikoena SQL INNER JOIN da, edo sinplea da. Elkartze mota honek mahai anitzetako baterako baldintza betetzen duten erregistro guztiak ematen ditu. Adibidez, JOIN baldintza honek Student_Name, Teacher_Name eta Course itzultzen ditu. Ikasleen taula atzerriko gakoan Master taulan lehen mailako gakoa dator:

IKASTEN IKASTEN IKASLEAK. Ikasleen kopurua, Irakasleak. Irakaslegunea, irakasleentzako
Ikasleak FROM
INNER JOIN irakasleentzat
ON Students.Teacher_FK = Irakasleak.InstructorID;

Adierazpen honek mahai bat sortzen du honelako zerbait:

Taula itzuli SQL elkartu taulan

Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoeEnglish