2. 7.1 Karakteristikat e Databazës
(Bazës së të dhënave)
Të dhënat ruhen në tabela, të cilat kanë rreshta dhe
kolona. Databaza mund të ketë shumë tabela, ku çdo
tabelë ruan të dhëna për gjëra të ndryshme
Çdo rresht në tabelë përmban të dhëna për ndodhi ose
instanca të gjërave në interes
Databaza përmban të dhëna dhe relacione
2
5. Disa konventa
Emrat e Tabelave janë të shënuara me shkronja të
mëdha:
STUDENT, CLASS, GRADE
Emrat e kolonave janë të shënuara me një shkrronjë të
madhe në fillim, dhe emrat e përbëra shënohen me
shkronja të mësha në fillim të çdo fjale:
Term, Section, ClassNumber, StudentName
5
6. Databaza krijon informacion
Të dhëna = Fakte dhe ndodhi të regjistruara/verifikuara
Informacioni = Njohuri të nxjerra nga të dhënat
Databaza përmban të dhëna, por në atë mënyrë që mund të
nxjerrim informata nga të dhënat
Të dhënat në tabelat STUDENT, CLASS and GRADE
mund të prodhojnë informacione për secilin student
6
10. Aplikacionet, DBMS dhe SQL
Aplikacionet janë programe kompjuterike me anë të cilave
punojnë përdoruesit
Sistemi për Menaxhim të Databazës - Database Management
System (DBMS) krijon, proceson dhe administron databazën
Structured Query Language (SQL) është një gjuhë standarde
e databazave që përdoret nga të gjitha DMBS-et komerciale
10
11. Çfarë është MS Access?
MS Access është DBMS plus gjenerues aplikacionesh:
DBMS krijon, proceson dhe administron MS Access
databazën
Gjeneruesi i aplikacionit përfshin komponentat
pyetësore, të formave dhe raporteve
DBMS makina e MS Access DBMS quhet Jet, e cila
nuk shitet si produkt i veçantë
MS Access 2000 dhe më vonë mund të përdoren si gjenerues
aplikacionesh për MS SQL Server DBMS
11
13. DBMS Produkte më të njohura
Microsoft Access
Microsoft SQL Server
IBM DB2
Oracle Corporation ORACLE
Sybase
Informix
Ingress
Dhe mos e anashkaloni MySQL
13
14. Databaza
Databaza është koleksion vetë-përshkrues me tabela të
integruara
Tabelat quhet të integruara sepse ato përmbajnë të
dhëna për relacionet ndërmjet rreshtave me të dhëna
Databaza quhet vetë-përshkruese pasiqë përmban
përshkrim të vetvehtes
Të dhënat vetë-përshkruese quhen metadata, që janë të
dhëna për të dhënat
14
16. Përmbajtja e Databazës
• Tabela
• Metadata
• Indekse
• Stored procedures
• Triggers
• Të dhëna sigurie
• Të dhëna për Backup
16
17. Tre tipe të dizajnit të Databazës
1. Nga të dhënat ekzistuese
Analizimi i tabelave dhe tekst fajlleve të ndryshme
Nxjerrja e të dhënave nga databaza ekzistuese
Dizajni me anë të normalizimit
2. Zhvillimi i ri i Sistemeve
- Krijohet modeli i të dhënave për nevojat e aplikacionit
- Transformimi i modelit të të dhënave në dizajn të databazës
3. Ridizajnimi i Databazës
- Migrimi i databazës në databazë të re
- Integrimi i dy apo më shumë databazave
17
22. Structured Query Language - SQL
Structured Query Language (SQL) u zhvillua nga IBM
në fund të viteve 1970.
SQL është bërë standard nacionnal në SHBA nga
American National Standards Institute (ANSI) në 1992
[SQL-92].
Verzioni më i ri [SQL3] ekziston dhe inkorporon disa
koncepte të orientuara në objekte, por nuk përdoret
gjërësisht nga DBMS produktet komerciale.
22
23. SQL si Nëngjuhë e të dhënave
SQL nuk është gjuhë e plotë programore si C, C#, edhe
Java.
SQL ëshë nëngjuhë për të dhëna për krijimin dhe
procesimin e të dhënave dhe meta të dhënave
(metadata) të databazës.
SQL është i gjithëpranishëm në DBMS produktet
komerciale të klasave - enterprise.
23
24. SQL DDL dhe DML
SQL formulimet/pyetësorët mund të ndahen
në dy kategori:
Data definition language (DDL) formulime
Për krijimin e tabelave, relacioneve, dhe strukturave tjera.
Data manipulation language (DML) formulimet.
Për pyetësor dhe modifikim të të dhënave
24
25. Gjuhët e databazave
Gjuha për definimin e të dhënave - Data Definition
Language (DDL)
I mundëson DBA ose përdoruesit të përshkruaj dhe
emërojë entietete, atribute dhe relacione të nevojshme
për aplikacionin.
CREATE, ALTER, DROP.
25
26. Gjuhët e databazave
Gjuha për Manipulimin e të dhënave- Data Manipulation
Language (DML)
Ofrom operacione për manipulim bazik të të dhënave në
databazë.
DML procedurale- iu mundëson përdoruesve
saktësisht se si ti manipulojnë të dhënat.
DML jo procedurale- iu mundëson përdoruesve në
çfarë gjendje nevojiten të dhënat dhe jo në çmënyrë
duhet të nxirren nga baza.
INSERT, UPDETE, DELETE.
26
27. Funksionet e DBMS
Ruajtja, nxjerrja dhe përditësimi i të dhënave.
Duhet tju mundësoj përdoruesve të ruajnë nxjerrin
dhe ti përditësojnë/ndryshojnë të dhënat në
databazë.
Katalog për qasje nga përdoruesi.
Duhet të mundësoj katalogimin e të dhënave ku
përshkrimet e elementëve të të dhënave do të
ruhen dhe që janë të qasshme nga ana e
përdoruesit.
27
28. Funksionet e DBMS
Mbështetje e transakcioneve
Duhet të shërbejë si mekanizëm që ose të gjitha
përditësimet që korespondojnë me një
transakcion të dhënë janë kryer ose asnjë prej
tyre nuk është kryer.
Shërbime për kontrollin e konkurencës
Duhet të shërbejë si mekanizëm që mundëson që
databaza është përditësuar korrektësisht atëherë
kur përdorues të shumëfishtë e përditësojnë
databazën në mënyrë konkurente.
28
29. Funksionet e DBMS
Shërbimet e rigjenerimit (recovery services)
Duhet të shërbejë si mekanizëm për rigjenerimin e
databazës në raste kur dëmtohet databaza në
mënyra të shumta.
Shërbimet e autorizimit
Duhet të shërbejë si mekanizëm që do të sigurojë se
vetëm persona të autorizuar mund ti qasen
databazës.
29
30. Funksionet e DBMS
Mbështetje për komunikimin e të dhënave
Duhet ë jetë në gjendje të integrohet me softverët për
komunikim.
Shërbimet e integritetit
Duhet të shërbejë si mekanizëm që do të mundësojë se
edhe të dhënat e databazës edhe ndryshimet ndaj të
dhënave të pasojnë rregulla të caktuara.
30
31. Komponentat e DBMS
Procesuesi i
pyetësorëve
Menaxhuesi i
databazës (DM)
Menaxhuesi i fajllave
DML preprocesuesi
DDL kompajleri
Menaxhuesi i katalogut
31
32. Modeli Relacional-Terminologjia
Kemi pranuar një apo më shumë tabela
me të dhëna.
Të dhënat duhet të ruhen në databazë të
re.
PYETJE: A duhet që të dhënat të ruhen
ashtu si i kemi pranuar, ose duhet që të
njëjtat të transformohen për tu ruajtur?
32
33. Sa tabela?
A duhet ti ruajmë këto dy tabela kështu si janë, ose duhet ti kombinojmë ato
në një tabelë në databazën tonë të re?
33
34. 7.2 Modeli Relacional
Futet në përdorim në 1970
Krijuar nga E.F. Codd
Ai ishte një inzhiner i IBM
Modeli shfrytëzon fushën e matematikës e quajtur si
“algjebra relacionale”
Tani përdoret si model standard për DBMS produktet
komerciale
34
35. Terminet e rëndësishme të Modelit
Relacional
Entity - Entiteti
Relation - Relacioni
Functional Dependency – Varshmëria funksionale
Determinant - Përcaktues
Candidate Key – Çelës kandidat
Composite Key – Çelës i përbërë
Primary Key – Çelës primar
Surrogate Key – Çelës surogat
Foreign Key – Çelës i jashtëm
Referential integrity constraint – Rregulla e integritetit
referencial
Normal Form – Forma normale
Multivalued Dependency – Varshmëria shumëvlerëshe
35
36. Entiteti - përsëritje
Entiteti është diçka që mund të identifikohet e që
përdoruesit mund ta hetojnë/gjurmojnë:
Klientët
Kompjuterët
36
37. Relacioni
Produktet relacionale të DBMS i ruajnë të dhënat e
entiteteve në relacione, të cilat janë tipe speciale të
tabelave
Relacioni është tabelë dydimensionale që i
posedon këto karakteristika:
Rreshtat përmbajnë të dhëna për entitetin
Kolonat ruajnë të dhëna për atributet e entitetit
Të gjithë entitetet në kolonë janë të të njëjtit tip
Secila kolonë ka emër unik
Qelitë e tabelës kanë vlera të veçantë
Rradhitja e kolonave është e parëndësishme
Rradhitja e rreshtave është e parëndësishme
Dy rreshta nuk mund të jenë identike
37
40. Tabelat që nuk janë relacione:
Të hyra të shumëfishta për një qeli
40
41. Tabelat që nuk janë relacione: :
Tabelë me rradhitje të kërkuar të rreshtave
41
42. Terminologji Alternative
Edhe pse jo të gjitha tabelat janë relacione, terminet
tabelë dhe relacion përdoret në mënyrë të
këmbyeshme
Këto termine janë ekuivalente:
42
43. Varshmëria funksionale
Varshmëria funksionale ndodh kur vlera e një
atributit(teve) përcakton vlerat e atributit(teve) tjetër:
StudentID EmriStudentit
StudentID (NrKampusit, NrDhomes, Pagesa)
Atributi në anën e majtë të varshmërisë funksionale quhet
përcaktues (determinant)
Varshmëritë funksionale mund të bazohen edhe në
ekuacione:
Totali = Sasia X Çmimi
(Quantity, UnitPrice) ExtendedPrice
(Sasia, Çmimi) Totali
Varshmëritë funksionale nuk janë ekuacione!
43
44. Varshmëritë funksionale nuk janë ekuacione!
ObjectColor Weight
ObjectColor Shape
ObjectColor (Weight, Shape)
44
45. Përcaktuesit e përbërë
Përcaktuesit e përbërë: Përcaktues i një varshmërie
funksionale që përbëhet nga më shumë se një atribut
(StudentName, ClassName) (Grade)
(EmriStudentit, Lënda) (Nota)
45
46. Rregullat e varshmërisë funksionale
Nëse A (B, C), atëherë
A B edhe A C
Nëse (A,B) C, atëherë as A edhe as B nuk përcakton C
vetëvetiu
46
51. Çelsat
Një çelës është një kombinim i një apo më shumë
kolonave që përdoret për identifikim të rreshtave në
relacion
Çelësi i përbërë është çelës që përbëhet nga dy apo më
shumë kolona
51
52. Çelësi kandidat dhe primar
Çelësi kandidat është çelës që përcakton të
gjitha kolonat tjera të relacionit
Çelësi primar është çelës kandidat i
zgjedhur si primar
Ka një dhe vetëm një çelës primar për një relacion
Çelësi primar mund të jetë çelës i përbërë
Çelësi primar ideal është i shkurtërm numerik dhe që nuk
ndryshon kurrë
52
53. Çelësat surrogat
Çelësi surrogat është një kolonë
artificiale e shtuar në relacion që të
shërbejë si çelës primar:
E shton DBMS
I shkurtër, numerik dhe nuk ndryshon kurrë - çelës
primar ideal!
Ka vlera artificial që nuk kanë kuptim për
shfrytëzuesit
Normalisht fshihet në forma apo raporte
53
54. Çelësat surrogat
SHËNIM: Çelësi primar është i nënvizuar:
RENTAL_PROPERTY pa çelës surrogat:
RENTAL_PROPERTY (Street, City,
State/Province, Zip/PostalCode, Country, Rental_Rate)
RENTAL_PROPERTY me çelës surrogat:
RENTAL_PROPERTY (PropertyID, Street, City,
State/Province, Zip/PostalCode, Country, Rental_Rate)
54
55. Çelësat e jashtëm
Çelës i jashtëm është çelës primar i një
relacioni që vendoset në një relacion
tjetër për të formuar link ndërmjet
relacioneve:
Çelësi i jashtëm mund të jetë kolonë e vetme ose
çelës i përbërë
55
56. Çelësat e jashtëm
SHËNIM: Çelësat primar të relacioneve janë
nënvizuar dhe çelësat e jashtëm janë në italics :
DEPARTMENT (DepartmentName, BudgetCode, ManagerName)
EMPLOYEE(EmployeeNumber, EmployeeName, DepartmentName)
56
57. Rregulla e integritetit regerencial
Rregulla e integritetit referencial është fjali që kufizon vlerat e
çelësit të jashtëm me vlerat për çelsin primar ekzistues në relacionin
korespondues
Çelësi i jashtëm me rregullën e integritetit referencial
SHËNIM: Çelësi primar i relacionit është nënvizuar dhe çelësi i jashtëm
është në italics:
SKU_DATA (SKU, SKU_Description, Department, Buyer)
ORDER_ITEM (OrderNumber, SKU, Quantity, Price, ExtendedPrice)
Where ORDER_ITEM.SKU must exist in SKU_DATA.SKU
57