Sistemi për menaxhimin e bazës së të dhënave

**Sistemi për menaxhimin e bazës së të dhënave** **(ang. DBMS , Database management system)** është një paketë softuerike me programe kompjuterike të cilat kontrollojnë krijimin, mirëmbajtjen dhe përdorimin e bazës së të dhënave. Ai i mundëson organizatave të ndryshme që të zhvillojnë  baza të dhënash që iu nevojiten për aplikacionet e tyre. Baza e të dhënave është një grumbull rreshtash, skedarësh dhe objektesh tjera të integruara që nevojiten për një aplikacion. Një DBMS i mundëson aplikacioneve të ndryshme të qasen në të njëjtën bazë të dhënash. DBMSs shfrytëzon një sërë modelesh të bazave të të dhënave siç janë Modeli relacional ose modeli me objekte. Ky sistem përdor gjuhën e pyetësorëve (ang. query language),të cilat thjeshtojnë krijimin e aplikacioneve të ndryshme. Gjuhët e të dhënave gjithashtu thjeshtojnë edhe organizimin e bazës së të dhënave, marrjen dhe prezantimin e informatave nga ajo bazë. DBMS ofron lehtësira për kontroll të qasjes në të dhëna, duke krijuar integritetin e të dhënave, kthimin e të dhënave mbas dështimeve në sistem duke i kthyer ato nga kopja rezervë (ang. back up) dhe ofron siguri në të dhënat.

## Përgjithësim
DBMS është një grumbull programesh të cilat kontrollojnë organizimin, vendosjen e të dhënave dhe rikthimin e të dhënave në bazë. DBMS-të janë të ndara duke u bazuar ne strukturen e  të dhënave që ato përmbajnë. DBMS pranon kërkesa për të dhëna nga një aplikacion dhe drejton sistemin operativ të transferojë të dhënat. Pyetësorët  duhet të qasen në atë mënyre që tu përshtaten formatit të protokolleve të aplikueshme .Kur përdoret DBMS, sistemi i informatave mund të ndryshohet lehtë sikurse kërkesat e organizimit të informatave ndryshohen .Kategori të reja të dhënash mund të shtohen në bazën e të dhënave pa pas përçarje me sistemin ekzistues.
Serverët e bazës së të dhënave janë kompjuterë të dedikuar të cilët e mbajnë atë dhe mund të ekzekutoj DBMS dhe softuerët përkatëse. Zakonisht këta server janë kompjuter me shumë procesor, me memorie te bollshme dhe disqe të pavarura në formë të vargut. Pjesa harduerike e startuesve të bazës së të dhënave, të lidhura në një ose më shumë server përmes një kanali të shpejtësisë së lartë, gjithashtu përdoren në procesimin e transaksionit të volumeve të larta. DBMS gjenden në zemër të shumicës së aplikacioneve të bazave të të dhënave.

## Historia
Bazat e të dhënave janë përdorur që nga ditët e hershme të llogaritjes elektronike. Në krahasim me sistemet moderne 
të cilat kanë baza dhe nevoja fleksibile , versionet e vjetra ishin të lidhura ngushtë me bazën e të dhënave  në mënyrë që të arrinin shpejtësi dhe fleksibilitet të mjaftueshëm.
DBMS janë përdorur vetëm në organizata të mëdha të cilat zotëronin harduerin e nevojshëm për të përkraha të dhënat .
### DBMS-i navigues viteve të 60-ta 
Përderisa kompjuterët zhvilloheshin për nga shpejtësia dhe aftësitë llogaritëse , një numër i madh i bazave të të dhënave me qëllim gjeneral dolën në sipërfaqe , në mesin e viteve 60-ta ka pasur një numër të mjaftueshme të këtyre bazave për përdorim komercial.
Interesimi vetëm shtohej , dhe Charles Bachman , autori i njëri nga këto produkte Integreted Data Store , gjithashtu themeloi "Database Task Group" përbrenda CODASYL, ky grup ishte përgjegjës për krijimin dhe standardizimin e COBOL .Në vitin 1971 ata shpërndanë standardin e tyre tashme të formuluar i cili u njoh me emrin "Codasyl approach"( Qasja e codasyl).
Qasja e Codasyl ishte i bazuar në manualin navigues të të dhënave të lidhura e formuar në një rrjetë të gjerë.
Kur baza e të dhënave hapej për të parën herë,programi vendoste një link në rreshtin e parë të bazës e cila përmbante një pointer . Për të gjet ndonjë të dhënë të dëshiruar nga programeri , duhej që të kalonte nëpër këta pointer një nga një përderisa rreshti i kërkuar kthehej nga sistemi .Pyetësorët e thjeshtë ("gjej të gjithë njerëzit në Indi") duhej të kalohej në të gjithë të dhënat dhe të mblidheshin rezultatet e kërkuara një nga një . Atëherë nuk kishte koncept të "kërkimit" të mirëfilltë . Kjo sot mund të duket si një limitim serioz  , por në atë kohë kur shumica e të dhënave ruheshin në shirita magnetik , këso operacione ishin shumë të shtrenjta për tu realizuar.

Gjithashtu IBM kishte DBMS-në e saj në vitin 1968 , e njohur si *IMS*.
(Information Management System) ishte një softuer i zhvilluar për programin Apollo në Sistemin 360 .IMS ishte i ngjashëm në koncept me Codasyl, por përdorte  një hierarki më strikte për modelin navigues në krahasim më atë rrjetor te Codasyl. Të dy konceptet më vonë njihen më Databasa Naviguese duke u bazuar në mënyrën se si kishin qasje në të dhëna ,pikërisht çmimi Bachman 1973 ishte "Programeri sikur Naviguesi". IMS është i klasifikuar  si një bazë hierarkike , kjo së bashku me IDMS , Codasyl gjithashtu edhe CINCOMS u klasifikuan si Modeli rrjetorë ( ang. Network model)

### DBMS relacional në vitet e 70-ta 
Edgar Codd punonte në IBM në San Jose , California, në një nga zyret që ishin të angazhuar në zhvillimin e diskut të fortë. Ai ishte i pakënaqur me modelin navigues të Codasyl , posaçërisht në pjesën e kërkimit përmes "search".Në vitin 1970, ai shënoi një numër të konsiderueshëm shënimesh që shpjegonin një qasje të re në ndërtimin e bazës së të dhënave .
Në këto letra , ai përshkruan një sistem të ri të ruajtjes dhe punës me të  dhëna. Në vend që rreshti të ruhej në një lloj të listës së lidhur .Ky sistem mund të jetë shumë i papërshtatshëm në punën me baza të zgjeruara .Modeli relaciaonal pati zgjidhje për këtë problem duke i ndarë të dhënat në tabela të normalizuar. 

Një përdorim i zakonshëm i sistemit të bazës së të dhënave është renditja e informacionit të përdoruesve , emrat e tyre , informatat e kyçjes adresa dhe numra telefonash të ndryshëm . Në rastin e qasjes lundruese të gjitha këto të dhëna do të vendoseshin në vetëm një rresht , dhe gjërat e tjera të papërdorshme nuk do të vendoseshin fare në bazë .Ndërsa në qasjen relacionale , të dhënat do të normalizoheshin në një tabelë të përdoruesit , të adresave dhe numrave të telefonit .Do të thotë një rresht i të dhënave do të regjistrohej vetëm nëse adresa dhe numri i telefonit do të jepej. Lidhje e informatave do të ishte çelësi kryesorë në këtë sistem .Në modelin relacional , një pjesë e informatës përdorej si Çelës primar (ang. Primary key),dukë reprezentuar një rresht në mënyrë unike , e tërë lidhja do të kryhej duke kërkuar të dhënat që korrespondojnë me këtë çelës.
Si në qasjen naviguese edhe në këtë relacionale të dhënat do të kërkohen nja një program që përmban unazë kërkuese në mënyrë që të mbledhë rezultatet e kërkuara. Zgjidhja e Codd përmbante unazë kërkuese , që më vonë do të mundësonte krijimin e ashtuquajturës SQL.Shënimet e Codd u morrin nga dy njërës në Berkeley , Eugene Ëong dhe Michael Stonebraker. Ata filluan një projekt i njohur si INGRES .
Në vitin 1968 , Universiteti i Michigan filloi zhvillimin e Micro DBMS. Ai u përdor për të menaxhuar të dhëna shumë të mëdha nga Departamenti i punës të SHBA.

### DBMS-ja SQL në fundin e viteve 1970 
IBM filloj punën në krijimin e një prototipi i bazuar në konceptet e Codd i ngjashëm më IBM System R në vitet e hershme të 1970-ta. Versioni i parë ishte i gatshëm në vitin e 1974/1975. Versionet me shumë përdorues u testuan nga konsumatorët në vitin 1978 dhe 1979, pra në kohën kur veç ishte në përdorim gjuha e standardizuar e pyetësorëve . Idetë e Codd dërguan në krijimin e versioneve të reja të Sistemit R, i njohur si “SQL/DS” dhe më vonë si “Database 2”.Shumë njerëz filluan të punojnë me këto sisteme për përdorim komercial , e disa përdorën edhe Interfejs siç ishte Sybase , edhe vetë Microsoft SQL Serveri është një version i ri-ndërtuar i Sybase. Michael Stonebraker zhvilloj një bazë të re e quajtur Postgres, që përdoret më shumë në domenet .org dhe .info . Në Suedi , shënimet e Codd-it gjithashtu ishin lexuar  dhe u zhvillua Mimer SQL nga Uppsala University në vitet e 70-ta.
### Bazat e të dhënave të orientuara në objekte në vitet e 80-ta 
Zhvillimi i programimit i orientuar në objekte solli një zhvillim në baza të dhënave në vitet e 80-ta. Programerët dhe dizajnerët filluan të trajtojnë të dhënat si objekte .Pra do të thotë se nëse të dhënat e një personi apo atributet siç janë adresa , numri i telefonit , mosha e të tjera , tani do të konsideroheshin ti përkasin atij personi në vend që tu përkasin të dhënave të huaja. Kjo mundëson që relacionet ndërmjet të dhënave të jenë gjithashtu relacione ndërmjet objekteve. Një tjetër ndryshim i madh në baza të të dhënave në vitet e 80-ta ishte fokusimi në rritjen e besueshmërisë  dhe shpejtësisë në të dhëna. 
### Trendet e tanishme 
Në vitin 1998, menaxhimi i bazave të të dhënave ishte i përkushtuar në krijimin e modeleve të reja në menaxhim të bazave të të dhënave .Studiuesit kuptuan se metodat e vjetra po bëheshin shumë komplekse dhe se kishte nevojë për menaxhim automatik. Surajit Chaudhuri, Gerhard Weikum dhe Michael Stonebraker ishin pionierët që gramatikisht ndikuan në qasjen në menaxhimin e të dhënave .Ata besonin se menaxhimi i bazave të të dhënave kishte nevojë për më shumë qasje modulare dhe se ato kishin shumë specifika të panevojshme për përdoruesit. Që nga këto ndryshime tani ka më shumë mundësi , baza ë të dhënave nuk është e limituar si entitet një copash (ang. monolithic entities) , kështu ata krijuan më shumë fleksibilitet në menaxhim.
Ka disa rrugë se si menaxhimi i bazave të të dhënave ndikuan në fushën e teknologjisë .Pajisjet mobile mund të ruajnë shumë më shumë të dhëna se sa informatat e kontakteve , makinat kërkuese mund të lokalizojnë të dhëna në World Wide Web (WWW).. Transaksionet online janë bërë shumë të famshme në e-biznes. Konsumatorët dhe bizneset mund të bëjnë pagesa më të sigurta nëpërmjet ueb sajteve të ndryshme.
### Komponentët 
* **Makina e DBMS **
pranon kërkesa logjike nga nënsistemet e tjera të DBMS, i shndërron ato në barazime fizike  dhe bënë qasje baza të të dhënave .
* **Nënsistemet e definimit të të dhënave** u ndihmon përdoruesve që të krijojnë dhe të mirëmbajnë udhëzuesit e të dhënave dhe të definojnë strukturën e fajllave në bazë.
* **Nënsistemet për manipulim të të dhënave** u ndihmon shfrytëzuesve që të shtojnë,ndryshojnë dhe të fshijnë informata në një bazë të të dhënave , gjithashtu të bëjnë pyetësor .
* **Nënsistemet për gjenerim të aplikacioneve** përmban lehtësira për tu ndihmuar shfrytëzuesve që të zhvillojnë aplikacione intensive të transaksioneve. 
* **Nënsistemi për administrim të të dhënave**  u ndihmon shfrytëzuesve që të menaxhojnë zhvillimin e përgjithshëm të bazave të të dhënave duke u ofruar ndihmesa në kthim të të dhënave (ang. backup and recovery), menaxhim të sigurisë dhe optimizmin e pyetësorëve.  

## References