You are on page 1of 4

7.2.

Çelësi primar, çelësi i jashtëm dhe integriteti i bazës së të dhënave

Në çdo tabelë duhet të ketë së paku një fushë që do të jenë unike për çdo regjistrim,
gjegjësisht përmbajtja e kësaj fushe nuk do të përsëritet në asnjë regjistrim. Këto zakonisht
janë numra identifikues (të dhëna numerike) apo ndonjë fushë tjetër vlera e të cilës nuk përsëritet
(numri i amzës). Fusha e tillë është quajtur çelës primar i tabelës.
Çelësi primar siguron që të gjitha regjistrimet nga një tabelë të jenë të lidhura me
regjistrimet nga një tabelë tjetër.
Për lidhjen e tabelave ekzistojnë llojet e mëposhtme të relacioneve:
një në një (One-to-One)(1: 1) – ky është relacioni i përdorur më shpesh. Në të një
rreshti nga tabela e parë mund ti shoqërohen më tepër rreshta nga tabela e dytë, por një rreshti
nga tabela e dytë mund ti shoqërohet vetëm një rresht nga tabela e parë. Një klient mund të bëjë
më tepër huazime. E njëjta vlen edhe për filmat - një film mund të huazohet disa herë.
më tepër në më tepër (n:n) – në këtë relacion një rreshti nga tabela e parë mund ti
shoqërohen më tepër rreshta të caktuar nga tabela e dytë dhe anasjelltas. Për shembull, , le të
kemi tabelë me klasë dhe profesorë. Pasi që në shumë klasë ligjërojnë të njëjtit profesorë, shumë
regjistrime në tabelën me klasë do të përmbajnë të njëjtit profesor. Gjithashtu, pasi që një
profesor ligjëron në më tepër klasë, shumë regjistrime në tabelën me profesorë do të përmbajë të
njëjtën klasë.
Në shembullin e Dvdtekës, tabelat janë të lidhura përmes fushave ekuivalente, pra fusha
që përmbajnë lloj të njëjtë të të dhënave. Fushat nuk është e thënë të kenë emra të njëjtë.
Zakonisht, lidhja vendoset në mes fushës, e cila është çelësi primar në njërën tabelë (primare),
me fushën nga tabela tjetër (sekondare), e cili korrespondon me atë të tabelës së parë.
Çelësi i jashtëm (Foreing Key)
Ky është një atribut, që është i njëjtë me vlerën e çelësit primar nga një tjetër tabelë. Me
ndihmën e tij lidhen tabelat njëra me tjetrën.
Relacionet paraqesin një lidhje në mes të tabelave. Në shumicën e rasteve lidhen , çelësi
primar nga një tabelë me çelësin e jashtëm nga tabela tjetër.

Figura 7.1. Relcionet mes tabelave


Integriteti i bazës së të dhënave përbëhet nga një grup rregullash që sigurojnë
rregullsinë e pavarësisë dhe pandryshueshmërisë së gjendjes së bazës së të dhënave, rifreskim
dhe fshirje të të dhënave. Rregulli bazë i integritetit është se në çdo regjistrim të tabelës
sekondare, patjetër të ekzistojë vetëm një regjistrim nga tabela primare. Ja disa rregulla të
integritetit:
1. Nuk është e mundur që të futet regjistrim në tabelën e sekondare, nëse nuk ka asnjë
regjistrim në primaren,
2. Nuk mund të fshihet regjistrim nga tabela primare, në qoftë se ekziston regjistrim që
është i lidhur me tabelën sekondare,
3. Nuk lejohet modifikimi i regjistrimeve në tabelën sekondare nëse për çelësin e jashtëm
nuk ka vlera të përshtatshme në tabelën primare,
4. Nuk mund të ndryshohet vlera e çelësit primar në tabelën primare, derisa ka regjistrim
të lidhur me tabelën sekondare.

Për ata që duan të dinë më shumë


  Planifikimi i tabelave
Shikuar teknikisht, duhet vetëm një tabelë për funksionimin e bazës së të dhënave. Gabim i
madh është vendosja e shumë informacion në një tabelë. Në bazat relacionare të të dhënave
mund të punohet me më shumë tabela dhe të vendosen relacione mes tyre.
Shembulli 1: Le të supozojmë se duhet të rruhet informacioni për kontakt me çdo
konsumator, në bazë të çdo transaksioni të bërë. Nëse e gjithë kjo rruhet në një tabelë, duhet
të ketë një përsëritje të emrit të konsumatorit, adresës dhe numrit të telefonit gjatë futjes së çdo
transaksioni të ri.

Tabela 7.a.

Nëse konsumatori ka ndryshuar adresën, atëherë ajo do të duhet të ndryshojë në të gjitha


transaksionet.
Mënyrë më e mirë është që çdo konsumatori ti caktojmë numër identifikimi (ID) -
Shifër. Ai do të përfshihet në tabelën konsumatorët, në të cilën do të jenë emri, adresa dhe
numri i telefonit të konsumatorit. Në tabelën për transaksionet, do të përfshihej gjithashtu
numri ID - i konsumatorit si një ndërlidhje me tabelën e parë, dhe do të përmblidheshin
informacionet për transaksionet .

Tabela 7.b: Konsumatorët


Tabela 7.b.: Transaksionet

Gabimi i dytë i madh është përpjekja për të krijuar tabelë të veçantë për secilin
raport. Në këtë rast, të dhënat përsëriten në më shumë tabela. Kjo është e panevojshme, sepse
edhe në raportet mund të përfshihen informacione nga më shumë tabela. Kjo do të thotë se
është e mjaftueshme që informacioni të ekzistojnë vetëm në një tabelë.
Shembulli 2: Në një organizatë duhet të rruhen informacionet për atë se cilët punëtor
kanë kryer kurse të veçanta.
Zgjidhja me një tabelë është si vijon:

Tabela 7.g.

Nëse një punëtor ka kryer më tepër kurse, patjetër të shtohen regjistrime të dyfishta në
tabelë. Nëse një punëtor e lë kompaninë, të dhënat e tij duhet të fshihen,me çka mund të
humbasin të dhënat për kohëzgjatjen e kursit. (Me .Altin B. janë të lidhura kurset për Exel dhe
Power Point).

Tabela 7.d Tabela me të dhëna të fshira.

Mënyrë më e mirë është krijimi i tabelave të veçanta për të punësuarit, për kurset dhe
kurset e përfunduara, kurse lidhja mes tyre të sigurohet me shifrat-numrat e identifikimit.

Tabela 7.gj. Të punësuarit (Kursistët)


Tabela 7.h. Kurset

Tabela 7.i. Kurset e përfunduara

You might also like