Katika hifadhidata zinazolengwa na kitu (OODBs), watumiaji wanaweza kuweka utendakazi kwenye hifadhidata fulani, ambayo inaundwa na vitu vinavyoweza kuwa vya aina mbalimbali na ambavyo shughuli zake zimewekwa. Wanaweza kushughulikia kwa njia bora maelezo ya jozi kama vile vitu vya media titika. Faida nyingine iliyoongezwa ya OODB ni kwamba inaweza kuratibiwa kwa tofauti kidogo za kiutaratibu bila kuathiri mfumo mzima.
Masharti ya kuunda kiwango
Historia ya hifadhidata za OODB zenye mwelekeo wa kitu huanza mwishoni mwa karne iliyopita. Ziliundwa ili kukidhi mahitaji ya programu mpya. Wazo lilikuwa kwamba hifadhidata zenye mwelekeo wa kitu zingebadilisha mifumo ya programu katika miaka ya 1990. Sasa ni wazi kwamba hii sivyo. Walakini, ufufuo wa wazo hili kupitia jamii za programu huria na utambuzi wa programu zinazofaa kwa hiyo huhamasisha uhakiki wa sifa. OODB, ambayo ni mbadala wa hifadhidata za uhusiano zinazopatikana kila mahali.
Elekeo la kitu hutoa wepesi wa kushughulikia baadhi au mahitaji yote na haizuiliwi na aina za data na lugha za maswali za hifadhidata za jadi. Kipengele muhimu cha OODBs ni uwezo wanaotoa kwa msanidi programu, kumruhusu kutaja muundo wa vitu ngumu na shughuli za programu. Sababu nyingine ya kuunda OODB ni kuongezeka kwa matumizi ya lugha kwa ukuzaji wa programu.
Hifadhidata zimekuwa msingi wa mifumo mingi ya taarifa, lakini hifadhidata za kitamaduni ni ngumu kutumia wakati programu zinazozifikia zimeandikwa katika C++, Smalltalk au Java. Kwa mfano, hifadhidata zenye mwelekeo wa kitu 1C ziliundwa kwa njia ambayo zinaweza kuunganishwa moja kwa moja na programu kwa kutumia lugha zenye mwelekeo wa kitu kwa kupitisha dhana zao: Visual Studio. Net, C ++, C, Microsoft SQL Server na wengine.
Faida kuu ya OODB ni kuondoa kabisa hitaji la RMs1 (kizuizi) pamoja na utendakazi kuboreshwa.
Dosari:
- Njia za zamani sana za mashauriano, hakuna mfumo unaokubalika binafsi.
- Haiwezi kuhifadhi taratibu kwa sababu vipengee vinaweza kufikiwa tu na mteja.
- Kutokomaa sokoni.
- Hakuna mgawanyo halisi wa vitu.
Mfano wa kitu
Hifadhidata zinazolengwa na kitu ni hifadhidata zinazoweza kuratibiwa ambazo huhifadhi data changamano na uhusiano wake moja kwa moja bila kuangazia safu mlalo na safu wima, na kuzifanya zifae zaidi kwa programu zinazofanya kazi na bechi kubwa. Vitu vina uhusiano wa wengi hadi wengi na vinapatikana kupitia matumizi ya viashiria ambavyo vinahusishwa navyo ili kuanzisha uhusiano. Kama inayoweza kuratibiwa, OODB hutoa mazingira ya ukuzaji wa programu na hazina inayoendelea tayari kwa unyonyaji. Huhifadhi na kuchezea taarifa zinazoweza kuwekwa dijitali kwa namna ya vitu, hutoa ufikiaji wa haraka na hutoa uwezo mkubwa wa kuchakata.
Dhana za kimsingi zinazotumika katika hifadhidata inayolengwa na kitu:
- kitambulisho cha kitu;
- aina ya mjenzi;
- utangamano wa lugha;
- aina ya madaraja na urithi;
- inachakata vitu changamano;
- polymorphism na upakiaji wa waendeshaji kupita kiasi;
- inaunda matoleo.
Ili kuzingatia kikamilifu vipengele vyote vinavyobainisha hifadhidata inayolengwa na kitu, ni muhimu kuzingatia dhana zote muhimu za kitu:
- Encapsulation ni sifa inayokuruhusu kuficha maelezo ya vitu vingine, hivyo basi kuzuia ufikiaji usio sahihi au migongano.
- Urithi ni sifa ambayo kwayo vitu hurithi tabia katika daraja la darasa.
- Polimorphism ni sifa ya operesheni ambayo inaweza kutumika kwayoaina tofauti za vitu.
- Kiolesura au sahihi ya operesheni inajumuisha jina na aina za data za hoja au vigezo vyake.
- Utekelezaji au mbinu ya uendeshaji imebainishwa tofauti na inaweza kubadilishwa bila kuathiri kiolesura. Programu za mtumiaji zinaweza kufanya kazi na data kwa kuita shughuli maalum kupitia majina na hoja zao, bila kujali jinsi zilivyotekelezwa.
Madarasa na utendakazi
Unapozingatia dhana ya madarasa katika OODB, ni muhimu kutofautisha kati ya maneno "darasa" na "aina". Aina hutumiwa kuelezea seti ya vitu vilivyo na tabia sawa. Kwa maana hii, inategemea ni shughuli gani zinaweza kuitwa kwenye kitu. Darasa ni mkusanyiko wa vitu vinavyoshiriki muundo sawa wa ndani, kwa hivyo hufafanua utekelezaji, wakati aina inaelezea jinsi ya kukitumia.
Neno instantiation linamaanisha ukweli kwamba instantiation ya darasa inaweza kutumika kutoa seti ya vitu ambavyo vina muundo na tabia sawa na iliyowekwa na darasa.
Kipengele ambacho ni muhimu sana kwa mabadiliko ya vitu ni kwamba kinaweza kubadilisha aina yake, ikijumuisha sifa na utendakazi, huku kikidumisha utambulisho. Hii itahitaji utaratibu wa kushughulikia matokeo ya uadilifu wa kisemantiki.
Kurithi hifadhidata ya shirika yenye mwelekeo wa kitu huruhusu darasa kufafanuliwa kama darasa dogo la darasa kuu lililopo tayari. Itarithi sifa na mbinu zote kutoka kwa za mwisho na inaweza kufafanua kwa hiarikumiliki. Dhana hii ni utaratibu muhimu wa kusaidia utumiaji tena. Sehemu sawa za muundo wa madarasa mawili tofauti zinaweza kufafanuliwa mara moja tu katika darasa kuu la kawaida, kwa hivyo nambari ndogo itaandikwa. Kuna baadhi ya mifumo ambayo inaruhusu darasa kuwa ndogo ya zaidi ya darasa moja kuu. Kipengele hiki kinaitwa urithi mwingi kinyume na urithi mmoja.
Mfano wa hifadhidata yenye mwelekeo wa kitu
Mara nyingi ni muhimu kutumia jina moja kwa mbinu tofauti lakini sawa za darasa kuu la media kutoka kwa madarasa ya picha na video. Faili nyingi zinaweza kutazamwa na watazamaji tofauti. Mara nyingi wanahitaji kutazama picha na video zote kwa kutumia njia ya "mtazamo", na programu inayofaa lazima izinduliwe. Kitendaji kinapoitwa na kiunga cha video kinapitishwa, kicheza media kinazinduliwa. Ili kutekeleza kipengele hiki, kwanza kabisa, ni muhimu kufafanua operesheni ya "uwasilishaji" katika superclass ya kawaida ya vyombo vya habari kutoka kwa madarasa ya picha na video. Kila moja ya aina ndogo hufafanua upya operesheni ya kuangalia kwa mahitaji yao maalum. Hii inasababisha njia tofauti ambazo zina jina la operesheni sawa. Katika hali hii, kutumia chaguo hili la kukokotoa kuna faida muhimu.
OODB muundo
Mtazamo unaolenga kitu unatokana na ujumuishaji wa data na msimbo unaohusiana na kila kitu katika sehemu moja. Kwa dhana, mwingiliano wote kati yake na mfumo wote unafanywa kwa kutumia ujumbe. Kwa hivyo interfacekati yao imedhamiriwa na seti iliyoruhusiwa.
Kwa ujumla, kila kitu kinahusishwa na seti:
- Vigezo ambavyo vina data ya kitu na vinalingana na sifa za muundo wa ER.
- Ujumbe anaojibu. Kila moja inaweza au isiwe na vigezo, kimoja au zaidi.
- Mbinu, ambayo kila moja ni msimbo unaotekeleza ujumbe na kurudisha thamani katika kujibu.
Kutuma ujumbe katika mazingira ya OO haimaanishi matumizi ya SMS halisi katika mitandao ya kompyuta. Kinyume chake, inahusu ubadilishanaji wa maombi kati ya vitu, bila kujali maelezo sahihi ya utekelezaji wao. Wakati mwingine usemi huita mbinu ili kuanzisha ukweli kwamba ujumbe umetumwa kwa kitu, na hutumia utekelezaji wa mbinu inayolingana.
kitambulisho cha kitu
Mfumo wa hifadhidata unaolengwa na kitu hutoa kitambulisho cha kipekee kwa kila kitu huru kilichohifadhiwa kwenye hifadhidata. Kawaida hutekelezwa kwa kutumia kitambulisho cha kitu cha kipekee au OID inayozalishwa na mfumo. Thamani ya OID haionekani kwa mtumiaji wa nje, lakini mfumo huitumia ndani kudhibiti viungo kati ya vitu.
Sifa kuu ya OID ni kuwa isiyobadilika. Thamani ya OID ya kitu fulani haipaswi kubadilika kamwe. Hii inahifadhi utambulisho wa ulimwengu wa kweli unaowakilishwa. Inapendekezwa pia kuwa kila OID itumike mara moja tu, hata ikiwa imeondolewa kwenye hifadhidata, OID yake haipaswi kupewa nyingine. Pia mara nyingi huchukuliwa kuwa haifai kuiweka msingi wa kimwilianwani ya kitu katika hifadhi, kwa kuwa kupanga upya katika hifadhidata kunaweza kubadilisha OID. Hata hivyo, baadhi ya mifumo hutumia anwani halisi kama OID ili kuongeza ufanisi wa kurejesha vitu. Mfumo unaolenga kitu huweka kiotomatiki vikwazo vya uhusiano, kwa kawaida hutumika zaidi: kikoa, ufunguo, uadilifu wa kitu, na uadilifu wa marejeleo.
Wajenzi wakuu watatu
Katika OODB, thamani au hali za vitu changamano zinaweza kuundwa kutoka kwa wengine kwa kutumia vijenzi vya aina fulani. Njia moja ya kuwawakilisha ni kufikiria kila moja kama sehemu tatu (i, c, v), ambapo mimi ni kitambulisho cha kipekee cha kitu (OID), c ndiye mjenzi, ambayo ni, kielekezi cha jinsi thamani ya kitu ilivyo. kuundwa, na v ni thamani au hali ya kitu. Huenda kukawa na waundaji wengi kulingana na muundo wa data na mfumo wa OO.
Waunda hifadhidata watatu msingi wenye mwelekeo wa kitu:
- atomi;
- miwili;
- seti.
Matumizi mengine ya kawaida zaidi ni orodha na chati. Pia kuna kikoa cha D, ambacho kina thamani zote za msingi za atomiki zinazopatikana moja kwa moja kwenye mfumo. Kwa kawaida hujumuisha nambari kamili, nambari halisi, mifuatano ya wahusika, tarehe na aina nyingine yoyote ya data ambayo mfumo unashughulikia moja kwa moja. Muundo wa vitu na utendakazi umejumuishwa katika ufafanuzi wa darasa.
Upatanifu na lugha za upangaji programu
Dhana za msingi za hifadhidata zinazolengwa na kitu zinatumika katikakama zana za kubuni na kuratibiwa kufanya kazi na hifadhidata.
Kuna lugha kadhaa zinazowezekana ambamo dhana hizi zinaweza kuunganishwa:
- Kupanua lugha ya kuchakata data kama vile SQL kwa kuongeza aina changamano na OOP. Mifumo hutoa viendelezi vyenye mwelekeo wa kitu kwa mifumo ya uhusiano, inayoitwa mifumo ya uhusiano yenye mwelekeo wa kitu.
- Kwa kutumia lugha iliyopo ya upangaji inayolenga kitu na kuipanua ili ifanye kazi na hifadhidata. Zinaitwa lugha zinazoendelea za upangaji na huruhusu wasanidi programu kufanya kazi moja kwa moja na data bila kupitia lugha ya usindikaji wa data kama SQL. Zinaitwa zinazoendelea kwa sababu data inaendelea kuwepo baada ya mwisho wa programu iliyoiunda.
Unapoamua ni chaguo gani la kutumia, kumbuka kuwa lugha endelevu huwa na nguvu, na ni rahisi kufanya makosa ya upangaji ambayo yanaharibu hifadhidata. Utata wa lugha hufanya uboreshaji wa hali ya juu kiotomatiki, kama vile kupunguza diski I/O, kuwa ngumu. Katika programu nyingi, uwezo wa kuuliza maswali ni muhimu, lakini lugha zinazoendelea kwa sasa haziruhusu maswali kama haya bila matatizo.
Uongozi wa aina za urithi
Mipangilio ya hifadhidata inayolengwa na kitu kwa kawaida huhitaji idadi kubwa ya madarasa. Hata hivyo, madarasa kadhaa yanafanana kwa kila mmoja Ili kuruhusu uwakilishi wa moja kwa moja wa kufanana kati yao, unahitaji kuwekakuwaweka katika safu ya utaalam. Dhana hii ni sawa na mifano ya ER. Utaalam wa darasa huitwa mada ndogo, ambayo hufafanua sifa na njia za ziada za darasa lililopo. Vitu vilivyoundwa na vikundi vidogo vinarithi kila kitu kutoka kwa mzazi. Baadhi ya sifa hizi za kurithi huenda zenyewe ziliazimwa kutoka kwa wale walio juu katika daraja.
Vitu vinachukuliwa kuwa changamano kwa sababu vinahitaji kiasi kikubwa cha nafasi ya hifadhi na si sehemu ya aina za data za kawaida ambazo Usimamizi wa Hifadhidata Unayolenga Kitu (OODBS) kwa kawaida hutoa. Kwa sababu saizi ya vitu ni muhimu, SOOBMS inaweza kupokea sehemu ya kitu na kuipatia programu kabla ya kupata kitu kizima. Inaweza pia kutumia mbinu za akiba na akiba ili kupata sehemu za kitu kabla ya wakati, kabla ya programu kuzifikia.
OODB inaruhusu watumiaji kuunda aina mpya zinazojumuisha muundo na utendakazi, katika hali hii mfumo wa aina inayoweza kupanuka. Unaweza kuunda maktaba za aina mpya kwa kufafanua muundo na shughuli zao. Wengi wao wanaweza kuhifadhi na kupokea kitu kikubwa kilichoundwa kwa njia ya nyuzi na herufi au biti, ambazo hupitishwa "kama ilivyo" kwa programu ya maombi kwa tafsiri.
Mbinu inaweza kufikia sifa za kitu lengwa moja kwa moja kwa jina, ikijumuisha zozote zilizorithiwa kutoka kwa madarasa ya wazazi, lakini lazima ifikie sifa za vipengee vingine vilivyo na mawimbi ya pili. Wazo hilo hukuruhusu kuhusisha jina la opereta au ishara nautekelezaji wake mbili au zaidi tofauti, kulingana na aina ya vitu inatumika.
Programu za Ujenzi
Programu nyingi za hifadhidata zinazotumia mifumo ya OO zinahitaji matoleo mengi ya kitu kimoja. Kwa kawaida, shughuli za matengenezo hutumika kwa mfumo wa programu kadiri mahitaji yao yanavyobadilika, na inahusisha kubadilisha baadhi ya moduli za ukuzaji na utekelezaji. Ikiwa mfumo tayari unafanya kazi na ikiwa moduli moja au zaidi zinahitaji kubadilishwa, msanidi lazima aunde toleo jipya la kila mojawapo kwa kufanya mabadiliko.
Kumbuka kwamba kunaweza kuwa na zaidi ya matoleo mawili ya kitu, iwapo mawili yatahitajika pamoja na moduli asili. Matoleo ya mwenyewe ya moduli sawa ya programu yanaweza kusasishwa kwa wakati mmoja. Huu unaitwa muundo wa hifadhidata unaoletwa na kitu sambamba. Hata hivyo, huwa inafika hatua ambapo zinahitaji kuunganishwa ili OODB mseto kujumuisha mabadiliko ambayo yamefanywa ili zilingane.
Masharti yenye mwelekeo wa kitu
Mifumo yote ya kompyuta lazima iwe na sifa za usanifu wake ili kuzingatiwa. Kwa mfano, mfumo lazima uwe na majedwali ya kuzingatiwa kuwa ya uhusiano. OODB sio ubaguzi na ina sifa za kimsingi za usanifu wa kitu. Walakini, katika ulimwengu wa kweli, nyingi za mali hizi hujadiliwa na zingine, kama vile urithi nyingi, huzingatiwa kama nyongeza kwa muundo wa hifadhidata unaolengwa na kitu badala yakama sehemu ya msingi. Kwa mfano, katika lugha yenye mwelekeo wa kitu Smalltalk, urithi mwingi hautumiki, ingawa inachukuliwa kuwa sehemu ya usanifu wa kitu.
Mbinu za darasa hufafanua seti ya shughuli zinazoweza kufanywa kwenye kitu. Kwa mfano, inapotumika kwa kitu, hurejesha thamani au kufanya operesheni fulani ili kusasisha thamani. Wakati mwingine mbinu hazirudishi. Ikiwa mbinu iliundwa kusasisha idadi ya abiria wa gari, hakuna thamani ambayo ingerejeshwa, lakini kipengele cha data katika lengwa kingeibadilisha.
Vitu ni dhana ya msingi katika OODB. Kimsingi, vitu ni uwakilishi dhahania wa vitu vya ulimwengu halisi ambavyo vimehifadhiwa ndani yake. Kitu ni mfano wa darasa kwa maana kwamba hakijajumuishwa kwenye ufafanuzi wake.
Unaweza kufikiria kitu kama kifurushi kinachojitosheleza ambacho kina sehemu tatu:
- Taarifa zako binafsi, thamani za data.
- Taratibu za kibinafsi ambazo zitabadilisha thamani kupitia ufafanuzi wa darasa.
- Fungua kiolesura ili kifaa hiki kiweze kuwasiliana na wengine.
Mifano ya OODB
Kutumia OODB hurahisisha uundaji dhana kwa sababu ni kawaida zaidi kuwakilisha maelezo yanayohitaji kuhifadhiwa. Ili kuiga muundo au mantiki ya hifadhidata, matumizi ya michoro ya darasa hukuruhusu kuanzisha madarasa na uhusiano wao wa kimuundo na urithi. Ili kutoa mfano wa sehemu ya mienendo, mwingiliano natabia kati ya vitu, mchoro wa mfuatano utatumika kuwakilisha mwingiliano kati ya vitu vilivyo katika uhusiano wa muda, unaoelezea hali zinazowezekana ili ziweze kupatikana kutokana na hali iliyobadilika baada ya tukio kutokea.
Mfano wa hifadhidata yenye mwelekeo wa kitu umeonyeshwa hapa chini.
Zina jina na maisha, ambayo yanaweza kuwa ya muda au ya kudumu. Ufunguo wa OODB ni uwezo wanaotoa kwa msanidi kubainisha ni miundo na shughuli ngapi zitatumika kwao. Kuna unyumbufu na usaidizi wa kushughulikia aina changamano za data. Unaweza kuunda madarasa na madaraja, kwa mfano, msingi wa mteja unaweza kuwa na aina ndogo ya kiungo cha mteja huyu, na itarithi sifa na sifa zote za darasa asili, mbinu hii hukuruhusu kuchakata data changamano kwa haraka na kwa urahisi.