Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Baza e të dhënave mod
1. 1
Definicioni dhe kuptimet themelore të bazes së
të dhënave
Entiteti, vetitë
Modeli relacional i bazes së të dhënave
Programet për menaxhim me bazen e të
dhënave
Lidhjet në mes entiteteve
Modelimi i të dhënave
2. Baza e të Dhënave është një përmbledhje e
organizuar e të dhënave.
Dallojmë bazën e të Dhënave nga
programet për menaxhim me bazen e të
dhënave!
Programi për menaxhim me bazen e të
dhënave(Database Management System,
DBMS) nënkupton që të dhënat janë ruajtur
në një mënyrë të organizuar, në atë formë
që programi tì qaset lehtë.
2
3. Modeli relacional– të dhënat janë të vendosura
në tabela, të cilat janë të lidhura mes veti. Për
ne modeli më i rëndësishëm.
Modeli hijerarhik
Modeli rrjetë
Modeli objekt
3
4. Modeli i të dhënave është një pasqyrim i:
Gjësendeve (objektet, ngjarjet) të rëndësishme për
përshkrimin e proqeseve të punës
Se si janë sendet e lidhura
Modeli i të dhënave krijohet dhe ndryshon,
përderisa nuk i paraqet proqeset e punës mjaft
mirë sa që sipas atij modeli të mund të
ndërtohet baza e të dhënave.
4
5. Të dhënat janë të organizuara në tabela.
Çdo tabelë paraqet ( më së shpeshti) ndonjë
objekt (produkt, firmë, të punësuar) ose ngjarje
(transakcion, faturë).
Objekti/ngjarja e cila është paraqitur në tabelë
quhet entitet.
Entiteti ka vecoritë e tij (atributet).
Çdo veti duhet me qenë e një tipi të të dhënave.
Objekti përshkruan ndonjë ndodhi, send,
person.
Ngjarja në princip përshkruan lidhjen në mes dy
apo më shumë entiteteve (kryesisht objekteve).
5
6. Për këto entitete përcaktoni llojin
(objekt/ngjarje)
6
Nxënësi
Paraqitja e provimit
Lënda
Profesori
Shkola
7. Text – varg i cfarëdo simboleve, gjatësie deri 255 shenja.
Memo – njëjtë si Text, por gjatësia deri 65535 simbole.
Number – paraqitja e vlerave numerike të duhura për
llogaritje të ndryshme. Për arsye të paraqitjes së numrave
në kompjuter, nganjëherë nevojiten rregullime shtesë.
Date/Time – shërben për të treguar kohen dhe daten
Currency – shërben për llogaritje dhe paraqitjen e vlerave
monetare. Vlerat monetare mund të llogariten saktësisht
deri në 4 decimale pas presjes dhjetore.
AutoNumber – Accessi vet gjeneron vlerat në fushen e
këtij tipi dhe kështu siguron që këto vlera mos të
përsëriten. Një tip ideal për fushen e cila paraqet qelësin
primar.
Yes/No – dy vlera, Po ose Jo (0 ose 1)
OLE object – objekt binar, të cilin e fusim në bazen tonë.
Mundet me qenë Office dokument, foto ose dicka tjetër.
Hyperlink – lidhje me një dokument tjetër nga disku apo
interneti.
7
8. Në shembullin e parë është përmendur
entiteti Nxënës. Theksoni disa veti të atij
entiteti dhe përcaktoni tipin e të dhënave!
8
• Emri i nxënësit(T)
• Data e lindjes(D/T)
• Numri amëz(T)
• JMBG (T)
• OIB (T)
• Emri i prindit(T)
• Adresa (T)
• Nr telefonit (T)
• Shkolla që vijon(T)
9. Duam të krijojmë bazen e të dhënave në të
cilën mes entiteteve tjera do të ndodhet edhe
entiteti Qyteti, i cili do të përmban të dhënat
për qytetet në Europë. Emroni disa veti të
këtij entiteti dhe përcaktoni tipin e të
dhënave!
9
• Emri (T)
• Nr i banorëve(N)
• Shteti (T)
• Nr i veturave (N)
• Qytet liman (Y/N)
• Llogaritja (C)
• Krahina/regjioni (T)
• Nr i urave (N)
• etj.
10. Duam të ndërtojmë bazen e të dhënave në të
cilën mes entiteteve tjera do të ndodhet edhe
entiteti Fatura, i cili do të përmban të dhënat
mbi faturat, të cilat një firmë i lëshon.
Supozojmë që fatura lëshohet vetëm për një
lloj shërbimi!
10
• Emri i mallit(T)
• Emri i blerësit (T)
• Sasia (N)
• Qmimi për njësi(C)
• Qmimi total (C)
• TVSH (C)
• Nr i Fatures(T ili N)
• Data e lëshimit fatures (D/T)
• Kush e emiton faturen
(personi) (T)
• Mënyra e pageses (T)
• Fatura e paguar (Y/N)
11. Në një rresht të tabeles mbajmë të gjitha të
dhënat për realizimin konkret të një instance të
entitetit.
Shtylla në tabelë përmban të dhënat e ndonjë
vetie për të gjitha entitetet.
Rradhen e tabeles e quajmë rresht(record).
Shtyllen e tabeles e quajmë fushë (field)
Në mes të fushave duhet të egzistoj një fushë e
cila në mënyrë unike përcakton rreshtin. Këtë
fushë e quajmë Qelësi primar.
11
12. Rreshti i cili përshkruan
qytetin“Zagreb”
12
Emri Nr
Shtylla në cilen janë
cekur emrat e
qyteteve (fusha Emri)
Sa instanca të entitetit Qytet janë paraqitur në
tabelë?
banorëve
Shteti Regjioni Qytet
Liman
Llogaritja
Barcelona
2500000
Spanja Katalonija Po 4.000.000.000 €
Milano
3000000
Italija Lombardija Jo 5.000.000.000 €
Zagreb
1000000
Kroacia Qyteti
Zagreb
Jo 2.500.000.000 €
13. Në mes entiteteve mund të ketë tre lloj
lidhjesh
Lidhja 1:1 (një me një)
Lidhja 1:N (një me shumë, shkruhet edhe 1:∞)
Lidhja M:N (shumë me shumë, shkruhet edhe
∞:∞)
Mvarësisht nga tipi i lidhjes, lidhjen e
realizojmë
Ose me futjen (integrimin) e entitetit në entitetin
tjetër
Ose me vendosjen e qelësit primar të një entiteti në
vecoritë e entitetit tjetër
Ose me krijimin e një tabele të re (entitet)
13
14. Të krijohen entitet Qytet dhe Adresë dhe të
lidhen mes veti!
15. Vështrojmë entitetet për të cilat dijmë se
janë të lidhura (në boten reale). Do ti
quajmë A dhe B.
Pyesim, me sa rreshta nga B mund të
lidhim ndonjë rresht nga A. Përgjegje është
1 ose më shumë.
Pyesim, me sa rreshta nga A mund të
lidhim ndonjë rresht nga B. Përgjegje është
përsëri 1 ose më shumë.
I lidhim përgjigjet dhe fitojmë lidhjen.
15
16. Janë dhënë entitetet Studenti, Kolegji, Profesori,
Studimet
Përcaktoni lidhjet në mes atyre entiteteve mes
të cilave egziston lidhja direkte!
16
Nxënësi - Lënda
Nxënësi - Profesori
Nxënësi - Shkola
Lënda - Profesori
Lënda - Shkola
Profesori - Shkola
shumë-shumë
nuk egziston
shumë-shumë
shumë-shumë
shumë-shumë
një - shumë
17. Janë dhënë entitetet
Shtet – shtetet në Europë
Qytet – të gjitha qytetet me mbi 100000 banorë në
Europë
Kryeqyteti – kryeqytetet e shteteve evropiane
Gjuha – të gjitha gjuhët zyrtare në shtetet evropiane
Përcaktoni lidhjen në mes entiteteve.
17
18. një-shumë
një-një
nuk egziston
Në mes entiteteve Gjuha dhe Qyteti, dhe Gjuha dhe
Kryeqyteti nuk egziston lidhje direkte por ajo realizohet
përmes Shtetit!
18
Shteti - Qyteti
Shteti - Kryeqyteti
Shteti - Gjuha
Qyteti - Gjuha
Qyteti - Kryeqyteti
Kryeqyteti - Gjuha
shumë-shumë
nuk egziston
nuk egziston
19. Në mes Shteti dhe Kryeqyteti
Shteti ka saktësisht një kryeqytet, kurse
kryeqyteti i përket saktësisht një shteti.
Realizimi i lidhjes: të tri mënyrat janë të
mundshme, mvaret nga situta konkrete në bazë
Do të paraqesim realizimin me integrim.
19
20. Shteti
Emri shtetit
Banorë
Madhësia
Rendi shoqëror
20
Kryeqyteti
– Emri qytetit
– Nr. banorëve
Shteti
– Emri shtetit
– Banorë
– Madhësia
– Rendi shoqëror
– Emri qytetit
– Nr. banorëve
Realizimi i lidhjes me integrimin e
Kryeqytetit në Shtet (bën edhe
anasjelltas)
21. Në mes entiteteve Shteti dhe Qyteti
Shteti ka më shumë qytete, kurse qyteti i përket
saktësisht një shteti.
Realizimi i lidhjes: ose me vendosjen e qelësit
primar ose me tabelë të re
Vendosja e Qelësit primar: kemi entitetet A
dhe B. Një rreshti të entitetit A mund ti
përgjigjen më shumë rekorde të entitetit B,
kurse një rekordi të entitetit B i përgjigjet
saktësisht një rekord i entitetit A. Atëherë në
mes vetive të entitetit B fusim qelësin primar të
entitetit A! 21
22. Shteti
Emri shtetit
Banorët
Madhësia
Rendi shoqëror
22
Qyteti
– Emri qytetit
– Nr banorëve
Entiteti Shteti nuk ndryshon
Qyteti
– Emri qytetit
– Nr banorëve
– Emri shtetit
Të vendoset qelësi primar i
entitetit Shteti
23. Në mes entiteteve Shteti dhe Gjuha
Në një shtet mund të fliten shumë gjuhë, kurse
një gjuhë mund të flitet në më shumë shtete.
Realizimi i lidhjes: me tabelë të re
Tabela e re duhet të ketë qelësin e saj primar, të
përmban qelësat primarë të Shtetit dhe Gjuhës,
dhe eventualisht vecori shtesë.
23
24. Shteti
– Emri shtetit
– Banorë
– Madhësia
– Rendi
shoqëror
Shteti dhe Gjuha nuk ndryshojnë
24
Gjuha
– Emri gjuhës
– Alfabeti
Qelësi primar I tabeles së re
Flitet
– ID
– Emri gjuhës
– Emri shtetit
– Nr banorëve
Qelësat
primar të
futur për
entitetet
Gjuha
dhe
Shteti
Veti shtesë
25. Tabelat duhet të kenë kuptim
Çdo rresht do duhej të paraqes një paraqitje të
entitetit
Një tabelë nuk do duhej të përmban të dhënat e disa
entiteteve
Evitohet përsëritja e të dhënave
Lehtësohen ndryshimet
Shtyllat e ndryshme për të dhëna të cilave
duhet tì qasemi pamvarësisht.
Nëse duhet ti qaseni vetëm një pjese të të dhënave në
ndonjë shtyllë, ndani shtyllen!
25
26. Cdo qelizë përmban saktësisht një vlerë
Në shembullin e kaluar nuk do ishte mirë që në
entitetin Shteti të kemi veqorin Gjuha e cila ka vlerat
italisht, frengjisht.
Çdo tabelë duhet të ketë qelësin primar
Të evitohet përsëritja e panevojshme e të
dhënave.
26
27. Punëtori Dt. punësimit Numri telefonit Reparti Adresa e repartit
Marko Maric 15.5.2000 091-234156 Akustika Sisak,Zagrebacka 7
Petar Peric 1.4.1997 091-289414 Akustika Sisak,Zagrebacka 7
Zdravko Zoric 15.1.2001 098-323213 Optika Zagreb,Gregorceva 11
Marija Mimic 15.5.1999 098-323498,091-232214 Optika Zagreb,Gregorceva 11
Në tabelë kemi të dhëna për dy entitete, Punëtori dhe
Reparti, tabela duhet të ndahet në dy sosh.
Cila është lidhja në mes Punëtori dhe Reparti?
27
Më shumë të dhëna në një qelizë
Të ndahet qyteti nga adresa
• Cili është Qelësi primar për Punëtori?
• Duhet të shtohet fusha e re: ID ose
JMBG
28. E metë: Mjaft hapësirë e zbrazët në tabelen
Punëtori
28
Id
Punëtori
Punëtori Dt. punësimit Nr. Telefonit 1 Nr. Telefonit 2 Id Reparti
1 Marko Maric 15.5.2000 091-234156 1
2 Petar Peric 1.4.1997 091-289414 1
3 Zdravko
Zoric
15.1.2001 098-323213 2
4 Marija Mimic 15.5.1999 098-323498 091-2324214 2
Id reparti Emri repartit Qyteti Adresa
1 Akustika Sisak Zagrebacka 7
2 Optika Zagreb Gregorceva 11
29. 29
Id Punëtori Punëtori Data e punësimit ID
reparti
1 Marko Maric 15.5.2000 1
2 Petar Peric 1.4.1997 1
3 Zdravko Zoric 15.1.2001 2
4 Marija Mimic 15.5.1999 2
Id Id
Punëtori
Nr telefonit
1 1 091-234156
2 2 091-289414
3 3 098-323213
4 4 098-323498
5 4 091-2324214
Id
reparti
Emri
repartit
Qyteti Adresa
1 Akustika Sisak Zagrebacka 7
2 Optika Zagreb Gregorceva11
30. Gjatë dizajnimit të modelit të të dhënave duhet
të kemi parasysh:
◦ Cilat entitete nevojiten për funkcionim të bazës
◦ Cilat pyetje dëshirojmë ti shtrojmë në bazë
◦ Çfarë raporte dëshirojmë të kemi nga baza
◦ Çfarë janë lidhjet në mes entiteteve
◦ Cilat janë vetitë e secilit entitet
◦ A ka nevojë që disa veti të entitetit të ndahen në tabelë
të re?
30
31. Cilët janë entitetet?
A egzistojnë lidhjet mes tyre?
Çfarë është natyra e lidhjes?
A ka kushte shtesë?
Çfarë tabelash na duhen për prezentimin e
entiteteve?
Çfarë është qelësi primar i secilës tabelë?
Cilat janë fushat tjera në tabelë?
Cilat fusha/tabela na duhen për paraqitjen e
lidhjes?
A kemi harruar dicka???
31
32. Duam të ndërtojmë një model të të dhënave për
videotekë. Duhet të përcjellen të dhënat për
anëtarët , filmat dhe porositë që anëtarët i
bëjnë. Për arsye të thjeshtësisë supozojmë se
anëtarët huazojnë një film. Poashtu, duhet
ditur cili punëtorë e ka dhënë filmin. Për filmin
duhet ditur cilit zhanër i përket për ti renditur
në rafte, dhe a është kthyer apo jo. Supozojmë
që saktësisht kemi vetëm një kopje të filmit.
Ndërtoni modelin!
32
33. Entitetet
Anëtari – të dhënat për anëtarët
Filmi – të dhënat për filmat
Huazimi – të dhënat për huazimet
Punëtori – të dhënat për nënpunësit
33
Lidhjet
Anëtari - Huazimi 1 - ∞
Filmi - Huazimi 1 - ∞
Punëtori - Huazimi 1 - ∞
34. Anëtari
Shifra
anëtarit(T)
Emri e
mbiemri(T)
Adresa (T)
Nr telefonit(T)
Vërejtje (M)
34
Filmi
Shifra
filmit(AN)
Emri filmit(T)
Zhanri (T)
Huazimi
Shifra huazimit(AN)
Shifra anëtarit(T)
Shifra filmit(N)
Id punëtorit (N)
Data (D/T)
Çmimi (C)
Filmi kthyer(Y/N)
Punëtori
Id punëtorit (AN)
Emri e
mbiemri(T)
Adresa (T)
Nr telefonit(T)
Vërejtje (M)
Në tabela të ndryshme lidhim fushat të cilat kanë
kuptim të njëjtë.
Ato fusha duhet të jenë të tipit të njëjtë.
Përjashtim është fusha e tipit Autonumber e cila
lidhet me fushen e tipit Number në tabelen e
dytë!
35. Dëshirojmë të ju mundësojmë anëtarëve të
videotekes që të mund ta kenë listen e filmave
ku luan aktori i tyre i preferuar. Çfarë
ndryshimesh (shtimi i entiteteve të reja, shtim i
vetive të reja entiteteve egzistuese) duhet bërë?
35
36. Anëtari
Shifra
anëtarit(T)
Emri e
mbiemri(T)
Adresa (T)
Nr telefonit(T)
Vërejtje (M)
36
Filmi
Shifra filmit(AN)
Emri filmit(T)
Zhanri (T)
Huazimi
Shifra huazimit(AN)
Shifra anëtarit(T)
Shifra filmit(N)
Id punëtorit (N)
Data (D/T)
Çmimi (C)
Filmi i kthyer(Y/N)
Punëtori
Id punëtorit (AN)
Emri e
mbiemri(T)
Adresa (T)
Nr telefonit(T)
Vërejtje (M)
Artisti
Id artistit (AN)
Emri e
mbiemri(T)
Viti lindjes. (N)
Shpërblimet (M)
Aktori Filmi
Id (AN)
Shifra filmit (N)
Id artistit (N)
37. Modeli paraprak është krijuar sipas supozimit
se anëtari do të huazon vetëm një film.
Por, në praktikë anëtarët mund të huazojnë më
shumë filma.
Përmirsoni modelin i cili do të mundëson edhe
atë rast!
37
38. Tabelat Anëtari, Punëtori, Aktori, AktorëFilm,
mbesin të njëjta sikur te modeli paraprak
38
Filmi
Shifra filmit (AN)
Emri filmit(T)
Genre (T)
Huazimi
Shifra huazimit(AN)
Shifra anëtarit(T)
Id punëtorit (N)
Data (D/T)
Çmimi (C)
Artikulli
Id artikulli (AN)
Shifra filmit(N)
Shifra huazimit(N)
Filmi kthyer (Y/N)
39. Anëtari
Shifra anëtarit
Emri mbiemri
Adresa
Nr telefonit
Vërejtje
Punëtori
Id djepunëtorit
Emri mbiemri
Adresa
Nr telefonit
Vërejtje
Artikulli
Id Artikulli
Shifra huazimi
Shifra filmit
Filmi i kthyer
Huazimi
Shifra huazimit
Shifra anëtarit
Id punëtorit
Data
Çmimi
Filmi
Shifra filmit
Emri filmit
Zhanri
Predavanje 01 - Baze podataka 39
Aktori
Id aktori
Emri&mbiemri
Viti lindjes
Shpërblimet
AktorëFilm
Id
Shifra filmit
Id aktorit