leksioni-1hyrje në bazat e të dhënave

25
Hyrje në bazat e të dhënave Leksioni 1 Kaltrina Nuredini, MSc Universiteti Shtetëror i Tetovës 1

Upload: william-smith

Post on 28-Dec-2015

129 views

Category:

Documents


2 download

DESCRIPTION

Hyrje në bazat e të dhënave

TRANSCRIPT

Page 1: Leksioni-1Hyrje në bazat e të dhënave

Hyrje në bazat e të dhënave

Leksioni 1

Kaltrina Nuredini, MSc

Universiteti Shtetëror i Tetovës

1

Page 2: Leksioni-1Hyrje në bazat e të dhënave

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

Page 3: Leksioni-1Hyrje në bazat e të dhënave

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

Page 4: Leksioni-1Hyrje në bazat e të dhënave

Baza e të dhënave gjithandej»

4

You can have data without information, but you cannot have information without data!

Page 5: Leksioni-1Hyrje në bazat e të dhënave

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

Page 6: Leksioni-1Hyrje në bazat e të dhënave

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

?

Page 7: Leksioni-1Hyrje në bazat e të dhënave

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

Page 8: Leksioni-1Hyrje në bazat e të dhënave

Një bazë tipike (Media-wiki)

8

Page 9: Leksioni-1Hyrje në bazat e të dhënave

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

Page 10: Leksioni-1Hyrje në bazat e të dhënave

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

Page 11: Leksioni-1Hyrje në bazat e të dhënave

SHEMBULL

11

Koleksion i listave

Jo në letër por në kompjuter p.sh. Në SQL server

Page 12: Leksioni-1Hyrje në bazat e të dhënave

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

Page 13: Leksioni-1Hyrje në bazat e të dhënave

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

Page 14: Leksioni-1Hyrje në bazat e të dhënave

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)

Page 15: Leksioni-1Hyrje në bazat e të dhënave

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

Page 16: Leksioni-1Hyrje në bazat e të dhënave

16

Baza e të dhënave

Skema fizike

Skema konceptuale

View 1 View 2 View 3 View 4

Page 17: Leksioni-1Hyrje në bazat e të dhënave

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

Page 18: Leksioni-1Hyrje në bazat e të dhënave

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

Page 19: Leksioni-1Hyrje në bazat e të dhënave

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

Page 20: Leksioni-1Hyrje në bazat e të dhënave

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

Page 21: Leksioni-1Hyrje në bazat e të dhënave

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

Page 22: Leksioni-1Hyrje në bazat e të dhënave

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

Page 23: Leksioni-1Hyrje në bazat e të dhënave

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

Page 24: Leksioni-1Hyrje në bazat e të dhënave

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

Page 25: Leksioni-1Hyrje në bazat e të dhënave

Detyra!

• Fq. 23-24

Exercises 1.1.

Exercises 1.2.

Exercises 1.3

Exercises 1.4

Exercises 1.5

25