Hyrje ne Bazat e te Dhenave - Faqja Kryesore

Download Report

Transcript Hyrje ne Bazat e te Dhenave - Faqja Kryesore

Hyrje ne Bazat e te Dhenave
Indeksi
 Qellimi i Sistemeve Database
 Gjuhet e Database-ve
 Database-t Relacionale
 Dizenjimi i Database-ve
 Modelet e Databaze-ve
 Database Internals
 Perdoruesit dhe Administratoret e Database-ve
 Overall Structure
 History of Database Systems
DBMS (Data Base Mangement System)
 DBMS permban informacion rreth nje nderrmarrjeje/kompanie te caktuar:



Koleksionimi i te dhenave te lidhura njeri me tjetren
Nje seri programesh/aplikimesh me qellim aksesimin e te dhenave
Nje ambient i cili eshte si i levertisshem dhe ashtu edhe eficent per tu
perdorur
 Aplikacionet database:






Bankat: transaksionet bankare
Linjat ajrore: rezervimet, oraret
Universitetet: regjistrimet, notat
Shitjet: klientet, produktet, shitjet, blerjet
Fabrikat: prodhimet, inventari, porosite, furnizimet
Burimet njerezore: punonjesit, pagat, taksat
 Database-t prekin jeten e secilit prej nesh
Qellimi i DBMS-ve
 Ne fillimet e tyre, aplikimet database ndertoheshin direkt mbi file-system
 Dizavantazhet e perdorimit te file-system per te ruajtur te dhenat jane:




Inkonsistenca dhe perseritje e te dhenave (redundant)
 Formate te ndryshme filesh, dublikimet e informacioneve neper file te
ndryshme
Veshtiresia ne aksesimin e te dhenave
 Nevojitet te shkruash nje program te ri ne rast se duhet bere nje proces i
ri.
Izolimi I te dhenave – shume file ne formate te ndryshme
Probleme me integritetin (saktesine)
 Kushtet e integritetit (psh. balanca > 0) shkruhet ne kod ne vend qe te
percaktohet ne menyre eksplicite, te qarte.
 Veshtire per te shtuar kushte te reja apo per te modifikuar ato ekzistueset.
Qellimi i DBMS-ve (vazhdim)
 Dizavantazhet e perdorimit te file sytesteve(vazhdimi)
Atomiciteti i update-ve
 Deshtimet mund ta lene database-n ne nje gjendje inksonsistence me disa
update te ekzekutura e te tjera jo.
 Shembull: Transferimi i nje sasie parash nga nje llogari bankare tek tjetra
duhet ose te ndodhe ne menyre te plote ose te mos ndodhe fare
 Aksesi i njekohshem (konkurrent) nga shume perdorues
 Aksesimi konkurrent nevojitet per ceshtje performance
 Aksesimi konkurrent i pakontrolluar mund te coje ne inkonsistence te
dhenash.
 Shembull: 2 perdorues qe lexojne vleren e nje balance dhe mundohen
ta updatojne ate njekohesisht.
 Probleme me sigurine
 Veshtire per te lejuar aksesin ndaj te dhenave per disa usera dhe per te
tjere jo.
 Sistemet Database ofrojne zgjidhje per te gjitha problemet e mesiperme.

Nivelet e abstraksionit
 Niveli Fizik: pershkruan si nje rekord (psh. nje klient) ruhet ne DB.
 Niveli Logjik: pershkruan te dhenat e ruajtura ne database dhe lidhjet qe
kane njera me tjetren.
type customer = record
customer_id : string;
customer_name : string;
customer_street : string;
customer_city : string;
end;
 Niveli i pamjes (view): aplikimet fshehin detajet ne lidhje me tipin e te
dhenave. Pamjet (view) mund te fshehin edhe informacione per arsye sigurie
(psh paga e nje punonjesi).
Pamja e te dhenave
Arkitektura e nje Sistemi Database
Instancat dhe Skemat






Jane te ngjashme me tipet dhe variablat ne nje gjuhe programimi.
Skema – struktra logjike e nje database
 Psh: Database konsiston ne informacionin rreth klienteve dhe llogarive si dhe lidhjen
mes tyre.
 Analoge me tipin e informacionit e nje variable ne nje program.
 Skema fizike: ndertimi i nje database ne nivel fizik.
 Skema logjike: dizenjimi i database ne nivel logjik
Instanca – permbajtja aktuale I nje database ne nje moment te caktuar.
 Analoge me vleren e nje variabli.
Pavaresia nga te dhenat fizike: aftesia per te modifikuar skemen fizike pa ndryshuar
ate logjike.
Aplikimet varen nga skema logjike.
Ne pergjithesi, nderfaqja mes niveleve te ndryshme dhe perberesve duhet mirepercaktuar
ne menyre te tille qe ndryshimet e bera ne ‘pika’ te caktuara te mos impaktojne
ndryshime ne te tjera ‘pika’
Data Model
 Nje Data Model eshte nje koleksion instrumentesh qe sherbejne per te
pershkruar:
Te dhena
 Lidhjen e te dhenave
 Semantiken e te dhenave
 Kushtet e te dhenave
 Modeli Relacional

 Modeli Entitet-Relacion (kryesisht per ndertimin e database-ve)
 Data model te bazuar mbi objektet (Object Oriented dhe Object Relational)
 Data Model gjysem i strukturuar (XML)
Data Manipulation Language (DML)
Eshte gjuha qe perdoret per aksesimin dhe manipulimin e te dhenave te
orientuara nga nje data model i caktuar
 DML njihet ndryshe si Gjuha Query
 2 klasa gjuhesh
 Procedurale - perdoruesi specifikon te dhenat qe nevojiten dhe si mund te
merren keto te dhena
 Deklaruese (jo-procedurale) - perdoruesi specifikon cfare te dhenash
nevojiten PA specifikuar si mund te merren ato.
 SQL eshte gjuha query me e njohur

Data Definition Language (DDL)
 Specifikon sintaksen per perkufizimin e skemes se database-s
Shembull:
create table account (
account_number char(10),
branch_name
char(10),
balance
integer)
 Kompilatpret DDL gjenerojne nje seri tabelash te ruajtura ne nje data dictionary
(fjalor te dhenash)
 Fjalori i te dhenave permban metadata (i.e., te dhena rreth te dhenave)
 Skemen e database-t
 Data storage dhe gjuhen e perkufizimit
 Specifikon strukturen per ruajtjen e te dhenave dhe metoden e aksesimit qe
perdoret
 Kushtet e integritetit
 Kushtet e domain-it
 Integriteti Referencial(psh branch_name duhet te korrespondoje me nje vlere
te vlefshme dege ne tabelen e degeve)
 Autorizimi
Database Relacionale
Shembull nga nje tabele ne nje model database relacionale
Atributet
Shembulli i nje Database Relacionale
SQL
 SQL: perdoret gjeresisht ne gjuhet jo-procedurale
Shembull: Gjejni emrin e klientit me customer-id 192-83-7465
select customer.customer_name
from customer
where customer.customer_id = ‘192-83-7465’
 Shembull: Gjeni balancat e te gjitha llogarive ne emer te klientit me
customer-id 192-83-7465
select account.balance
from depositor, account
where depositor.customer_id = ‘192-83-7465’ and
depositor.account_number = account.account_number
 Aplikacionet zakonisht aksesojne database-s permes:
 Zgjatjeve (extensions) te gjuheve qe lejojne perdorimin e SQL-se
 API-t (Application Program Interface) si psh, ODBC/JDBC te cilat bejne te
mundur dergimin e query-ve drejt database-t.

Ndertimi (Design) i Database-s
Eshte procesi i ndertimit te pergjithshem te strukures se database-s:
 Ndertimi Logjik - Vendimi mbi skemen e database-s.


Vendimi i Business-it - Cfare atributesh duam te ruajme ne database?
Vendimi ne aspektin kompjuterik : Cfare skema relacioni duhet te kemi dhe
si duhet te shperndahen atributet ne mes te skemave te ndryshme
relacionale?
 Ndertimi Fizik - Vendosja e layout-it fizik te database-s.
Modeli Entitet-Relacion(ER)
 Modelon nje ndermarrje/kompani/aktivitet si nje koleksion entitetesh dhe
lidhjesh (relacionesh)
 Entitet : nje “dicka” ose nje “objekt” ne kompani qe dallohet nga objektet e
tjera
 Pershkruhet nga nje bashkesi atributesh
 Relationship: an association among several entities
 Paraqitet grafikisht nga nje diagrame entitet-relacion:
Modele te tjera te dhenash
 Modeli i te dhenave Object-Oriented
 Modeli i te dhenave Object-Relational
Arkitektura e Sistemeve Database
Modeli i Vjeter
Modeli i Sotem
Database Management System Internals
 Menaxhimi i Storage
 Procesimi i Query
 Procesimi i Transaksioneve
Menaxhimi i Storage
 Storage manager eshte nje modul programi qe mundeson nderfaqen mes te
dhenave low-level te ruajtura ne database, aplikacionit, dhe query-ve te
ekzekutuara drejt sistemit.
 Menaxheri i storage eshte pergjegjes per detyrat e meposhtme:
 Nderveprimi me file manager
 Ruajtja eficiente, terheqja dhe uploadimi i te dhenave
Problematikat:
 Aksesi
 Organizimi i file-ve
 Indeximi dhe hashing
Query Processing
1. Parsing dhe perkthimi
2. Optimizimi
3. Vleresimi
Query Processing (Cont.)
 Menyrat alternative ne vleresimin e query-t te dhene
Shprehje ekuivalente (Equivalent expressions)
 Algoritem i ndryshem per cdo operacion
 Diferenca ne kosto mes nje menyre te mire dhe nje menyre te keqe vleresimi i
nje query mund te jete shume e madhe.
 I nevojshem parashikimi i kostos se operacionit.
 Varet nga statistikat ne lidhje me relacionet te cilat database duhet te mbaje.
 Nevoje per te estimuar statistika per rezulatet e ndermjetme per llogaritjen e
shprehjeve komplekse.

Menaxhimi i Transaksioneve
 Nje transaksion eshte nje koleksion veprimesh qe ekzekuton nje funksion
logjik ne nje aplikim database.
 Nje perberes transaksioni siguron qe database te mbetet ne nje status
konsistent (te sakte) pavaresisht nga failure-s (deshtimet) e sistemit
(nderprerje energjie, apo crash-e te sistemit operativ).
 Manaxheri i kontrollit te konkurrences kontrollon nderveprimin mes
transaksioneve konkurrente, per te siguruar konsistence e database.
Struktura gjithe perfshirese
Historia e Sistemeve Database
 Ne 1950-en dhe ne fillimet e 1960-s:
Procesimi I te dhenave permes shiriteve manjetike per ruatjen e tyre.
 Shiritat lejojne vetem aksesimin sekuencial
 Karta me nivele per inputin
 Ne fund te 1960-es deri ne 1970-en:
 Kard disqet lejojne aksesimin direkt te te dhenave
 Rrjeti dhe modelet hierarkike te te dhenave me shume perparesi.
 Ted Codd dha perkufizimin e modelit relacional te te dhenave.
 Pas kesaj u nderua me cmimin ACM Turing
 Filluan kerkimet e IBM per prototipin System R
 UC Berkeley filloi punen per prototipin Ingres
 Procesimi i transaksioneve me performance te larte.

Historia (vazhd.)
 Ne vitet ‘80:
Kerkimet mbi prototipet relacionale evolvuan ne sisteme komerciale
 SQL-ja behet standard industrial
 Sistemet database paralele dhe te shperndara.
 Sistemet database object-oriented.
 Ne vitet ’90:
 Aplikimi i suportit te vendimeve (decision support) dhe I sistemeve datamining
 Data warehouse me terabyte te dhena.
 Emergjenca e Web Commerce
 Ne vitet 2000:
 Standardi XML and XQuerys
 Administrimi i automatizuar i database
 Rritje e perdorimit te larte te sistemeve database parallele.
 Sisteme data storage te shperndara ne shkalle rrjeti.

Perdoruesi e Database
User-at diferencohen nga menyra se si ato aksesojne sistemin.
 Programuesit e aplikimit– nderveprojne me sistemin permes thirrjeve DML
(DML calls).
 User-a te sofistikuar - formulojne kerkese ne nje gjuhet database me query.
 User-a te specializuar : shkruajne aplikime database qe nuk pershtaten me
platformat tradicionale te procesimit te te dhenave.
 User-at naive - therrasin programin i cili eshte shkruar nga dikush tjeter
paraprakisht.
 Shembuj: njerezit qe aksesojne database permes web-it.
Administratori e Database
 Koordinojne te gjithe aktivitetet e nje sistemi database.
Kane njohuri shume te mira te informacionit te kompanise dhe te nevojave
te saj..
 Detyrat e administratorit te database perfshijne:
 Percaktimin e struktures se storage dhe te metodave te aksesimit
 Modifikimin e skemes dhe te organizimit fizik
 Dhenia (grant) e akseseve sipas roleve te perdoruesve ne database
 Back-up te te dhenave
 Monitorimin e performances
 Database tuning

Arkitektura e Database
Arkitektura e database ndikohet nga sistemi komputerik mbi te cilin
Mbeshtetet dhe ‘run’ database:
 I centralizuar;
 Client-server
 Paralel (shume procesore dhe disqe)
 I shperndare
Modeli i te dhenave Object-Relational
 Eshte nje zhvillim (extension) i modelit relacional duke perfshire
orientimin ndaj objekteve dhe data typeve te shtuara.
 Lejon atributet e tuple-ve per te pasur tipe komplekse, perfshire vlerave
jo atomike, sic jane psh relacionet e degezuara.
 Ruan bazat relacionale, ne vecanti aksesin ndaj te dhenave, duke
zhvilluar po ashtu edhe fuqine e modelimit.
 Lejon kompatibilitetin me gjuhet e tjera relacionale.
XML: Extensible Markup Language
 Perkufizuar ngaa Konsorcium-i WWW Consortium (W3C).
 Fillimisht krijuar si nje gjuhe markup-i per dokumenta dhe jo si gjuhe
database.
 Aftesia per te specifikuar tag-e te reja, dhe per te krijuar struktura te
degezuara e beri XML-in si nje tool per shkembimin e te dhenave,
dmth jo vetem per dokumenta.
 XML eshte kthyer ne nje element te rendesishem per shkembimin e te
dhenave te formateve te ndryshme per brezin e ri.
 Ekziston nje larmishmeri e madhe instrumentesh per parsimin,
shfletimin dhe querin e dokumentave/te dhenave XML.