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.