Additional ResourcesCourse Content | Cfare eshte nje sistem i manaxhimit te te dhenave (DBMS) Nje sistem i manaxhimit te te dhenave perbehet nga nje bashkesi komponentes:
Nje program aplikativ mbi bazat e te dhenace eshte per nje qellim te caktuar. Ndersa nje komponente klient eshte nje software qe perdoret per veprime te perditeshme mbi bazen e te dhenave, per administrimin , per raportime etj. Nepermjet nje komponenti klient , perdoruesit mund te perdorin nje baze te dhenash ne te njejtin kompjuter apo ne nje kompjuter(server) me te cilin komunikojne nepermjet nje rrjeti. Funksioni i nje serveri te bazes se te dhenave eshte te administroje te dhenat. Cdo klient mund ti perdore te dhenat vetem duke i derguar serverit nje kerkese (query) dhe serveri pas disa kontrolleve nese klienti eshte i autorizuar te kryeje veprimin e kerkuar mbi te dhenat e kryen veprimin dhe i kthen nje pergjigje me rezultatin klientit. Nje DBMS ofron funksionet e meposhtme:
Le ti shohim me konkretisht keto funksione Nderfaqe per perdoruesit Shume baza te dhenash jane nderttuar per tu perdorur nga perdorues te kategorive te ndryshme me nivel te ndryshem njohurish. Ndaj DBMS duhet te ofroje disa nderfaqe per perdoruesit me menu, forma, raporte si edhe nje gjuhe programimi(SQL) per perdoruesit me te perparuar. Pavaresia fizike e te dhenave Eshte e nevojshme qe programet qe perdorin te dhenat ne nej baze te dhenash te mos jene te varur nga struktura fizike ne te cilen jane ruajtur te dhenat. Kjo gje na mundeson te modifikojme te dhenat pa ndikuar ne programin aplikativ. Per shembull duhet te kemi mundesi te zhvendosim te dhenat ne nje server te ri me te shpejte pa modifukuar aplikacionin. Ose, nese nje tabele eshte shume e madhe dhe po ndikon ne shpejtesine e sistemit, mund te vendosim ta ndajme ate ne dy skedare ku sejcili prej tyre te ruhet ne nje disk me vehte per te rritur shpejtesin e sistemit. Sigurisht, nuk duam te modifikojme aplikacionin per kete gje. Pavaresia llogjike e te dhenave Po e ilustrojme kete me nje shembull. Nese duam te shtojme nje kollone adresa ne nje tabele Employees, mund ta bejme kete pa modifikuar aplikacionin, Nese te dhenat mbi punonjesit do te ruheshin ne nje skedar atehere shtimi i nje fushe ne skedar do te kerkonte modifikimin e aplikacionit mbi te dhenat Optimizimi i kerkesave Te gjithe DBMS kane nje komponent qe quhet optimizues, i cili merr ne konsiderate disa menyra te ndryshme per te ekzekutuar komandat ne bazen e te dhenave. Menyra e zgjedhur quhet plan ekzekutimi. Optimizuesi merr vendimet duke u bazuar ne informacione si madhesia e tabelave ku po ekzekutohet komanda, cfare indeksesh ka, dhe cfare operatoresh llogjike (AND, OR, NOT) perdoren ne klauzolen WHERE Integriteti i te dhenave Nje nga funksionet e DBMS eshte te identifikoje te dhena qe jane llogjikisht jo te sakta dhe te mos i pranoje to ruaje ato ne bazen e te dhenave. Per shembull nese ruajme moshen e nje punonjesi DBMS nuk duhet te pranoje nje moshe jashte intervalit (18-70). Pjesa me e madhe e DBMS te sotem, jane sisteme shume-perdorues dhe i mundesojne disa perdoruesve ne te njejten kohe (ne menyre konkurente) te punojne me te dhenat. Puna ne menyre te njekoheshme me te dhenat nga disa perdorues, paraqet disa probleme te cilat duhet ti shmange (administroje) DBMS. Per ilustrim po marrim nje shembull tipik: 1.Nje llogarie bankare numer 4711 ne banken X ka nje balance prej $2,000. 2. Dy pronaret e kesaj llogarie, Znj. A dhe Z. B, shkojne ne dy sportele te ndryshme dhe sejcili prej tyre terheq 2000 dollare DBMS nuk duhet ta lejoje kete situate. Llogaria duhet te "kycet" ne momentin qe telleri i pare fillon te kryeje nje veprim terheqje nga kjo llogari dhe telleri i dyte duhet et vendoset ne pritje derisa te mbaroje pune telleri i pare. Telleri i dyte fillon te punoje me llogarine pasi ka mbaruar telleri i pare, duke gjetur nje balance te llogarise 0 dollare, gje qe nuk i mundeson Z. B te terheqe 2000 dollaret e tij pasi ato me pare i ka terhequr Znj. A. Backup dhe Recovery Nje DBMS duhet te kete mjete per te ruajtur te dhenat ne menyre te tille qe ti rigjeneroje ato ne rast te nje demtimi te pajisjeve ose te te dhenave, Siguria e bazes se te dhenave Siguria e bazes se te dhenave lidhet me dy procese: autentikimin dhe autorizimin. Autentikimi eshte procesii verifikimit te kredencialeve te perdoruesit per te mos lejuar perdoruers te paautorizuar te perdorin DBMS. Autentikimi zakonisht realizohet nepermejt nje emri perdoruesi dhe fjalekalimi. Ky informacion kontrollohet nga DBMS dhe nese eshte i sakte perdoruesi lejohet te perdore sistemin. Per te shmabgur vjedhjen e fjalekalimit gjate transmetimit ne rrjet apo gjate ruajtes se tiej perdoret enkriptimi, ndersa Autorizimi eshte proces qe ndodh pas autentikimit. Tani me DBMS e di identitetin e perdoruesit (nepermjet autentikimit) dhe sa here qe nje perdorues tenton te perdore nje objekt te te dhenave DBMS verifikon nese perdoruesi eshte lejuar te ktyeje kete veprim. nese po e autorizon perdoruesin te kryeje veprimin e kerkuar. Relational Database Management Systems (RDBMS) Sistemet relacionale te manaxhimit te te dhenave Koncepti i bazave te dhenave relacionale eshte prezantuar per here te pare nga E. F. Codd ne artikullin e tij “A Relational Model of Data for Large Shared Data Banks” ne vitin 1970. Ne dallim nga sistemet e meparshme (rrjet dhe hierarkik), sistemet relacionale bazohen ne modelin e te dhenave relacional qe bazohet ne algjebren relacionale. Koncepti baze i modelit relacional eshte relacioni (= tabela), prandaj ne nje sistem relacional tabela eshte e vetmja strukture per ruajtjen e te dhenave. Tek nje kolline e nje rreshti ruhet me saktesi nje vlere skalare. Per te ilustruar bazat e te dhenave relacionale do te bazohemi tek baza e te dhenave Northwind. Po paraqesim me poshte disa nga tabelat e kesaj baze te dhenash. ![]() Sic duket baza e te dhenave Northwind ruan informacion mbi shitjet e nje kompanie Tabela Orders Tabela Orders ruan informacion mbi porosite e kryera ne kompani. Per cdo porosi ruhen disa informacione nder te cilat disa jane informacione te detyrueshme e disa opsionale. Keshtu per nje porosi ruhet :
si edhe te tjera informacione si
Tabela Employees Tabela Employees ruan informacion mbi punonjesit e kompanise. Per cdo punonjes ruhen disa informacione nder te cilat disa jane informacione te detyrueshme e disa opsionale. Keshtu per nje punonjes ruhet :
si edhe informacione te tjera mbi punonjesit. Tabela Customers Tabela Customers ruan informacion mbi klientet. Per cdo klient ruhen disa informacione nder te cilat disa jane informacione te detyrueshme e disa opsionale. Keshtu per nje klient ruhet :
si edhe informacione te tjera. Tabela OrderDetails Tabela OrderDetails ruan informacion mbi detajet e porosive. Per cdo detaj (rresht te porosise, kujtoni nje fature qe keni pare se fundmi) ruhen informacionet e meposhtme:
Tabela Products Tabela Products ruan informacion mbi produktet qe shet kompania. Per cdoprodukt ruhen informacionet e meposhtme:
Sic vihet re edhe nga baza e te dhenave e marre si shembull:
Gjuha per bazat e te dhenave relacionale, SQL(Structured Query Language) Versioni i gjuhes SQL qe perdor SQL Server quhet Transact-SQL. Transact SQL konsiderohet si nj dialekt i Structured Query Language. Lindja e gjuhes SQL eshte e lidhur ngushte me nje projekt te quajtur System R, te IBM ne fillim te viteve 1980. Ky projekt provoi se eshte e mundur te perdoret model teorik i E. F. Codd per te ndertuar nje sistem relacional te te dhenave. SQL, gjuhe e bazuar tek bashkesite Ndryshe nga gjuhet e programimt si C, C++, apo Java, SQL eshte nje gjuhe e bazuar tek bashkesite. KJo nenkupton qe SQL mund te kerkoje te dhena ne shume rreshta nga nje ose disa tabela me nje komande te vetme. Kjo karakteristike eshte nje nga avantazhet me te rendesishme te SQL, pasi ofron nje nderfaqe programimi te nje niveli te larte abstraksioni, me larg gjuhes se makines por me afer gjuhes natyrale njerezore. SQL gjuhe jo proceduriale Gjithashtu SQL eshte nje gjuhe jo proceduriale. Te gjithe programet e shkruajtura ne nje gjuhe proceduriale (C, C++, Java) pershkruan si te kryhet nje pune, hap pas hapi. Perkundrazi , SQL, pershkruan cfare kerkon perdoruesi dhe eshte sistemi DBMS qe gjen menyren me te mire per t'iu pergjigjur kerkeses se perdoruesit. DDL dhe DML SQL permban dy bashkesi kompandash:
Komandat DDLperdoren per te pershkruar skemen e objekteve te bazes se te dhenave. DDL permban tre komanda te pergjithshme:
Keto komanda krijojne , modifikojne dhe fshijne objekte te bazes se te dhenave si database, tabele, kollona, dhe indekse Ndersa DML permbledh komandat qe manipulojne permbajtjen e ketyre objekteve: afishimin, shtimin, fshirjen, dhe modifikimin.
Kontroll Njohurish 1.1. Cfare do te thote pavaresi e te dhenave? 1.2. Cila eshte struktura e ruajtjes se te dhenave ne bazat e te dhenave relacionale? |