leksioni-1hyrje në bazat e të dhënave
DESCRIPTION
Hyrje në bazat e të dhënaveTRANSCRIPT
Hyrje në bazat e të dhënave
Leksioni 1
Kaltrina Nuredini, MSc
Universiteti Shtetëror i Tetovës
1
Informata për lëndën Mësimdhënësja: Kaltrina Nuredini
Kontakti: [email protected]
Informata në: www.haliti.info
Konsultimet: E hënë: 12:00-13:00
Literatura: • Ramakrishnan.R, Gehrke.J: Database Management Systems,
TheMcGraw-Hill, third edition (2003) • Slajdet
2
Notimi
10% pjesëmarrja
15% detyrat
30% kolokiumi parë
30% kolokiumi dytë
15% projekti final (dy studentë për grup)
Plagjiatura/kopjimi
Detyrat dhe projekti i dërguar duhet të jetë puna juaj individuale dhe jo i dikujt tjetër.
Nuk lejohet bashkëpunimi në detyra dhe kolokiume. Ato të cilët kanë plagjiaturë nuk e kalojnë lëndën.
3
Baza e të dhënave gjithandej»
4
You can have data without information, but you cannot have information without data!
Web users ultimately want to get at data quickly and easily. They don’t care as
much about attractive sites and pretty design.
5
Tim Berners-Lee
Pse studiojmë bazat e të dhënave?
• Shumica e aplikacioneve merren me sasi të
mëdha informatash. (Mendoni një softuer për spitalet)
• Sistemet e bazave të të dhënave me anë të mjeteve për ruajtje, kërkim, modifikim, mbrojtje u mundëson të dhënave një menaxhim të mirëfilltë.
• Një sistem i bazës së të dhënave përbëhet nga:
- Të dhënat (baza)
- Softueri
- Hardueri
- Përdoruesit
6
?
Baza e të dhënave?
• Një bazë të dhënash paraqet një koleksion të organizuar të të dhënave të lidhura ndërmjet veti në tabela për të përshkruar aktivitetet e një organizate të caktuar.
• Një bazë të dhënash duhet të përmbaj informatat si në vazhdim:
- Entitetet ( studentët, fakultetet, laboratorët etj.)
- Lidhjet (studentët regjistrojnë lëndët, lëndët mbahen në laboratorët)
7
Një bazë tipike (Media-wiki)
8
Sistemi për menaxhimin e bazës së të dhënave
DBMS
• Është një softuer i dizajnuar për të mundësuar krijimin, mirëmbajtjen dhe shfrytëzimin e një baze të dhënash.
• Softuerë të këtillë:
-
-
-
-
9
Pse DBMS? • Pavarësia e të dhënave dhe qasja efikase (Nëse futen të
dhëna të reja, nuk do të kërkoj ndërrimin e aplikacioneve ekzistuese). Operacionet me të dhënat duhet të kryhen shpejtë.
• Integriteti dhe siguria e të dhënave ( Me integritetin ruhet ko-ekzistenca dhe rregullsia e të dhënave. Ndërsa siguria mundëson sigurimin e të dhënave (rikthimin) nga zhdukja e bazës nga ndikime të ndryshme si ato harduerike edhe ato softuerike).
• Qasje e njëkohshme (mundëson qasje të njëkohshme, psh. Shumë përdorues mund t’i qasen bazës njëkohësisht).
• Mbrojtja nga përdoruesit e pa autorizuar ( përdorues të ndryshëm të kenë qasje të ndryshme tek të dhënat).
10
SHEMBULL
11
Koleksion i listave
Jo në letër por në kompjuter p.sh. Në SQL server
Modelet e të dhënave
• Modeli i të dhënave (data model) është një koleksion i koncepteve për të përshkruar të dhënat.
- Modeli relacional
- Modeli i rrjetit
- Modeli hierarkik
12
Modeli Relacional
• Është një ndër modelet më të përdorura në bazat e të dhënave dhe që bazohet në teorinë matematikore të relacioneve. Ky model ndërtohet me anë të relacionit (relation) i cili paraqet një bashkësi të rekordeve – rreshtave (records).
• Modeli semantic - mundëson përshkrimin logjik të të dhënave, modeli i këtillë njihet si Entity Relationship Model (E-R modeli).
• Një skemë (schema) paraqet përshkrimin e një koleksioni të dhënash duke përdorur modelin e të dhënave. Në modelin relacional, skema për një relacion paraqet emrin e relacionit, emrat e fushave (kolonat) dhe tipet e fushave.
13
Skema relacionale për studentin
14
ID Emri Mbiemri Mosha Nota
53767 John Smith 19 8
53879 Robert Pierce 18 9
53812 Ane Fernandes 19 8
53453 Kenny Riberio 20 7
Instanca për relacionin studenti / (Instance)
Nivelet e abstraksionit në DBMS
1. Niveli konceptual, 2. Niveli fizik dhe 3. Niveli i jashtëm
• Niveli konceptual (conceptual schema): Në DBMS relacionale, kjo
skemë definon paraqitjen logjike që i përshkruan të gjitha relacionet që ruhen në bazën e të dhënave. Administratori i bazës.
• Niveli fizik (physical schema): përmbledh se si relacionet e përshkruara në skemën konceptuale ruhen në memorie sekondare. Programerët sistemor (DBMS).
• Niveli i jashtëm (external schema): është mënyra me të cilën e sheh shfrytëzuesi ose programi aplikativ.
• Nën-skemat (views-shiqimet) përshkruajnë se si përdoruesit i shikojnë të dhënat.
15
16
Baza e të dhënave
Skema fizike
Skema konceptuale
View 1 View 2 View 3 View 4
Gjuhët në bazën e të dhënave • DDL (Data Definition Language): është gjuhë e përdorur nga sistemi për
menaxhim të bazës së të dhënave që u lejon përdoruesve të definojnë bazën, relacionet dhe lidhjet në mes tyre.
Komandat e DDL (shembull):
CREATE TABLE, CREATE INDEX, ALTER, and DROP.
• DML (Data Manipulation Language): është gjuhë që mundëson lidhjen në mes programeve aplikative dhe bazës. Në këtë rast kryhen ruajtja, ndryshimi, fshirja dhe leximi i rekordeve.
Komandat e DML (shembull):
SELECT...FROM...WHERE
INSERT INTO...VALUES...
UPDATE...SET...WHERE
• SQL (Structured Query Language) – gjuhë që shërben për realizimin pyetësorëve (queries) nga ana e shfrytëzuesve. 17
Shembull: baza e të dhënave për Universitetin
• Skema Konceptuale
ë
ë ë
• Skema fizike
Relacionet e ruajtura në fajlla jo të renditura
Indeksim në kolonën e parë te Studentët
• Skema e jashtme
Info_Lënda(L_id:string, regjistrimi:integer) 18
Pavarësia e të dhënave
• Programet aplikative janë të izoluar nga ndryshimet për të dhënat e strukturuara dhe të ruajtura. Pavarësia e të dhënave arrihet nëpërmjet të përdorimit të tre niveleve të abstraksionit.
• Pavarësia e të dhënave logjike: mbrojtja nga ndryshimet me të dhëna të strukturës logjike.
• Pavarësia e të dhënave fizike: Mbrojtja nga ndryshimet me të dhëna të strukturës fizike.
• Shfrytëzuesit (end-user)
• Programuesit e programeve të bazave të të dhënave
• Administratori i bazës së të dhënave
19
Menaxhimi transaksioneve
• DBMS-të lejojnë qasje të menjëhershme tek të dhënat e njëjta. Kjo lloj qasjeje mund të thirret edhe si qasje paralele ndërmjet përdoruesve të cilët kanë bindjen se janë shfrytëzues të vetëm në atë sistem. Qasja paralele mund të kryhet me anë të transaksioneve.
• Transaksioni paraqet një veprim apo një ekzekutim nga programi i përdoruesit në DBMS. Transaksioni mund të jetë psh. Regjistrimi i një të dhëne.
• Transaksioni që fillohet duhet patjetër të përfundohet. Nëse transaksioni mbetet i pa përfunduar për arsye të ndryshme atëherë ai duhet patjetër të neutralizohet.
20
Ensuring Atomicity
• DBMS ensures atomicity (all-or-nothing property) even if system crashes in the middle of a Xact.
• Idea: Keep a log (history) of all actions carried out by the DBMS while executing a set of Xacts:
• Before a change is made to the database, the corresponding log entry is forced to a safe location. (WAL protocol; OS support for this is often inadequate.)
• After a crash, the effects of partially executed transactions are undone using the log. (Thanks to WAL, if log entry wasn’t saved before the crash, corresponding change was not applied to database!)
21
Karakteristikat e ACID
• Një transaksion është koleksion i veprimeve nën ndjekje të karakteristikave ACID:
• Atomicity: Baza e të dhënave ndjek rregullën: gjitha apo asnjë: DB i konsideron të gjitha operacionet e transaksionit si një njësi të tërë (ose atom). Kur DB proceson një transaksion, transaksioni i tillë ose përfundohet plotësisht ose nuk ekzekutohet aspak.
• Consistency: Siguron që vetëm të dhënat e vlefshme shkruhen në bazën e të dhënave. Kur një transaksion rezulton në të dhëna të pavlefshme , baza e të dhënave kthehet në gjendje të mëparshme.
22
Karakteristikat e ACID
• Isolation: vërteton që transaksionet janë të sigurta dhe të procesuara në mënyrë të pavarur në të njëjtën kohë pa ndonjë ndërhyrje, por nuk siguron rendin e transaksioneve.
• Durability: Pasi transaksioni përfundon me sukses ai nuk do të humbet kurrë nga baza e të dhënave.
23
Përmbledhje
• DBMS përdoret për të ruajtur dhe pyetur një sasi të madhe të dhënash.
• Përparësitë e përdorimit të DBMS: rikthimi i të dhënave nga rrëzimi i sistemit, qasje e njëkohshme, ruajtja e integritetit të të dhënave dhe sigurimi i tyre.
• Administratorët e DB (DBA) mbajnë një punë të përgjegjshme por paguhen mirë.
24
Detyra!
• Fq. 23-24
Exercises 1.1.
Exercises 1.2.
Exercises 1.3
Exercises 1.4
Exercises 1.5
25