Sistemet e bazave të të dhënave Java I Fakulteti i shkenca kompjuterike dhe Inxhinieri

30
Sistemet e bazave të të dhënave Java I Fisnik Prekazi Prishtinë, 2013 Fakulteti i shkenca kompjuterike dhe Inxhinieri 1

Transcript of Sistemet e bazave të të dhënave Java I Fakulteti i shkenca kompjuterike dhe Inxhinieri

Sistemet e bazave të të dhënave Java I

Fisnik Prekazi

Prishtinë, 2013

Fakulteti i shkenca kompjuterike dhe Inxhinieri

1

Përmbajtja

Hyrje

Dizajni i Bazës së të dhënave

Manipulimi me të dhëna

Menaxhimi i transaksioneve

Data Warehouse

Bazat specifike të të dhënave 2

Hyrje

3

Blloku i telefonave

Libri i telefonave

Katastra

Bazat elektronike

Baza e të dhënave – vendi i organizar për ruajtje e të dhënave

Hyrje

4

Të dhënat

faktet të papërpunuara në formën e tekstit, numrit,

fotografisë, audio dhe video, të transmetuara në formë të sinjalit elektrik dhe ruajtura në mediume të ndryshme

Informacioni

të dhënat e përpunuara

Sistemet e e bazave të të dhënave

5

Me rritjen e kërkesave për ruajtën dhe përpunimin e të dhënave, janë zhvilluar edhe sisteme të ndryshme për menaxhimin e bazave të të dhënave. Sistemet e informacionit më të rëndësishme që janë zhvilluar janë: • Sistemet e bazuar në file • Sistemet për menaxhimin e bazave të të dhënave • Sistemet e bazave relacionare të të dhënave • Sistemet e avancuara të bazave të të dhënave

Sistemet e bazuara në file

6

Sistemet për ruajtjen e të dhënave në vitet 1960 ishin: • Mainframe • Depo të bazuar në file • Sisteme informative pjesë-pjesë (ang. Piecemeal information system development) • Sisteme për ruajte të përhershme si në mediumet “tape”

Organizimi i fileve

Sekuenciale (vazhdueshme)

Sekuenciale e indeksuar (vazhdueshme me tregues)

Forma sekuenciale e fileve

7

1. Prej vlerës më të voglës kah më e madhja (ang. ascending order)

2. Prej vlerës më të madhe kah më e vogla (ang. descending order)

Forma sekuenciale e indeksuar fileve

8

Sistemi i informacionit i bazuar në file

9

Sistemet e informacioneve të bazuara në file janë të ndërtuara mbi filet me forma përkatëse të organizimit. Një formë tjetër e organizimit të files është ruajtja e të dhënave në rreshta që përfaqësojnë një anëtarë të bashkësisë (ang. record). Hash filet – Këtë file bazohen në hash çelësa dhe hash funksione që llogarisin lokacionet (adresat) e të dhënave në file. E rëndësishme është të dihet që shume teknika të qasjes së fileve të hash janë zbatuar në baza të të dhënave të bazuar në file.

SI i bazuar në file – Problemet (1)

10

• Formatet e ndryshme

• Të dhëna të njëjta në file të ndryshëm

• Hapësira e pamjaftueshme

Të dhëna të tepërta dhe jo të qëndrueshme (ang. Data redundancy and inconsistency)

• Lista të ndryshme

• Duhej të shkruhej program i ri për çdo detyrë të re

Vështirësi në qasje në të dhëna

• nuk mund të garantohet që një e dhënë është shtypur në të gjitha rastet në mënyrë identike

Izolimi i të dhënave

SI i bazuar në file – Problemet (2)

11

• nuk mundësojnë kontrollimin e saktësisë formale dhe përmbajtjesore të të dhënës specifike

Problemet me integritet

• Veprimi A, B – nëse veprimi A kryhet por jo B atëherë nuk ka kthim mbrapa

Problemet me atomicitet (atom i pandashëm)

• SH1 deponon në LL1

• SH2 tërheq nga LL1

• Rezultati gabim

Qasja e një koheshe nga shfrytëzues të shumëfishtë (ang. Concurrent-access)

• në sistemet e fileve të gjithë shfrytëzuesit do mund të të qasen ne filet e çfarëdoshme

Problemet në siguri

Sistemi për menaxhimin e Bazave të të Dhënave

12

Një sistem i menaxhimit të bazës të të dhënave (DBMS) është një grumbull i të dhënave të ndërlidhura dhe një bashkësi e programeve që kanë mundësi t’i qasen këtyre të dhënave. Grumbullit të të dhënave që përmbajnë informacionin përkatës, i referohemi si baza e të dhënave (ang. database). Qëllimi kryesor i një DBMS: • të sigurojë një mënyrë më të përshtatshme dhe efikase, për të ruajtur dhe të rifitojë

informacion nga baza e të dhënave. Sistemet e bazës së të dhënave janë të dizajnuara për të menaxhuar sasi të mëdha të informatave. Menaxhimi i të dhënave përfshin përcaktimin e strukturave për ruajtjen (magazinimin) e informacionit dhe sigurimin e mekanizmave për manipulim me informacion.

DBMS përdoret në…

13

Modelet e bazës së të dhënave

14

Projektimi i bazave të të dhënave është kompleks nëse nuk përdorim modele të caktuara. Në DBMS këto modele i ndajmë në nivele të caktuara, ku secili nivel përshkruan koncepte të caktuara

Modeli konceptual i të dhënave

• UML

• Entity-Relationship

Modeli i zbatimit (implementimit)

• bashkësitë dhe relacionet

• Network Model

Modeli fizik

• forma të rreshtave

• në formën e fileve të indeksuar

Nivelet e pamjes

15

Skema dhe instanca

16

Skema

Programim int x = 5

Instanca Skema

Instanca 1

Instanca 1

Sistemet e bazave të të dhënave kanë disa skema duke u bazuar në nilevet e abstraksionit. Pra ekzistojnë: • skemat fizike që përshkruajnë dizajnin e

bazës së të dhënave për nivelin fizik, • skema logjike që përshkruan dizajnin e

bazës të të dhënave që i përgjigjet nivelit logjik

• nën skema që përshkruajnë nivelin e pamjeve

Pavarësia e të dhënave

17

Pavarësia e të dhënave është një koncept shumë i rëndësishëm në dizajnin të bazës së të dhënave. Janë dy lloje të pavarësisë së të dhënave që duhet t’i përfillim:

Pavarësia e të dhënave logjike

• skema logjike do të mund të ndryshojë pa ndryshuar pamjen e aplikacionit që i qaset bazës së të dhënave. Por nëse dëshirojmë që këtë ndryshim ta shfaqim në aplikacion atëherë duhet që të ndryshojmë pamjen e aplikacionit. Nga kjo rrjedhë se niveli logjik nuk varet nga aplikacioni softuerikë, por aplikacioni softuerikë varet nga niveli logjik i bazës së të dhënave.

Pavarësia fizike e të dhënave

• skema fizike e të dhënave mund të ndryshojë në mënyrë të pavarur nga skema logjike. Nëse të dhënave u ndryshojmë përcaktimin fizik apo do të mund të caktojmë ndonjë indeks pa pasur nevojë që të ndryshojmë skemën logjike.

Gjuhët e DBMS

18

Gjuha për definimin e të dhënave

Data Definition Language

• Skemën, modelin e të dhënave,

• vendin dhe hapësirën në mediumin përkatës,

• kufizimet tjera të të dhënave

• Etj.

Kufizimet në fushë përkufizimi

Integriteti në referencë

Pohime

Autorizimet

Gjuhët e DBMS

19

• Nxjerrjen e informacionin nga baza

• Regjistrimi i informacionit në bazë

• Fshirja e informacionit nga baza

• Ndryshimi i informacionit në bazë

Gjuha për manipulim me të dhëna

Data Manipulation Language

DML Procedurale

• Çfarë të dhëna dhe Si?

DML Deklarative

• Çfarë të dhëna?

query language

DML

Shfrytëzuesit e DBMS

20

• Shfrytëzuesit naivë (çiltër) janë shfrytëzues të thjeshtë jo profesionistë që ndër veprojnë me DBMS me anë të ndonjë programi apo aplikacioni që është ndërtuar paraprakisht. Shembulli i shfrytëzuesit të sistemit të fakultetit, apo sistemit të bankës etj.

• Programuesit e aplikacioneve janë shfrytëzuesit e BDMS, të cilët ndërtojnë aplikacione që

lidhen me bazë të të dhënave. Këta shfrytëzues zhvillojnë aplikacion duke modeluar bazën dhe e përdorin atë shpesh duke mos qenë ekspertë të sistemeve të bazave të të dhënave

• Shfrytëzuesit e sofistikuar janë ata, të cilët përdorin gjuhët për kërkim për të përdorë

bazën e të dhënave • Shfrytëzuesit e specializuar janë ndërtuesit e aplikacione të bazës së të dhënave. Këta

përdorin tipa të ndërlikuara të të dhënave si tipat grafike, audio etj.

Administratorët koordnojnë të gjitha aktivitetet e sistemit të bazës së të dhënave; administratori i bazës së të dhënave ka njohuri të mirë për resurset informative dhe nevojat e ndërmarrjes.

Administratorët e DBMS

21

Administratorët koordnojnë të gjitha aktivitetet e sistemit të bazës së të dhënave; administratori i bazës së të dhënave ka njohuri të mirë për resurset informative dhe nevojat e ndërmarrjes. Detyrat e administratorit të bazës së të dhënave përfshijnë:

• Përcaktimin e skemës • Ndërtimin e strukturës së deponisë dhe përcaktimin e metodave të qasjes • Skema dhe ndryshimi i organizimit fizik • Autorizimi i shfrytëzuesit të ketë qasje në bazën e të dhënave • Përcaktimin e limiteve të integritetit (integrity constraints) • Veproj si ndërlidhës me shfrytëzuesit • Monitorimi i performancës dhe përgjigja ndaj ndryshimeve në kërkesa

Modelet e të dhënave (1)

22

Modeli i të dhënave paraqet një grumbull të veglave konceptuale që përshkruajnë të dhënat, relacionet e të dhënave, semantikën e të dhënave dhe kufizimet e qëndrueshme

Modeli i bazuar në relacionet e

entiteteve

• Koleksion modelesh themelore të quajtura entitete

• Relacionet në mes tyre

• Dizajni i bazave të të dhënave

Modeli i bazuar në relacione

• Bashkësi e tabelave (relacione)

• Relacionet në mes tyre

• Të dhënat

Modeli i bazuar në objekte

• Objekte të gjuhëve programuese si C++, Java apo C#

• Vazhdimësi e ER modeleve dhe listave

Modeli gjysmë i strukturuar

• XML

Modeli hierarkik dhe Modeli i të

dhënave të rrjetës • Pararendës i modelit relacionar dhe nuk përdoren sot

Modelet e të dhënave (2)

23

Dizajni i bazës së të dhënave

24

• Sistemet e bazave të të dhënave janë të dizajnuara të menaxhojnë informacione të shumta. • Informacionet janë pjesë e operacioneve të ndryshme në ndërmarrje • Informacionet janë mbështeje e ndonjë pajisje

• Dizajni i bazës së të dhënave kryesisht përfshinë dizajnin e skemës së bazës së të dhënave

Dizajni konceptual

Zgjedhja e modelit

Përcaktimi i atributeve

dhe grupimi i tyre

Normalizimi

Dizajni logjik

Dizajni fizik

Arkitektura e DBMS

25

• Memorja kryesore është e vogël për të rujtur tëdhënat

• Të dhënat ruhen në disqe

• Thjeshtëzon dhe ndihmon qasjen në të dhëna

• Realizon përdorimin e shpejtë të të dhënave

Menaxheri i ruajtjes

26

Menaxheri i autorizimeve

dhe integritetit

Autoritetin e shfrytëzuesit

Integriteti i të dhënës

Menaxheri i transaksionit

Transaksioni konsistent

Transaksionet e njëkohshme

Menaxheri i fileve

Hapsirën në disqe

Strukturën e të dhënave

Menaxheri i baferit

Tërheq të dhënat nga

disku në memorien kryesore

Trajton të dhënat në sasi më të mëdha se memoria

kryesore

Komponentet Strukturat e të dhënave

Data Files (filet me të dhëna)

Data dictionary (Fjalori i të dhënave)

Indicies (treguesit)

Procesimi i kërkesave

27

Interpretuesi i DDL

• Interpreton urdhërat

• Ruan definimet në Fjalorin e të dhënave

Kompilatori i DML

• Përkthen DML në gjuhën e kërkesës

• Gjuhën e kërkesës në plan të nivelit udhëzues

• Optimizon planin e kërkesës

Vleresimii i kërkesës

• Ekzekuton urdhërat nga kompilatori

Zhvillimi i DBMS

28

DBMS

RDBMS

ORDBMS

Knowledge-based

NoSQL

Historia e bazës së të dhënave

29

1950-tat dhe 1960-tat e hershme: • Përpunimi i të dhënave duke përdorur shiritat magnetik për deponim – Shiritat ofrojnë vetëm qasje sekuenciale • Kartat e shënuara për input (Punched cards for input)

1960-tat e vonshme dhe 1970-tat: • Hard disqet lejojnë qasje të drejtpërdrejtë në të dhëna • Fillon shfrytëzimi masiv i modeleve rrjet dhe hierarkike • Ted Codd shpjegon modelin e të dhënave relacionale

• Ka fituar shperblimin ACM Turing Award për këtë punë • Hulumtimet në IBM fillojnë prototipin System R • UC Berkeley fillon prototipin Ingres

• Përpunimi i transaksioneve me performanca të larta 1980-tat:

• Studimi i prototipeve relacionale aplikohet në sistemet komerciale • SQL bëhet standard industrial

• Sistemet e bazës së të dhënave paralele dhe të shpërndara • Sistemet e bazës së të dhënave të orientuara në objekte

1990-tat: • Aplikacionet e mëdha për përkrahja në vendime dhe aplikimet data-mining • Deponitë e mëdha multi-terabyte të të dhënave • Dalja në pah e Web commerce

2000-tat: • Standardet XML dhe XQuery • Administrimi i automatizuar i bazës së të dhënave

Referanca

1. Database System Concepts, sixth Edition – Abraham Silberschatz, Henry F. Korth, S. Sudarshan – kapitulli 1

30