Datu-baseen harremana

Datu-basearen harremanak datu-base erlazional guztiei bizkarrezurra dira

Bi datu-baseko taulen arteko erlazioa mahai batek beste taula baten lehen mailako gakoarekin erreferentzia egiten duen atzerriko gako bat dauka. Datu base erlazional terminoaren oinarrizko kontzeptua da hau.

Nola kanpoko gakoa harreman bat ezartzea da?

Berrikusi gako lehen eta atzerako gakoen oinarriak. Lehen mailako teklak erregistro bakar batean identifikatzen ditu mahai bakoitzean. Mahai baten lehen zutabea ohi den hautagai-tekla da, eta datu-basearen bidez automatikoki sor daiteke, bakarra dela ziurtatzeko.

Atzerriko gakoa hautagaiaren gakoa da (ez lehen mailako gakoa) beste taula batean datuak erregistro bat estekatzeko.

Esate baterako, kontuan hartu irakasleak zein irakasgai irakasten duen identifikatzen duten bi mahai horiek.

Hemen, Ikastaroen taularen lehen mailako gakoa Course_ID da. Atzerriko gakoa Teacher_ID da:

Ikastaroak
Course_ID Course_Name Teacher_ID
Course_001 Biologia Teacher_001
Course_002 Matematika Teacher_001
Course_003 English Teacher_003

Ikasleren atzerriko gakoek irakasleen lehen mailako gakoarekin bat datozela ikusi dezakezu:

irakasleak
Teacher_ID Teacher_Name
Teacher_001 Carmen
Teacher_002 Veronica
Teacher_003 Jorge

Teacher_ID atzerriko gakoek ikastaroen eta irakasleen taulen arteko harremana ezartzen lagundu dezakegu.

Datu-baseen arteko harreman motak

Atzerriko gakoak edo hautagaiaren gakoak erabiliz, taulen arteko hiru harreman mota ezar ditzakezu:

One-to-one : harreman mota honek harremana alde bakoitzean erregistro bakarra uzten du.

Lehen mailako tekla bat edo beste bat baino ez da taula batean. Adibidez, ezkontza batean, ezkontide bakoitzak beste ezkontidea besterik ez du. Harreman mota hau mahai bakar batean inplementatu daiteke eta, beraz, ez du atzerriko gako bat erabiltzen.

One-to-many : Bat-to-many harremana bat erregistro bakar bat mahai batean hainbat erregistro batean erlazionatuta ahalbidetzen du.

Demagun Bezeroak eta Eskariak mahaiak dituen datu-basea duen enpresa.

Bezero bakar batek agindu bat baino gehiago erosi ahal izango ditu, baina ordena bakar bat ezin da hainbat bezeroekin lotu. Hori dela eta, Eskariak taula bezeroen taula nagusian lotu zen atzerriko gako bat edukiko luke, Bezeroak mahaikideek ez dute atzerriko giltza eskumako taulan adieraziz.

Askotariko askok : hau harreman konplexu bat da, mahai baten erregistro asko beste taula batean beste erregistro batzuekin estekatzeko. Esate baterako, gure negozioak ziurrenik Bezeroak eta Eskariak mahaiak ez ezik, baina litekeena ere produktuen taula bat behar du.

Berriz ere, Bezeroak eta Eskariak taula arteko harremana bat-to-many da, baina kontuan hartu Eskariak eta Produktuen taula arteko harremana. Eskaera batek produktu ugari eduki ditzake eta produktu batek agindu bat baino gehiagori lotuta egon litezke: hainbat bezeroek produktu bereko batzuk dituzten eskaera bat bidal dezakete. Harreman mota hau hiru mailetako gutxienez eskatzen da.

Zer dira datu-baseko harremanak garrantzitsuak?

Datu-basearen taulen arteko erlazio koherenteak ezartzen laguntzen du datu osotasuna bermatzen, datu-basearen normalizazioari laguntzen. Adibidez, zer egin behar izan ez bagenu taulan esteken atzerriko gako baten bidez lotu eta datuak Ikastaro eta Irakasleen tauletan konbinatu besterik ez badituzu, hala badagokio:

Irakasleak eta Ikastaroak
Teacher_ID Teacher_Name Ikastaroa
Teacher_001 Carmen Biologia, Matematika
Teacher_002 Veronica Matematika
Teacher_003 Jorge English

Diseinu hau inflexiblea da eta datu-basearen normalizazioaren lehen printzipioa urratzen du, First Normal Form (1NF), eta horrek adierazten du taula zelular bakoitzak datu bakar eta diskretu bat eduki behar duela.

Edo, agian, Carmenen bigarren erregistroa gehitu besterik ez dugu erabaki, 1NF betearazteko:

Irakasleak eta Ikastaroak
Teacher_ID Teacher_Name Ikastaroa
Teacher_001 Carmen Biologia
Teacher_001 Carmen Matematika
Teacher_002 Veronica Matematika
Teacher_003 Jorge English

Hau oraindik diseinu ahula da, beharrezkoak ez diren bikoizketak eta datuen txertatze-anomaliak deitzen direnak sartzen dira. Horrek esan nahi du datu ezegonkorrak ekar ditzakeela.

Adibidez, irakasle batek erregistro bat baino gehiago baditu, zer egin behar den datu batzuk editatu behar badira, baina datuen edizioa egiten duen pertsonak ez du konturatzen hainbat erregistro existitzen direla? Taulak banakoari buruzko datu desberdinak eduki beharko lituzke, identifikatzeko edo saihesteko modu argirik gabe.

Taula hau bi tauletan biratzean, Irakasleak eta Ikastaroak (goian ikusitako moduan) datuen arteko erlazio zuzena sortzen du eta, beraz, datuak koherentzia eta zehaztasuna bermatzen laguntzen du.