Obyektga yoʻn altirilgan maʼlumotlar bazalarida (OODB) foydalanuvchilar turli xil turdagi boʻlishi mumkin boʻlgan obʼyektlardan tashkil topgan va ular uchun amallar oʻrnatilgan maʼlum maʼlumotlar bazasida operatsiyalarni oʻrnatishi mumkin. Ular multimedia ob'ektlari kabi ikkilik ma'lumotlarni samarali boshqarishi mumkin. OODB ning yana bir qo'shimcha afzalligi shundaki, uni butun tizimga ta'sir qilmasdan, ozgina protsessual farqlar bilan dasturlash mumkin.
Standart yaratish uchun zarur shartlar
Obyektga yoʻn altirilgan OODB maʼlumotlar bazalarining tarixi oʻtgan asrning oxiridan boshlanadi. Ular yangi ilovalar ehtiyojlarini qondirish uchun yaratilgan. Ob'ektga yo'n altirilgan ma'lumotlar bazalari 1990-yillarda dasturiy ta'minot tizimlarida inqilob qiladi degan taxmin bor edi. Endi bunday emasligi aniq bo'ldi. Biroq, ushbu kontseptsiyani bepul dasturiy ta'minot hamjamiyatlari orqali qayta tiklash va unga mos ilovalarni aniqlash xususiyatlarni ko'rib chiqishga undaydi. OODB, bu hamma joyda mavjud relyatsion ma'lumotlar bazalariga muqobildir.
Ob'ektga yo'n altirilganlik talablarning bir qismini yoki barchasini bajarish uchun moslashuvchanlikni ta'minlaydi va an'anaviy ma'lumotlar bazalarining ma'lumotlar turlari va so'rovlar tillari bilan cheklanmaydi. OODB ning asosiy xususiyati - ular ishlab chiquvchiga murakkab ob'ektlar tuzilishini ham, dastur operatsiyalarini ham ko'rsatishga imkon beradigan qobiliyatdir. OODB yaratishning yana bir sababi dasturiy ta'minotni ishlab chiqish uchun tillardan foydalanishning ortib borayotganidir.
Ma'lumotlar bazalari ko'plab axborot tizimlarining asosiga aylandi, ammo ularga kiradigan ilovalar C++, Smalltalk yoki Java-da yozilgan bo'lsa, an'anaviy ma'lumotlar bazalaridan foydalanish qiyin. Masalan, 1C ob'ektga yo'n altirilgan ma'lumotlar bazalari shunday tuzilganki, ular ob'ektga yo'n altirilgan tillardan foydalangan holda o'zlarining kontseptsiyalarini qabul qilgan holda ilovalar bilan bevosita integratsiya qilinishi mumkin: Visual Studio. Net, C ++, C, Microsoft SQL Server va. boshqalar.
OODB ning asosiy afzalligi RMs1 (empedans) ga boʻlgan ehtiyojni toʻliq bartaraf etish va keyinchalik unumdorlikni oshirishdir.
Kamchiliklar:
- Juda oddiy maslahat mexanizmlari, oʻz-oʻzidan qabul qilinadigan platforma yoʻq.
- Protseduralarni saqlab boʻlmaydi, chunki obyektlarga faqat mijoz orqali kirish mumkin.
- Bozorda etuklik.
- Ob'yektlarni jismoniy guruhlash yo'q.
Obyekt paradigmasi
Obyektga yoʻn altirilgan maʼlumotlar bazalari dasturlashtiriladigan maʼlumotlar bazalari boʻlib, murakkab maʼlumotlar va ularning oʻzaro munosabatlarini toʻgʻridan-toʻgʻri qatorlar va ustunlar tayinlamasdan saqlaydi va bu ularni katta partiyalar bilan ishlaydigan ilovalar uchun koʻproq moslashtiradi. Ob'ektlar ko'pdan ko'pga munosabatlarga ega va aloqa o'rnatish uchun ular bilan bog'langan ko'rsatgichlardan foydalanish orqali kirish mumkin. Har qanday dasturlashtiriladigan kabi, OODB ham ilovalarni ishlab chiqish muhitini va foydalanishga tayyor doimiy omborni taqdim etadi. U ob'ektlar ko'rinishida raqamlashtirilishi mumkin bo'lgan ma'lumotlarni saqlaydi va boshqaradi, tezkor kirishni ta'minlaydi va ajoyib qayta ishlash imkoniyatlarini ta'minlaydi.
Obyektga yoʻn altirilgan maʼlumotlar bazasida ishlatiladigan asosiy tushunchalar:
- obyekt identifikatori;
- konstruktor turi;
- til mosligi;
- tur ierarxiyasi va meros;
- murakkab obyektlarni qayta ishlash;
- polimorfizm va operatorning haddan tashqari yuklanishi;
- versiyalar yaratilmoqda.
Obyektga yoʻn altirilgan maʼlumotlar bazasini tavsiflovchi barcha jihatlarni toʻliq koʻrib chiqish uchun barcha muhim obyekt paradigmalariga eʼtibor qaratish lozim:
- Enkapsulyatsiya - bu boshqa ob'ektlar uchun ma'lumotlarni yashirish imkonini beruvchi xususiyatdir, bu esa noto'g'ri kirish yoki ziddiyatlarning oldini oladi.
- Meros - bu obyektlar sinf ierarxiyasidagi xatti-harakatlarni meros qilib oladigan xususiyat.
- Polimorfizm amalning xususiyati boʻlib, unga nisbatan qoʻllanilishi mumkinhar xil turdagi ob'ektlar.
- Amaliyat interfeysi yoki imzosi uning argumentlari yoki parametrlarining nomi va maʼlumotlar turlarini oʻz ichiga oladi.
- Amaliyotning amalga oshirilishi yoki usuli alohida belgilanadi va interfeysga ta'sir qilmasdan o'zgartirilishi mumkin. Foydalanuvchi ilovalari qanday amalga oshirilganidan qatʼi nazar, maʼlum operatsiyalarni nomlari va argumentlari orqali chaqirish orqali maʼlumotlar bilan ishlashi mumkin.
Sinflar va funksiyalar
OODBda sinflar tushunchasini ko'rib chiqishda "sinf" va "tur" atamalarini farqlash kerak. Turi o'xshash xatti-harakatlarga ega bo'lgan ob'ektlar to'plamini tavsiflash uchun ishlatiladi. Shu ma'noda, ob'ektda qanday operatsiyalarni chaqirish mumkinligiga bog'liq. Sinf - bu bir xil ichki tuzilishga ega ob'ektlar to'plami, shuning uchun u amalga oshirishni belgilaydi, tur esa undan qanday foydalanishni tavsiflaydi.
Instantiation atamasi sinfning instantsiyasi sinf tomonidan oʻrnatilgan bir xil tuzilish va xatti-harakatlarga ega boʻlgan obʼyektlar toʻplamini ishlab chiqarish uchun ishlatilishi mumkinligini anglatadi.
Ob'yektlar evolyutsiyasi uchun juda muhim xususiyat shundaki, u o'z sinfini, jumladan atributlar va operatsiyalarni o'zgartirishi mumkin, shu bilan birga identifikatsiyani saqlab qoladi. Buning uchun hosil boʻlgan semantik yaxlitlikni boshqarish mexanizmi kerak boʻladi.
Tashkilotning ob'ektga yo'n altirilgan ma'lumotlar bazasini meros qilib olish sinfni allaqachon mavjud bo'lgan yuqori sinfning pastki sinfi sifatida aniqlash imkonini beradi. U barcha atributlar va usullarni ikkinchisidan meros qilib oladi va ixtiyoriy ravishda belgilashi mumkinShaxsiy. Ushbu kontseptsiya qayta foydalanishni qo'llab-quvvatlashning muhim mexanizmidir. Ikki xil sinf strukturasining bir xil qismlari umumiy supersinfda faqat bir marta aniqlanishi mumkin, shuning uchun kamroq kod yoziladi. Ba'zi tizimlar mavjud bo'lib, ular sinfga bir nechta yuqori sinflarning pastki sinfi bo'lish imkonini beradi. Bu xususiyat bitta merosdan farqli ravishda bir nechta meros deb ataladi.
Obyektga yoʻn altirilgan maʼlumotlar bazasiga misol
Tasvir va video darslarida media superklassining turli, ammo oʻxshash usullari uchun bir xil nomdan foydalanish koʻpincha foydalidir. Ko'p fayllarni turli tomoshabinlar ko'rishlari mumkin. Ular ko'pincha "ko'rish" usuli yordamida barcha fotosuratlar va videolarni ko'rishlari kerak va tegishli dastur ishga tushirilishi kerak. Funktsiya chaqirilganda va videoga havola o'tkazilganda, media pleer ishga tushadi. Ushbu xususiyatni amalga oshirish uchun, birinchi navbatda, rasm va video sinflardan umumiy media superklassidagi "taqdimot" operatsiyasini aniqlash kerak. Kichik sinflarning har biri o'ziga xos ehtiyojlari uchun qidirish operatsiyasini qayta belgilaydi. Bu bir xil operatsiya nomiga ega bo'lgan turli usullarga olib keladi. Bunday holda, ushbu funksiyadan foydalanish muhim afzalliklarga ega.
OODB tuzilishi
Ob'ektga yo'n altirilgan paradigma har bir ob'ektga tegishli ma'lumotlar va kodlarni bitta modulda inkapsulyatsiya qilishga asoslangan. Kontseptual tarzda, u va tizimning qolgan qismi o'rtasidagi barcha o'zaro ta'sirlar xabarlar yordamida amalga oshiriladi. Shunday qilib, interfeysular orasidagi ruxsat etilgan to'plam bilan belgilanadi.
Umuman olganda, har bir ob'ekt to'plam bilan bog'langan:
- Obyekt maʼlumotlarini oʻz ichiga olgan va ER modeli atributlariga mos keladigan oʻzgaruvchilar.
- U javob beradigan xabarlar. Har birida bir yoki bir nechta parametr boʻlishi mumkin yoki boʻlmasligi mumkin.
- Usullar, ularning har biri xabarlarni amalga oshiradigan va unga javob sifatida qiymat qaytaruvchi koddir.
OO muhitida xabar almashish kompyuter tarmoqlarida jismoniy SMS foydalanishni anglatmaydi. Aksincha, bu ob'ektlar o'rtasida, ularni amalga oshirishning to'g'ri tafsilotlaridan qat'i nazar, so'rovlar almashinuvini anglatadi. Ba'zan ifoda ob'ektga xabar yuborilganligi faktini ishga tushirish uchun usulni chaqiradi va mos keladigan usulning bajarilishidan foydalanadi.
Obyekt identifikatori
Obyektga yoʻn altirilgan maʼlumotlar bazasi tizimi maʼlumotlar bazasida saqlangan har bir mustaqil obyekt uchun noyob identifikatsiyani taʼminlaydi. U odatda tizim tomonidan yaratilgan noyob ob'ekt identifikatori yoki OID yordamida amalga oshiriladi. OID qiymati tashqi foydalanuvchiga koʻrinmaydi, lekin tizim undan obʼyektlar orasidagi havolalarni boshqarish uchun ichkaridan foydalanadi.
OID ning asosiy xususiyati oʻzgarmas boʻlishidir. Muayyan ob'ekt uchun OID qiymati hech qachon o'zgarmasligi kerak. Bu taqdim etilayotgan haqiqiy dunyoning o'ziga xosligini saqlaydi. Bundan tashqari, har bir OID faqat bir marta ishlatilishi ma'qul, hatto u ma'lumotlar bazasidan olib tashlangan bo'lsa ham, uning OID boshqasiga tayinlanmasligi kerak. Bundan tashqari, ko'pincha uni jismoniy asosga asoslash noto'g'ri deb hisoblanadisaqlashdagi ob'ektning manzili, chunki ularni ma'lumotlar bazasida qayta tashkil qilish OIDni o'zgartirishi mumkin. Biroq, ba'zi tizimlar ob'ektlarni olish samaradorligini oshirish uchun jismoniy manzildan OID sifatida foydalanadi. Ob'ektga yo'n altirilgan ramka avtomatik ravishda aloqador cheklovlarni qo'yadi, odatda ko'proq qo'llaniladi: domen, kalit, ob'ekt yaxlitligi va havola yaxlitligi.
Uchta asosiy konstruktor
OODBda murakkab ob'yektlarning qiymatlari yoki holatlari ma'lum turdagi konstruktorlar yordamida boshqalardan yaratilishi mumkin. Ularni ifodalashning usullaridan biri har birini uchlik (i, c, v) deb hisoblashdir, bu erda i ob'ektning yagona identifikatori (OID), c - konstruktor, ya'ni ob'ekt qiymatining ko'rsatkichi. yaratilgan, v esa obyektning qiymati yoki holati. Maʼlumotlar modeli va OO tizimiga qarab bir nechta konstruktorlar boʻlishi mumkin.
Uchta asosiy ob'ektga yo'n altirilgan ma'lumotlar bazasi konstruktorlari:
- atomlar;
- kordellar;
- toʻplamlar.
Boshqa keng tarqalgan foydalanish roʻyxatlar va diagrammalardir. Shuningdek, tizimda to'g'ridan-to'g'ri mavjud bo'lgan barcha asosiy atom qiymatlarini o'z ichiga olgan D domeni mavjud. Ular odatda butun sonlar, haqiqiy sonlar, belgilar qatorlari, sanalar va tizim to'g'ridan-to'g'ri ishlov beradigan boshqa turdagi ma'lumotlarni o'z ichiga oladi. Ob'ektlar tuzilishi ham, operatsiyalar ham sinf ta'riflariga kiritilgan.
Dasturlash tillari bilan moslik
Obyektga yoʻn altirilgan maʼlumotlar bazalarining asosiy tushunchalaridan foydalaniladidizayn vositalari sifatida va ma'lumotlar bazasi bilan ishlash uchun kodlangan.
Ushbu tushunchalarni birlashtirish mumkin boʻlgan bir nechta tillar mavjud:
- Murakkab turlar va OOP qoʻshish orqali SQL kabi maʼlumotlarni qayta ishlash tilini kengaytirish. Tizimlar relyatsion tizimlarga ob'ektga yo'n altirilgan relyatsion tizimlar deb ataladigan ob'ektga yo'n altirilgan kengaytmalarni taqdim etadi.
- Mavjud ob'ektga yo'n altirilgan dasturlash tilidan foydalanish va uni ma'lumotlar bazalari bilan ishlash uchun kengaytirish. Ular doimiy dasturlash tillari deb ataladi va ishlab chiquvchilarga SQL kabi ma'lumotlarni qayta ishlash tilidan o'tmasdan to'g'ridan-to'g'ri ma'lumotlar bilan ishlashga imkon beradi. Ular doimiy deb nomlanadi, chunki maʼlumotlar uni yaratgan dastur tugaganidan keyin ham mavjud boʻlib qoladi.
Qaysi variantdan foydalanishni tanlashda shuni yodda tutingki, doimiy tillar kuchli bo'ladi va ma'lumotlar bazasiga zarar etkazadigan dasturlash xatolariga yo'l qo'yish nisbatan oson. Tillarning murakkabligi yuqori darajadagi avtomatik optimallashtirishni qiyinlashtiradi, masalan, disk kiritish-chiqarishni qisqartirish. Ko'pgina ilovalarda deklarativ so'rovlar qilish qobiliyati muhim, ammo doimiy tillar hozirda bunday so'rovlarni muammosiz bajarishga ruxsat bermaydi.
Meros turlari ierarxiyasi
Obyektga yoʻn altirilgan maʼlumotlar bazasi sxemalari odatda koʻp sonli sinflarni talab qiladi. Biroq, bir nechta sinflar bir-biriga o'xshashdir. Ular o'rtasidagi o'xshashliklarni to'g'ridan-to'g'ri ifodalash uchun siz qo'yishingiz kerakularni mutaxassisliklar ierarxiyasiga aylantiradi. Ushbu kontseptsiya ER modellariga o'xshaydi. Sinf ixtisoslashuvlari mavjud sinf uchun qo'shimcha atributlar va usullarni belgilaydigan kichik sinflar deb ataladi. Pastki sinflar bilan yaratilgan ob'ektlar ota-onadan hamma narsani meros qilib oladi. Bu irsiy xususiyatlarning ba'zilari o'zlari ierarxiyadagi yuqoriroq shaxslardan olingan bo'lishi mumkin.
Ob'ektlar murakkab hisoblanadi, chunki ular katta hajmdagi saqlash maydonini talab qiladi va odatda Ob'ektga yo'n altirilgan ma'lumotlar bazasini boshqarish (OODBS) taklif qiladigan standart ma'lumotlar turlarining bir qismi emas. Ob'ektlarning o'lchamlari muhim bo'lganligi sababli, SOOBMS ob'ektning bir qismini olishi va butun ob'ektni olishdan oldin uni ilovaga taqdim etishi mumkin. Ilova ularga kirishdan oldin ob'ekt qismlarini oldindan olish uchun bufer va kesh usullaridan ham foydalanishi mumkin.
OODB foydalanuvchilarga tuzilma va operatsiyalarni o'z ichiga olgan yangi turlarni yaratish imkonini beradi, bu holda kengaytiriladigan turdagi tizim. Yangi turdagi kutubxonalarni ularning tuzilishi va amallarini belgilash orqali yaratishingiz mumkin. Ularning aksariyati talqin qilish uchun dastur dasturiga "xuddi shunday" uzatiladigan satrlar va belgilar yoki bitlar ko'rinishidagi katta tuzilgan ob'ektni saqlashi va qabul qilishi mumkin.
Usul maqsadli ob'ekt atributlariga bevosita nomi bo'yicha kirishi mumkin, shu jumladan ota-sinflardan meros bo'lib qolgan, lekin ikkinchi darajali signallarga ega bo'lgan boshqa ob'ektlarning atributlariga kirishi kerak. Kontseptsiya bir xil operator nomi yoki belgisini bog'lash imkonini beradiamal qiladigan obyektlar turiga qarab, uning ikki yoki undan ortiq turli ilovalari.
Ilovalar qurish
OO tizimlaridan foydalanadigan ko'plab ma'lumotlar bazasi ilovalari bir xil ob'ektning bir nechta versiyasini talab qiladi. Odatda, texnik xizmat ko'rsatish faoliyati dasturiy ta'minot tizimiga ularning talablari o'zgarganda qo'llaniladi va ba'zi ishlab chiqish va amalga oshirish modullarini o'zgartirishni o'z ichiga oladi. Agar tizim allaqachon ishlayotgan bo'lsa va bir yoki bir nechta modulni o'zgartirish kerak bo'lsa, ishlab chiquvchi o'zgartirish kiritish orqali ularning har birining yangi versiyasini yaratishi kerak.
Esda tutingki, asl modulga qoʻshimcha ravishda ikkitasi kerak boʻlsa, obʼyektning ikkitadan ortiq versiyasi boʻlishi mumkin. Xuddi shu dasturiy modulning o'z versiyalari bir vaqtning o'zida yangilanishi mumkin. Bu parallel ob'ektga yo'n altirilgan ma'lumotlar bazasi dizayni deb ataladi. Biroq, gibrid OODB kiritilgan o'zgarishlar mos kelishi uchun ularni birlashtirish kerak bo'lgan nuqta doimo keladi.
Ob'ektga yo'n altirilgan shartlar
Ko'rib chiqish uchun barcha kompyuter tizimlari o'z arxitekturasining xususiyatlariga ega bo'lishi kerak. Masalan, tizimda relyatsion hisoblanish uchun jadvallar bo'lishi kerak. OODB bundan mustasno emas va ob'ekt arxitekturasining ba'zi asosiy xususiyatlarini o'z ichiga oladi. Biroq, haqiqiy dunyoda bu xususiyatlarning ko'pchiligi muhokama qilinadi va ba'zilari, masalan, ko'p merosxo'rlik, ob'ektga yo'n altirilgan ma'lumotlar bazasi modelining yaxshilanishi hisoblanadi.asosiy chiziqning bir qismi sifatida. Masalan, Smalltalk ob'ektga yo'n altirilgan tilida, ob'ekt arxitekturasining bir qismi hisoblansa ham, bir nechta meros qo'llab-quvvatlanmaydi.
Klass uchun usullar ob'ektda bajarilishi mumkin bo'lgan operatsiyalar to'plamini belgilaydi. Misol uchun, u ob'ektga qo'llanilganda, u qiymatni qaytaradi yoki qiymatlarni yangilash uchun ba'zi amallarni bajaradi. Ba'zida usullar uni qaytarmaydi. Agar usul avtomobil uchun yoʻlovchilar sonini yangilashga moʻljallangan boʻlsa, hech qanday qiymat qaytarilmaydi, lekin maqsaddagi maʼlumotlar elementi uni oʻzgartirardi.
Ob'ektlar OODBda asosiy tushunchadir. Asosan, ob'ektlar unda saqlanadigan real dunyo narsalarining mavhum tasviridir. Ob'ekt o'z ta'rifidan chiqarib tashlangan ma'noda sinfning namunasidir.
Ob'ektni uchta qismdan iborat mustaqil paket deb tasavvur qilishingiz mumkin:
- Shaxsiy ma'lumotlar, ma'lumotlar qiymatlari.
- Kinf ta'rifi orqali qiymatlarni boshqaradigan shaxsiy protseduralar.
- Ushbu obyekt boshqalar bilan muloqot qilishi uchun interfeysni oching.
OODB misollar
OODB-dan foydalanish kontseptualizatsiyani soddalashtiradi, chunki saqlanishi kerak bo'lgan ma'lumotlarni taqdim etish tabiiyroqdir. Ma'lumotlar bazasining tuzilishi yoki mantiqini modellashtirish uchun sinf diagrammalaridan foydalanish ularning tarkibiy munosabatlari va merosi bilan sinflarni kiritish imkonini beradi. Dinamikaning bir qismini modellashtirish uchun, o'zaro ta'sir vaob'ektlar orasidagi xatti-harakatlarda vaqtinchalik munosabatda joylashgan ob'ektlar o'rtasidagi o'zaro ta'sirni aks ettirish uchun ketma-ketlik diagrammasi qo'llaniladi, bu hodisa sodir bo'lgandan keyin o'zgartirilgan holatda ularni topish mumkin bo'lgan holatlarni tavsiflaydi.
Obyektga yoʻn altirilgan maʼlumotlar bazasi namunasi quyida koʻrsatilgan.
Ularning nomi va umri bor, ular vaqtinchalik yoki doimiy boʻlishi mumkin. OODB kaliti bu ishlab chiquvchiga qancha tuzilmalar va operatsiyalar qo'llanilishini belgilash qobiliyatidir. Murakkab ma'lumotlar turlarini boshqarish uchun moslashuvchanlik va qo'llab-quvvatlash mavjud. Siz sinflar va kichik sinflarni yaratishingiz mumkin, masalan, mijoz bazasi ushbu mijoz havolasining kichik sinfiga ega bo'lishi mumkin va u asl sinfning barcha atributlari va xususiyatlarini meros qilib oladi, bu yondashuv sizga murakkab ma'lumotlarni tez va moslashuvchan tarzda qayta ishlash imkonini beradi.