Bazat e të dhënave të orientuara nga objekti: koncepti, konceptet bazë, menaxhimi, shembuj

Përmbajtje:

Bazat e të dhënave të orientuara nga objekti: koncepti, konceptet bazë, menaxhimi, shembuj
Bazat e të dhënave të orientuara nga objekti: koncepti, konceptet bazë, menaxhimi, shembuj
Anonim

Në bazat e të dhënave të orientuara nga objekti (OODB), përdoruesit mund të vendosin operacione në një bazë të dhënash të caktuar, e cila përbëhet nga objekte që mund të jenë të një shumëllojshmërie të gjerë llojesh dhe për të cilat janë vendosur operacione. Ata mund të trajtojnë në mënyrë efikase informacionin binar si objektet multimediale. Një përfitim tjetër i shtuar i OODB është se ai mund të programohet me ndryshime të vogla procedurale pa ndikuar në të gjithë sistemin.

Parakushtet për krijimin e standardit

Historia e bazave të të dhënave OODB të orientuara nga objekti fillon në fund të shekullit të kaluar. Ato u krijuan për të përmbushur nevojat e aplikacioneve të reja. Supozimi ishte se bazat e të dhënave të orientuara nga objekti do të revolucionarizonin sistemet softuerike gjatë viteve 1990. Tani është e qartë se nuk është kështu. Megjithatë, ringjallja e këtij koncepti përmes komuniteteve të softuerit të lirë dhe identifikimi i aplikacioneve të përshtatshme për të motivon një rishikim të karakteristikave. OODB, e cila është një alternativë ndaj bazave të të dhënave relacionale kudo.

Parakushtet për krijimin e standardit
Parakushtet për krijimin e standardit

Objekt-orientuar ofron fleksibilitet për të trajtuar disa ose të gjitha kërkesat dhe nuk kufizohet në llojet e të dhënave dhe gjuhët e pyetjeve të bazave të të dhënave tradicionale. Një tipar kryesor i OODB-ve është aftësia që ato i ofrojnë zhvilluesit, duke e lejuar atë të specifikojë strukturën e objekteve komplekse dhe operacionet e aplikacionit. Një arsye tjetër për krijimin e OODB-ve është përdorimi në rritje i gjuhëve për zhvillimin e softuerit.

Bazat e të dhënave janë bërë themeli i shumë sistemeve të informacionit, por bazat e të dhënave tradicionale janë të vështira për t'u përdorur kur aplikacionet që i aksesojnë ato janë të shkruara në C++, Smalltalk ose Java. Për shembull, bazat e të dhënave të orientuara nga objekti 1C janë krijuar në atë mënyrë që ato të mund të integrohen drejtpërdrejt me aplikacionet që përdorin gjuhë të orientuara nga objekti duke adoptuar konceptet e tyre: Visual Studio. Net, C ++, C, Microsoft SQL Server dhe të tjerët.

Avantazhi kryesor i OODB është eliminimi i plotë i nevojës për RMs1 (rezistenca e rezistencës) me përmirësime të mëvonshme të performancës.

Avantazhi kryesor i OODB
Avantazhi kryesor i OODB

Difekte:

  1. Mekanizma konsultimi shumë primitivë, asnjë platformë e pranuar vetë-standard.
  2. Nuk mund të ruhen procedurat sepse objektet mund të aksesohen vetëm në klient.
  3. Papjekuri në treg.
  4. Nuk ka grupim fizik të objekteve.

Paradigma e objektit

Paradigma e objektit
Paradigma e objektit

Bazat e të dhënave të orientuara nga objekti janë baza të të dhënave të programueshme që ruajnë të dhëna komplekse dhe marrëdhëniet e tyre drejtpërdrejt pa caktuar rreshta dhe kolona, duke i bërë ato më të përshtatshme për aplikacionet që punojnë me grupe të mëdha. Objektet kanë marrëdhënie shumë-me-shumë dhe janë të arritshme nëpërmjet përdorimit të treguesve që lidhen me to për të krijuar marrëdhënie. Si çdo program i programueshëm, OODB ofron një mjedis të zhvillimit të aplikacionit dhe një depo të vazhdueshme të gatshme për shfrytëzim. Ai ruan dhe manipulon informacionin që mund të dixhitalizohet në formën e objekteve, siguron akses të shpejtë dhe ofron aftësi të shkëlqyera përpunimi.

Konceptet bazë të përdorura në një bazë të dhënash të orientuar nga objekti:

  • identiteti i objektit;
  • lloji i konstruktorit;
  • përputhshmëria gjuhësore;
  • lloji hierarki dhe trashëgimi;
  • përpunimi i objekteve komplekse;
  • polimorfizmi dhe mbingarkesa e operatorit;
  • krijimi i versioneve.
Versionimi
Versionimi

Për të konsideruar plotësisht të gjitha aspektet që karakterizojnë një bazë të dhënash të orientuar nga objekti, është e rëndësishme të vihen re të gjitha paradigmat e rëndësishme të objektit:

  1. Enkapsulimi është një veti që ju lejon të fshehni informacione për objekte të tjera, duke parandaluar kështu aksesin ose konfliktet e pasakta.
  2. Trashëgimia është një veti me të cilën objektet trashëgojnë sjelljen në një hierarki klase.
  3. Polimorfizmi është një veti e një operacioni me të cilin mund të zbatohetlloje të ndryshme objektesh.
  4. Ndërfaqja ose nënshkrimi i një operacioni përfshin emrin dhe llojet e të dhënave të argumenteve ose parametrave të tij.
  5. Zbatimi ose metoda e një operacioni specifikohet veçmas dhe mund të ndryshohet pa ndikuar në ndërfaqen. Aplikacionet e përdoruesve mund të punojnë me të dhëna duke thirrur operacione të specifikuara përmes emrave dhe argumenteve të tyre, pavarësisht se si janë zbatuar.

Klasat dhe funksionaliteti

Klasat dhe funksionaliteti
Klasat dhe funksionaliteti

Kur shqyrtohet koncepti i klasave në OODB, është e nevojshme të bëhet dallimi midis termave "klasë" dhe "lloj". Një lloj përdoret për të përshkruar një grup objektesh me sjellje të ngjashme. Në këtë kuptim, varet se cilat operacione mund të thirren në objekt. Një klasë është një koleksion objektesh që ndajnë të njëjtën strukturë të brendshme, kështu që ajo përcakton një zbatim, ndërsa një lloj përshkruan se si ta përdorin atë.

Termi instantiacion i referohet faktit që instantimi i një klase mund të përdoret për të prodhuar një grup objektesh që kanë të njëjtën strukturë dhe sjellje si të vendosura nga klasa.

Një tipar që është shumë i rëndësishëm për evolucionin e objekteve është se ai mund të ndryshojë klasën e tij, duke përfshirë atributet dhe operacionet, duke ruajtur identitetin. Kjo do të kërkonte një mekanizëm për të trajtuar integritetin semantik që rezulton.

Trashëgimi i bazës së të dhënave të orientuar nga objekti i një organizate lejon që një klasë të përkufizohet si një nënklasë e një superklase tashmë ekzistuese. Ai do të trashëgojë të gjitha atributet dhe metodat nga kjo e fundit dhe mund të përcaktojë opsionalishtvet. Ky koncept është një mekanizëm i rëndësishëm për të mbështetur ripërdorimin. Të njëjtat pjesë të strukturës së dy klasave të ndryshme mund të përcaktohen vetëm një herë në një superklasë të përbashkët, kështu që do të shkruhet më pak kod. Ka disa sisteme që lejojnë që një klasë të jetë një nënklasë me më shumë se një superklasë. Kjo veçori quhet trashëgimi e shumëfishtë në krahasim me trashëgiminë e vetme.

Shembull i një baze të dhënash të orientuar nga objekti

Shpesh është e dobishme të përdoret i njëjti emër për metoda të ndryshme por të ngjashme të superklasës së medias nga klasat e fotografive dhe videove. Shumë skedarë mund të shikohen nga shikues të ndryshëm. Ata shpesh duhet të shikojnë të gjitha fotot dhe videot duke përdorur metodën "view" dhe duhet të hapet programi i duhur. Kur thirret funksioni dhe transmetohet një lidhje me videon, luajtësi i mediave hapet. Për të zbatuar këtë veçori, para së gjithash, është e nevojshme të përcaktohet operacioni "prezantim" në superklasën e medias së zakonshme nga klasat e fotografive dhe videove. Secila prej nënklasave ripërcakton operacionin e kërkimit për nevojat e tyre specifike. Kjo rezulton në metoda të ndryshme që kanë të njëjtin emër operacioni. Në këtë rast, përdorimi i këtij funksioni ka një avantazh të rëndësishëm.

Struktura OODB

Struktura OODB
Struktura OODB

Paradigma e orientuar nga objekti bazohet në përmbledhjen e të dhënave dhe kodit të lidhur me secilin objekt në një modul të vetëm. Konceptualisht, të gjitha ndërveprimet midis tij dhe pjesës tjetër të sistemit kryhen duke përdorur mesazhe. Prandaj ndërfaqjandërmjet tyre përcaktohet nga grupi i lejuar.

Në përgjithësi, çdo objekt shoqërohet me një grup:

  1. Ndryshoret që përmbajnë të dhëna objekti dhe korrespondojnë me atributet e modelit ER.
  2. Mesazhet që ai u përgjigjet. Secili mund ose nuk mund të ketë parametra, një ose më shumë.
  3. Metodat, secila prej të cilave është një kod që zbaton mesazhet dhe kthen një vlerë në përgjigje të tyre.

Mesazhet në një mjedis OO nuk nënkupton përdorimin e SMS fizike në rrjetet kompjuterike. Përkundrazi, i referohet shkëmbimit të kërkesave ndërmjet objekteve, pavarësisht nga detajet e sakta të zbatimit të tyre. Ndonjëherë një shprehje thërret një metodë për të shkaktuar faktin që një mesazh i është dërguar një objekti dhe përdor ekzekutimin e metodës përkatëse.

Identiteti i objektit

Identiteti i objektit
Identiteti i objektit

Sistemi i bazës së të dhënave të orientuar nga objekti ofron një identifikim unik për çdo objekt të pavarur të ruajtur në bazën e të dhënave. Zakonisht zbatohet duke përdorur një identifikues unik të objektit të krijuar nga sistemi ose OID. Vlera OID është e padukshme për përdoruesin e jashtëm, por sistemi e përdor atë nga brenda për të menaxhuar lidhjet midis objekteve.

Veçoria kryesore e një OID është të jetë e pandryshueshme. Vlera OID për një objekt të caktuar nuk duhet të ndryshojë kurrë. Kjo ruan identitetin e botës reale që përfaqësohet. Gjithashtu preferohet që çdo OID të përdoret vetëm një herë, edhe nëse hiqet nga baza e të dhënave, OID i tij nuk duhet t'i caktohet një tjetri. Gjithashtu shpesh konsiderohet e papërshtatshme ta bazosh atë në një fizikadresën e objektit në ruajtje, pasi riorganizimi i tyre në bazën e të dhënave mund të ndryshojë OID. Megjithatë, disa sisteme përdorin adresën fizike si OID për të rritur efikasitetin e marrjes së objekteve. Një kornizë e orientuar nga objekti imponon automatikisht kufizime relacionale, zakonisht më të zbatueshme: domenin, çelësin, integritetin e objektit dhe integritetin referues.

Tre konstruktorë kryesor

Tre konstruktorë kryesorë
Tre konstruktorë kryesorë

Në OODB, vlerat ose gjendjet e objekteve komplekse mund të krijohen nga të tjerët duke përdorur konstruktorë të llojeve të caktuara. Një mënyrë për t'i përfaqësuar ato është të mendojmë për secilën si një treshe (i, c, v), ku i është identifikuesi unik i objektit (OID), c është konstruktori, domethënë një tregues se si është vlera e objektit. krijuar, dhe v është vlera ose gjendja e objektit. Mund të ketë konstruktorë të shumtë në varësi të modelit të të dhënave dhe sistemit OO.

Tre konstruktorë bazë të bazës së të dhënave të orientuara nga objekti:

  • atomet;
  • tuples;
  • sete.

Përdorime të tjera më të zakonshme janë listat dhe grafikët. Ekziston edhe domeni D, i cili përmban të gjitha vlerat bazë atomike të disponueshme drejtpërdrejt në sistem. Ato zakonisht përfshijnë numra të plotë, numra realë, vargje karakteresh, data dhe çdo lloj tjetër të dhënash që sistemi trajton drejtpërdrejt. Si struktura e objekteve ashtu edhe operacionet përfshihen në përkufizimet e klasave.

Përputhshmëri me gjuhët e programimit

Konceptet thelbësore të bazave të të dhënave të orientuara nga objekti përdoren nësi mjete projektimi dhe të kodifikuara për të punuar me bazën e të dhënave.

Ka disa gjuhë të mundshme në të cilat këto koncepte mund të integrohen:

  1. Zgjerimi i një gjuhe për përpunimin e të dhënave si SQL duke shtuar lloje komplekse dhe OOP. Sistemet ofrojnë zgjerime të orientuara nga objekti për sistemet relacionale, të quajtura sisteme relacionale të orientuara nga objekti.
  2. Përdorimi i një gjuhe programimi ekzistuese të orientuar nga objekti dhe zgjerimi i saj për të punuar me bazat e të dhënave. Ato quhen gjuhë programimi të vazhdueshme dhe lejojnë zhvilluesit të punojnë drejtpërdrejt me të dhënat pa pasur nevojë të kalojnë nëpër një gjuhë të përpunimit të të dhënave si SQL. Ato quhen të qëndrueshme sepse të dhënat vazhdojnë të ekzistojnë pas përfundimit të programit që i krijoi ato.

Kur të vendosni se cilin opsion të përdorni, mbani në mend se gjuhët e vazhdueshme priren të jenë të fuqishme dhe është relativisht e lehtë të bësh gabime programimi që dëmtojnë bazën e të dhënave. Kompleksiteti i gjuhëve i bën të vështira optimizimet automatike të nivelit të lartë, si reduktimi i hyrjes/daljes së diskut. Në shumë aplikacione, aftësia për të bërë pyetje deklarative është e rëndësishme, por gjuhët e vazhdueshme aktualisht nuk lejojnë pyetje të tilla pa probleme.

Hierarkia e llojeve të trashëgimisë

Skemat e bazës së të dhënave të orientuara nga objekti zakonisht kërkojnë një numër të madh klasash. Megjithatë, disa klasa janë të ngjashme me njëra-tjetrën. Për të lejuar një paraqitje të drejtpërdrejtë të ngjashmërive ndërmjet tyre, duhet të vendosniato në një hierarki specializimesh. Ky koncept është i ngjashëm me modelet ER. Specializimet e klasave quhen nënklasa, të cilat përcaktojnë atribute dhe metoda shtesë për një klasë ekzistuese. Objektet e krijuara me nënklasa trashëgojnë gjithçka nga prindi. Disa nga këto karakteristika të trashëguara mund të jenë huazuar nga ato më të lartat në hierarki.

Objektet konsiderohen komplekse sepse kërkojnë një hapësirë të madhe ruajtjeje dhe nuk janë pjesë e llojeve standarde të të dhënave që zakonisht ofron menaxhimi i bazës së të dhënave të orientuar drejt objekteve (OODBS). Për shkak se madhësia e objekteve është e rëndësishme, SOOBMS mund të marrë një pjesë të një objekti dhe t'ia japë atë një aplikacioni përpara se të marrë të gjithë objektin. Mund të përdorë gjithashtu metoda buffer dhe cache për të marrë pjesë të një objekti përpara kohe, përpara se një aplikacion t'i qaset ato.

OODB i lejon përdoruesit të krijojnë lloje të reja që përfshijnë strukturën dhe operacionet, në këtë rast sistemin e tipit të zgjerueshëm. Ju mund të krijoni biblioteka të llojeve të reja duke përcaktuar strukturën dhe funksionimin e tyre. Shumë prej tyre mund të ruajnë dhe marrin një objekt të madh të strukturuar në formën e vargjeve dhe karaktereve ose biteve, të cilat kalohen "siç janë" në programin e aplikimit për interpretim.

Metoda mund t'i qaset drejtpërdrejt atributeve të objektit të synuar me emër, duke përfshirë çdo të trashëguar nga klasat mëmë, por duhet të aksesojë atributet e objekteve të tjerë me sinjale dytësore. Koncepti ju lejon të lidhni të njëjtin emër ose simbol operatoridy ose më shumë zbatime të ndryshme të tij, në varësi të llojit të objekteve për të cilat aplikohet.

Ndërtimi i aplikacioneve

Krijimi i aplikacionit
Krijimi i aplikacionit

Shumë aplikacione të bazës së të dhënave që përdorin sisteme OO kërkojnë versione të shumta të të njëjtit objekt. Në mënyrë tipike, aktivitetet e mirëmbajtjes aplikohen në një sistem softuerësh ndërsa kërkesat e tyre ndryshojnë, dhe përfshin ndryshimin e disa prej moduleve të zhvillimit dhe zbatimit. Nëse sistemi tashmë po funksionon dhe nëse një ose më shumë module duhet të ndryshohen, zhvilluesi duhet të krijojë një version të ri të secilit prej tyre duke bërë ndryshime.

Vini re se mund të ketë më shumë se dy versione të një objekti, në rast se kërkohen dy përveç modulit origjinal. Versionet e veta të të njëjtit modul softueri mund të përditësohen në të njëjtën kohë. Ky quhet dizajn paralel i bazës së të dhënave të orientuar drejt objekteve. Megjithatë, gjithmonë vjen një pikë ku ato duhet të bashkohen në mënyrë që OODB hibride të përfshijë ndryshimet që janë bërë në mënyrë që ato të jenë të pajtueshme.

Kushtet e orientuara nga objekti

Të gjitha sistemet kompjuterike duhet të kenë vetitë e arkitekturës së tyre për t'u marrë parasysh. Për shembull, një sistem duhet të ketë tabela që të konsiderohet relacional. OODB nuk bën përjashtim dhe përmban disa veti themelore të arkitekturës së objektit. Megjithatë, në botën reale, shumë nga këto veti diskutohen dhe disa, të tilla si trashëgimia e shumëfishtë, konsiderohen si përmirësime të modelit të bazës së të dhënave të orientuar nga objekti në vend tësi pjesë e bazës. Për shembull, në gjuhën e orientuar nga objekti Smalltalk, trashëgimia e shumëfishtë nuk mbështetet, edhe pse konsiderohet pjesë e arkitekturës së objektit.

Metodat për një klasë përcaktojnë një grup operacionesh që mund të kryhen në një objekt. Për shembull, kur aplikohet në një objekt, ai ose kthen një vlerë ose kryen disa operacione për të përditësuar vlerat. Ndonjëherë metodat nuk e kthejnë atë. Nëse metoda do të ishte projektuar për të përditësuar numrin e pasagjerëve për një automjet, nuk do të kthehej asnjë vlerë, por elementi i të dhënave në objektiv do ta ndryshonte atë.

Objektet janë një koncept themelor në OODB. Në thelb, objektet janë një paraqitje abstrakte e gjërave të botës reale që ruhen në të. Një objekt është një shembull i një klase në kuptimin që ai është i përjashtuar nga përkufizimi i tij.

Mund të mendoni për një objekt si një paketë të pavarur që ka tre pjesë:

  1. Të zotërojnë informacione personale, vlera të të dhënave.
  2. Procedura private që do të manipulojnë vlerat përmes përkufizimit të klasës.
  3. Hap ndërfaqe që ky objekt të mund të komunikojë me të tjerët.

shembuj OODB

Përdorimi i OODB thjeshton konceptimin sepse është më e natyrshme të përfaqësohet informacioni që duhet të ruhet. Për të modeluar strukturën ose logjikën e një baze të dhënash, përdorimi i diagrameve të klasave ju lejon të prezantoni klasat me marrëdhëniet e tyre strukturore dhe trashëgiminë. Për të modeluar një pjesë të dinamikës, ndërveprimit dhesjelljes ndërmjet objekteve, do të përdoret një diagram sekuence për të përfaqësuar ndërveprimin midis objekteve të vendosura në një marrëdhënie të përkohshme, duke përshkruar gjendjet e mundshme në mënyrë që ato të mund të gjenden duke pasur parasysh gjendjen e ndryshuar pasi të ndodhë ngjarja.

Shembuj OODB
Shembuj OODB

Një shembull i një baze të dhënash të orientuar nga objekti është paraqitur më poshtë.

Shembuj të bazave të të dhënave të orientuara nga objekti
Shembuj të bazave të të dhënave të orientuara nga objekti

Ata kanë një emër dhe një jetë, të cilat mund të jenë të përkohshme ose të përhershme. Çelësi OODB është aftësia që ata i ofrojnë zhvilluesit për të specifikuar se sa struktura dhe operacione do të zbatohen për to. Ekziston fleksibilitet dhe mbështetje për trajtimin e llojeve komplekse të të dhënave. Ju mund të krijoni klasa dhe nënklasa, për shembull, baza e klientit mund të ketë një nënklasë të lidhjes së këtij klienti dhe ajo do të trashëgojë të gjitha atributet dhe karakteristikat e klasës origjinale, kjo qasje ju lejon të përpunoni shpejt dhe me fleksibilitet të dhëna komplekse.

Recommended: