Объект хандалтат өгөгдлийн санд (OODB) хэрэглэгчид янз бүрийн төрлийн байж болох объектуудаас бүрдэх, үйлдлүүдийг тохируулсан тодорхой мэдээллийн сан дээр үйлдлүүдийг тохируулах боломжтой. Тэд мультимедиа объект гэх мэт хоёртын мэдээллийг үр дүнтэй зохицуулж чаддаг. OODB-ийн өөр нэг нэмэлт давуу тал бол бүхэл бүтэн системд нөлөөлөхгүйгээр процедурын бага зэргийн ялгаагаар програмчлагдах боломжтой юм.
Стандартыг бий болгох урьдчилсан нөхцөл
Объект хандалтат OODB мэдээллийн сангийн түүх өнгөрсөн зууны сүүлчээс эхэлсэн. Тэд шинэ хэрэглээний хэрэгцээг хангах зорилгоор бүтээгдсэн. Объект хандалтат мэдээллийн сан нь 1990-ээд оны үед програм хангамжийн системд хувьсгал хийнэ гэсэн таамаглал байв. Энэ нь тийм биш гэдэг нь одоо тодорхой болсон. Гэсэн хэдий ч үнэгүй програм хангамжийн нийгэмлэгүүдээр дамжуулан энэхүү үзэл баримтлалыг сэргээж, түүнд тохирсон програмуудыг тодорхойлох нь шинж чанаруудыг хянах сэдэл төрүүлдэг. OODB нь хаа сайгүй байдаг харилцааны мэдээллийн сангийн өөр хувилбар юм.
Объект хандалт нь зарим болон бүх шаардлагыг зохицуулах уян хатан байдлыг хангадаг бөгөөд уламжлалт мэдээллийн сангийн өгөгдлийн төрөл, асуулгын хэлээр хязгаарлагдахгүй. OODB-ийн гол онцлог нь хөгжүүлэгчийг нарийн төвөгтэй объектын бүтэц болон хэрэглээний үйлдлүүдийг хоёуланг нь тодорхойлох боломжийг олгодог чадвар юм. OODB үүсгэх бас нэг шалтгаан нь програм хангамж боловсруулахад зориулж хэл ашиглах өсөн нэмэгдэж буй явдал юм.
Өгөгдлийн сангууд нь олон мэдээллийн системийн үндэс суурь болсон боловч тэдгээрт ханддаг программуудыг C++, Smalltalk эсвэл Java хэл дээр бичсэн тохиолдолд уламжлалт мэдээллийн санг ашиглахад хэцүү байдаг. Жишээлбэл, 1С объект хандалтат мэдээллийн сангууд нь Visual Studio. Net, C ++, C, Microsoft SQL Server болон бусад ойлголтуудыг ашиглан объект хандалтат хэлийг ашиглан програмуудтай шууд нэгтгэх боломжтой байхаар бүтээгдсэн. бусад.
OODB-ийн гол давуу тал нь RMs1 (тодорхойлолт)-ын хэрэгцээг бүрмөсөн арилгаж, дараа нь гүйцэтгэлийг сайжруулсан явдал юм.
Алдаа:
- Маш энгийн зөвлөлдөх механизм, бие даасан стандартыг хүлээн зөвшөөрдөггүй платформ.
- Объектуудад зөвхөн үйлчлүүлэгчээс хандах боломжтой тул процедурыг хадгалах боломжгүй.
- Зах зээл дээр төлөвшөөгүй байна.
- Объектуудын физик бүлэглэл байхгүй.
Объект парадигм
Объект хандалттай өгөгдлийн сангууд нь мөр, багана хуваарилахгүйгээр нарийн төвөгтэй өгөгдөл болон тэдгээрийн харилцааг шууд хадгалдаг программчлагдсан мэдээллийн сан бөгөөд том багцтай ажилладаг программуудад илүү тохиромжтой болгодог. Объектууд нь олон-олон харилцаатай бөгөөд тэдгээртэй холбоотой заагчийг ашиглан харилцаа тогтоох боломжтой. Ямар ч программчлагдах боломжтой нэгэн адил OODB нь програм хөгжүүлэх орчин, ашиглахад бэлэн байнгын агуулахаар хангадаг. Энэ нь объект хэлбэрээр дижитал хэлбэрт оруулах боломжтой мэдээллийг хадгалж, удирдаж, хурдан нэвтрэх боломжийг олгож, боловсруулах маш сайн чадамжийг өгдөг.
Объект хандалтат мэдээллийн санд хэрэглэгддэг үндсэн ойлголтууд:
- объектийн таниулбар;
- үүсгүүрийн төрөл;
- хэлний нийцтэй байдал;
- төрлийн шатлал ба өв залгамжлал;
- нарийн төвөгтэй объектуудыг боловсруулах;
- полиморфизм ба операторын хэт ачаалал;
- хувилбар үүсгэж байна.
Объект хандалтат өгөгдлийн сангийн шинж чанарыг бүх талаас нь авч үзэхийн тулд объектын бүх чухал парадигмуудыг анхаарах нь чухал:
- Encapsulation нь бусад объектын мэдээллийг нуух боломжийг олгодог бөгөөд ингэснээр буруу хандалт, зөрчилдөөнөөс сэргийлдэг.
- Удамшил гэдэг нь ангиллын шатлал дахь зан төлөвийг удамшуулах шинж чанар юм.
- Полиморфизм нь үйл ажиллагааны шинж чанар бөгөөд үүнийг ашиглаж болноөөр төрлийн объект.
- Үйлдлийн интерфейс эсвэл гарын үсэг нь түүний аргумент эсвэл параметрийн нэр, өгөгдлийн төрлийг агуулдаг.
- Үйлдлийн хэрэгжилт эсвэл аргыг тусад нь зааж өгсөн бөгөөд интерфэйсэд нөлөөлөхгүйгээр өөрчлөх боломжтой. Хэрэглэгчийн программууд хэрхэн хэрэгжсэнээс үл хамааран тодорхой үйлдлүүдийг нэр, аргументаар нь дуудаж өгөгдөлтэй ажиллах боломжтой.
Ангиуд болон функцууд
OODB-д ангиудын тухай ойлголтыг авч үзэхдээ "анги" ба "төрөл" гэсэн ойлголтуудыг ялгах шаардлагатай. Төрөл нь ижил төстэй үйлдэлтэй объектуудын багцыг тодорхойлоход хэрэглэгддэг. Энэ утгаараа тухайн объект дээр ямар үйлдлийг дуудаж болохоос хамаарна. Анги гэдэг нь ижил дотоод бүтцийг хуваалцдаг объектуудын цуглуулга тул хэрэгжилтийг тодорхойлдог бол төрөл нь үүнийг хэрхэн ашиглахыг тодорхойлдог.
Instantiation гэдэг нэр томьёо нь тухайн ангиудын тохируулсан бүтэц, үйлдэлтэй ижил төстэй объектуудын багцыг үйлдвэрлэхэд ашиглаж болохыг хэлнэ.
Объектуудын хувьсалд маш чухал ач холбогдолтой онцлог нь тухайн шинж чанар, үйлдлүүдийг багтаасан ангиллыг өөрчлөхийн зэрэгцээ таних чанарыг хадгалах боломжтой юм. Үүний үр дүнд үүссэн семантик бүрэн бүтэн байдлыг зохицуулах механизм шаардлагатай.
Байгууллагын объект хандалтат мэдээллийн санг өвлөн авах нь тухайн ангийг аль хэдийн байгаа супер ангийн дэд анги гэж тодорхойлох боломжийг олгодог. Энэ нь сүүлийнхээс бүх шинж чанар, аргуудыг өвлөн авах бөгөөд сонголтоор тодорхойлж болноэзэмшдэг. Энэ үзэл баримтлал нь дахин ашиглахыг дэмжих чухал механизм юм. Хоёр өөр ангийн бүтцийн ижил хэсгүүдийг нийтлэг дээд ангид зөвхөн нэг удаа тодорхойлж болох тул бага код бичих болно. Анги нь нэгээс олон супер ангийн дэд анги байхыг зөвшөөрдөг зарим системүүд байдаг. Энэ функцийг дан удамшлын эсрэг олон удамшил гэж нэрлэдэг.
Объект хандалтат мэдээллийн сангийн жишээ
Зураг болон видео ангиас медиа супер ангийн өөр өөр боловч ижил төстэй аргуудад ижил нэр ашиглах нь ихэвчлэн ашигтай байдаг. Олон файлыг өөр өөр үзэгчид үзэж болно. Тэд ихэвчлэн "харах" аргыг ашиглан бүх зураг, видеог үзэх шаардлагатай байдаг бөгөөд тохирох програмыг ажиллуулах ёстой. Функцийг дуудаж, видеоны холбоосыг дамжуулахад медиа тоглуулагчийг ажиллуулна. Энэ функцийг хэрэгжүүлэхийн тулд юуны түрүүнд зураг, видео ангиудаас нийтлэг медиа супер класс дахь "танилцуулга" үйлдлийг тодорхойлох шаардлагатай. Дэд анги бүр нь өөрсдийн хэрэгцээнд зориулан хайх ажиллагааг дахин тодорхойлдог. Үүний үр дүнд ижил үйлдлийн нэртэй өөр өөр аргууд гарч ирдэг. Энэ тохиолдолд энэ функцийг ашиглах нь чухал давуу талтай.
OODB бүтэц
Объект хандалтат парадигм нь объект тус бүртэй холбоотой өгөгдөл, кодыг нэг модульд багтаахад суурилдаг. Үзэл баримтлалын хувьд түүний болон бусад системийн хоорондох бүх харилцан үйлчлэл нь мессежийг ашиглан хийгддэг. Тиймээс интерфейстэдгээрийн хоорондохыг зөвшөөрөгдсөн багцаар тодорхойлно.
Ер нь объект бүр багцтай холбоотой байдаг:
- Объект өгөгдөл агуулсан, ER загварын шинж чанаруудтай тохирох хувьсагч.
- Түүний хариулдаг мессежүүд. Тус бүр нь нэг буюу хэд хэдэн параметртэй байж болно, үгүй ч байж болно.
- Арга тус бүр нь мессежийг хэрэгжүүлдэг код бөгөөд үүний хариуд утгыг буцаадаг.
OO орчинд мессеж илгээх нь компьютерийн сүлжээнд физик SMS ашиглах гэсэн үг биш юм. Үүний эсрэгээр, энэ нь тэдгээрийн хэрэгжилтийн зөв нарийн ширийнийг үл харгалзан объектуудын хооронд хүсэлт солилцохыг хэлнэ. Заримдаа илэрхийлэл нь тухайн объект руу мессеж илгээгдсэнийг өдөөх аргыг дуудаж, харгалзах аргын гүйцэтгэлийг ашигладаг.
Объектийн таниулбар
Объект хандалтат мэдээллийн сангийн систем нь мэдээллийн санд хадгалагдсан бие даасан объект бүрийн өвөрмөц таних боломжийг олгодог. Энэ нь ихэвчлэн системээр үүсгэгдсэн өвөрмөц объект танигч эсвэл OID ашиглан хэрэгждэг. OID утга нь гадны хэрэглэгчдэд үл үзэгдэх боловч систем нь үүнийг дотооддоо объект хоорондын холбоосыг удирдахад ашигладаг.
OID-ийн гол шинж чанар нь хувиршгүй байх явдал юм. Тухайн объектын OID утга хэзээ ч өөрчлөгдөх ёсгүй. Энэ нь төлөөлж буй бодит ертөнцийн өвөрмөц байдлыг хадгалдаг. Мөн OID бүрийг зөвхөн нэг удаа ашиглахыг илүүд үздэг бөгөөд мэдээллийн сангаас устгасан байсан ч түүний OID-г өөр хүнд оноож болохгүй. Түүнчлэн үүнийг физик дээр үндэслэх нь зохисгүй гэж үздэгхадгалах объектын хаяг, учир нь тэдгээрийг мэдээллийн санд дахин зохион байгуулах нь OID-г өөрчлөх боломжтой. Гэсэн хэдий ч зарим системүүд объектуудыг татаж авах үр ашгийг нэмэгдүүлэхийн тулд физик хаягийг OID болгон ашигладаг. Объект хандалтат хүрээ нь харилцааны хязгаарлалтыг автоматаар тогтоодог бөгөөд ихэвчлэн илүү хамааралтай байдаг: домэйн, түлхүүр, объектын бүрэн бүтэн байдал, лавлагааны бүрэн бүтэн байдал.
Гурван үндсэн бүтээгч
OODB-д тодорхой төрлийн бүтээгчийг ашиглан нийлмэл объектын утгууд эсвэл төлөвийг бусдаас үүсгэж болно. Тэдгээрийг төлөөлөх нэг арга бол тус бүрийг гурвалсан (i, c, v) гэж үзэх явдал бөгөөд i нь объектын өвөрмөц танигч (OID), c нь бүтээгч, өөрөөр хэлбэл тухайн объектын үнэ цэнэ хэрхэн байгааг харуулсан заагч юм. үүсгэсэн ба v нь объектын утга эсвэл төлөв юм. Өгөгдлийн загвар болон OO системээс хамааран олон бүтээгч байж болно.
Гурван үндсэн объект хандалтат мэдээллийн сан бүтээгч:
- атом;
- tuples;
- багц.
Бусад түгээмэл хэрэглээ бол жагсаалт болон график юм. Мөн систем дээр шууд ашиглах боломжтой бүх үндсэн атомын утгыг агуулсан D домэйн байдаг. Эдгээрт ерөнхийдөө бүхэл тоо, бодит тоо, тэмдэгтийн мөр, огноо болон систем шууд зохицуулдаг бусад төрлийн өгөгдөл орно. Объектуудын бүтэц болон үйлдлийн аль алиныг нь ангийн тодорхойлолтод оруулсан болно.
Програмчлалын хэлтэй нийцтэй байх
Объект хандалтат мэдээллийн сангийн үндсэн ойлголтуудыг ашигладагдизайны хэрэгсэл болгон, мэдээллийн сантай ажиллахаар кодчилсон.
Эдгээр ойлголтыг нэгтгэж болох хэд хэдэн боломжит хэлүүд байдаг:
- Нарийн төвөгтэй төрлүүд болон OOP нэмснээр SQL гэх мэт өгөгдөл боловсруулах хэлийг өргөжүүлж байна. Системүүд нь объект хандалтат харилцааны систем гэж нэрлэгддэг харилцааны системүүдэд объект хандалтат өргөтгөлүүдийг өгдөг.
- Одоо байгаа объект хандалтат програмчлалын хэлийг ашиглаж, өгөгдлийн сантай ажиллахад өргөтгөх. Тэдгээрийг байнгын програмчлалын хэл гэж нэрлэдэг бөгөөд хөгжүүлэгчид SQL гэх мэт өгөгдөл боловсруулах хэлээр дамжихгүйгээр өгөгдөлтэй шууд ажиллах боломжийг олгодог. Өгөгдөл нь үүсгэсэн программ дууссаны дараа ч байсаар байдаг тул тэдгээрийг байнгын гэж нэрлэдэг.
Аль хувилбарыг ашиглахаа шийдэхдээ байнгын хэлүүд хүчирхэг байх хандлагатай байдаг ба мэдээллийн санг гэмтээж програмчлалын алдаа гаргах нь харьцангуй амархан гэдгийг санаарай. Хэлний нарийн төвөгтэй байдал нь дискний оролт гаралтыг багасгах гэх мэт өндөр түвшний автомат оновчтой болгоход хэцүү болгодог. Олон программуудад мэдүүлгийн асуулга хийх чадвар чухал боловч байнгын хэлүүд одоогоор ийм асуулга явуулахыг асуудалгүйгээр зөвшөөрдөггүй.
Удамшлын төрлүүдийн шатлал
Объект хандалтат мэдээллийн сангийн схем нь ихэвчлэн олон тооны анги шаарддаг. Гэсэн хэдий ч хэд хэдэн ангиуд бие биетэйгээ төстэй байдаг. Тэдгээрийн ижил төстэй байдлыг шууд дүрслэхийн тулд та дараахийг оруулах хэрэгтэй.тэдгээрийг мэргэшлийн шатлалд хуваадаг. Энэ үзэл баримтлал нь ER загвартай төстэй юм. Ангийн мэргэшлийг дэд анги гэж нэрлэдэг бөгөөд тэдгээр нь одоо байгаа ангийн нэмэлт шинж чанар, аргуудыг тодорхойлдог. Дэд ангиудтай үүсгэсэн объектууд нь эцэг эхээс бүх зүйлийг өвлөн авдаг. Эдгээр удамшсан шинж чанаруудын зарим нь шатлалын дээд түвшний хүмүүсээс зээлж авсан байж магадгүй.
Объектууд нь их хэмжээний хадгалах зай шаарддаг бөгөөд Объект хандалтат мэдээллийн сангийн менежментийн (OODBS) ихэвчлэн санал болгодог стандарт өгөгдлийн төрлүүдийн нэг хэсэг биш учраас нарийн төвөгтэй гэж үздэг. Объектуудын хэмжээ ихээхэн ач холбогдолтой байдаг тул SOOBMS нь объектын нэг хэсгийг хүлээн авч, объектыг бүхэлд нь авахын өмнө програмд хэрэглэж болно. Энэ нь мөн объектын зарим хэсгийг програмд хандахаас өмнө урьдчилан авахын тулд буфер болон кэш аргуудыг ашиглах боломжтой.
OODB нь хэрэглэгчдэд бүтэц, үйл ажиллагааны аль алиныг нь багтаасан шинэ төрлүүдийг, энэ тохиолдолд өргөтгөх боломжтой төрлийн системийг бий болгох боломжийг олгодог. Та тэдгээрийн бүтэц, үйл ажиллагааг тодорхойлсноор шинэ төрлийн номын санг үүсгэж болно. Тэдгээрийн олонх нь том бүтэцтэй объектыг мөр, тэмдэгт эсвэл бит хэлбэрээр хадгалах ба хүлээн авах боломжтой бөгөөд үүнийг "байгаагаар нь" хэрэглүүрийн программд тайлбарлахаар дамжуулдаг.
Арга нь эх ангиас удамшсан зорилтот объектын шинж чанаруудад нэрээр нь шууд хандах боломжтой боловч хоёрдогч дохиогоор бусад объектын шинж чанаруудад хандах ёстой. Энэхүү үзэл баримтлал нь ижил операторын нэр эсвэл тэмдгийг холбох боломжийг олгодогхамаарах объектын төрлөөс хамааран хоёр ба түүнээс дээш өөр хэрэгжүүлэлт.
Барилгын програмууд
ООО систем ашигладаг өгөгдлийн сангийн олон програмууд нэг объектын олон хувилбарыг шаарддаг. Ерөнхийдөө засвар үйлчилгээний үйл ажиллагаа нь програм хангамжийн системд тавигдах шаардлага өөрчлөгдөхөд хэрэглэгдэж, хөгжүүлэлт, хэрэгжүүлэх модулиудын заримыг өөрчлөхтэй холбоотой байдаг. Хэрэв систем аль хэдийн ажиллаж байгаа бөгөөд нэг буюу хэд хэдэн модулийг өөрчлөх шаардлагатай бол хөгжүүлэгч өөрчлөлт хийх замаар тэдгээрийн шинэ хувилбарыг үүсгэх ёстой.
Эх модуль дээр хоёроос дээш хувилбар шаардлагатай бол объектын хоёроос олон хувилбар байж болохыг анхаарна уу. Ижил програм хангамжийн модулийн өөрийн хувилбаруудыг нэгэн зэрэг шинэчилж болно. Үүнийг зэрэгцээ объект хандалтат өгөгдлийн сангийн дизайн гэж нэрлэдэг. Гэсэн хэдий ч эрлийз OODB-д хийсэн өөрчлөлтүүдийг нэгтгэхийн тулд тэдгээрийг нэгтгэх шаардлагатай үе үргэлж ирдэг.
Объект хандалттай нөхцөл
Бүх компьютерийн системүүд өөрсдийн архитектурын шинж чанартай байх ёстой. Жишээлбэл, систем нь харилцаа холбоо гэж үзэхийн тулд хүснэгттэй байх ёстой. OODB нь үл хамаарах зүйл биш бөгөөд объектын архитектурын зарим үндсэн шинж чанаруудыг агуулдаг. Гэсэн хэдий ч бодит ертөнцөд эдгээр шинж чанаруудын ихэнхийг хэлэлцдэг бөгөөд олон удамшил гэх мэт заримыг нь объект хандалтат өгөгдлийн сангийн загварыг сайжруулсан гэж үздэг.суурь шугамын нэг хэсэг болгон. Жишээ нь, Smalltalk-н объект хандалтат хэл дээр олон удамшлыг объектын архитектурын нэг хэсэг гэж үзсэн ч дэмждэггүй.
Ангид зориулсан аргууд нь объект дээр гүйцэтгэж болох үйлдлүүдийн багцыг тодорхойлдог. Жишээлбэл, энэ нь объектод хэрэглэгдэх үед утгыг буцаадаг эсвэл утгыг шинэчлэхийн тулд зарим үйлдлийг гүйцэтгэдэг. Заримдаа аргууд нь буцааж өгдөггүй. Хэрэв уг арга нь тээврийн хэрэгслийн зорчигчдын тоог шинэчлэх зорилготой байсан бол ямар ч утга буцаагдахгүй, харин зорилтот өгөгдлийн элемент үүнийг өөрчлөх болно.
Объектууд нь OODB-ийн үндсэн ойлголт юм. Үндсэндээ объектууд нь түүнд хадгалагдаж буй бодит ертөнцийн хийсвэр дүрслэл юм. Объект нь түүний тодорхойлолтоос хасагдсан утгаараа ангийн жишээ юм.
Та объектыг гурван хэсгээс бүрдсэн бие даасан багц гэж ойлгож болно:
- Өөрийн хувийн мэдээлэл, өгөгдлийн үнэ цэнэ.
- Ангийн тодорхойлолтоор дамжуулан утгыг өөрчлөх хувийн процедур.
- Энэ объект бусадтай харилцах боломжтой интерфэйсийг нээнэ үү.
OODB жишээ
Хадгалах шаардлагатай мэдээллийг төлөөлөх нь илүү зүй ёсны учраас OODB ашиглах нь ойлголтыг хялбаршуулдаг. Өгөгдлийн сангийн бүтэц, логикийг загварчлахын тулд ангиллын диаграммыг ашиглах нь тэдгээрийн бүтцийн хамаарал, удамшил бүхий ангиудыг нэвтрүүлэх боломжийг олгодог. Динамикийн нэг хэсгийг загварчлахын тулд харилцан үйлчлэл баОбъектуудын хоорондын зан төлөвийн хувьд, түр зуурын харилцаанд байрлах объектуудын хоорондын харилцан үйлчлэлийг харуулахын тулд дарааллын диаграммыг ашиглан, үйл явдал тохиолдсоны дараа өөрчлөгдсөн төлөвийг олж мэдэхийн тулд боломжит төлөвүүдийг дүрсэлсэн болно.
Объект хандалтат мэдээллийн сангийн жишээг доор үзүүлэв.
Тэд нэр болон насан туршдаа түр зуурын болон байнгын байж болно. OODB түлхүүр нь хөгжүүлэгчид хичнээн бүтэц, үйлдлийг ашиглахыг зааж өгөх чадвар юм. Нарийн төвөгтэй өгөгдлийн төрлүүдийг зохицуулах уян хатан байдал, дэмжлэг байдаг. Та анги болон дэд анги үүсгэж болно, жишээлбэл, үйлчлүүлэгчийн баазад энэ клиентийн холбоосын дэд анги байж болох бөгөөд энэ нь анхны ангийн бүх шинж чанар, шинж чанарыг өвлөн авах бөгөөд энэ арга нь нарийн төвөгтэй өгөгдлийг хурдан, уян хатан боловсруулах боломжийг танд олгоно.