Объектке багытталган маалымат базалары: түшүнүк, негизги түшүнүктөр, башкаруу, мисалдар

Мазмуну:

Объектке багытталган маалымат базалары: түшүнүк, негизги түшүнүктөр, башкаруу, мисалдар
Объектке багытталган маалымат базалары: түшүнүк, негизги түшүнүктөр, башкаруу, мисалдар
Anonim

Объектке багытталган маалымат базаларында (OODB) колдонуучулар ар кандай типтеги объекттерден турган жана операциялар коюлган белгилүү бир маалымат базасына операцияларды орното алышат. Алар мультимедиялык объекттер сыяктуу бинардык маалыматты эффективдүү иштете алышат. OODBдин дагы бир кошумча артыкчылыгы - аны бүтүндөй системага таасирин тийгизбестен бир аз процедуралык айырмачылыктар менен программалоого болот.

Стандартты түзүү үчүн шарттар

Объектке багытталган OODB маалымат базаларынын тарыхы өткөн кылымдын аягында башталат. Алар жаңы колдонмолордун муктаждыктарын канааттандыруу үчүн түзүлгөн. Объектке багытталган маалымат базалары 1990-жылдары программалык камсыздоо тутумдарын өзгөртөт деген божомол болгон. Эми андай эмес экени айкын болду. Бирок, бул концепцияны эркин программалык камсыздоо жамааттары аркылуу кайра жаратуу жана ага ылайыктуу тиркемелерди аныктоо мүнөздөмөлөрдү карап чыгууга түрткү берет. OODB, бул бардык жерде болгон реляциялык маалымат базаларына альтернатива.

Стандартты түзүүнүн өбөлгөлөрү
Стандартты түзүүнүн өбөлгөлөрү

Объектке багытталган талаптардын айрымдарын же баарын аткарууга ийкемдүүлүктү камсыз кылат жана салттуу маалымат базаларынын маалымат түрлөрү жана суроо тилдери менен чектелбейт. OODBs негизги өзгөчөлүгү, алар татаал объектилердин түзүмүн жана колдонмо операцияларды көрсөтүүгө мүмкүндүк берет иштеп чыгуучуга камсыз кылуу жөндөмдүүлүгү болуп саналат. OODB түзүүнүн дагы бир себеби программалык камсыздоону иштеп чыгуу үчүн тилдерди колдонуунун өсүшү болуп саналат.

Маалымат базалары көптөгөн маалымат системаларынын негизи болуп калды, бирок салттуу маалымат базаларын аларга кире алган тиркемелер C++, Smalltalk же Java тилдеринде жазылганда колдонуу кыйын. Мисалы, 1С объектиге багытталган маалымат базалары объектиге багытталган тилдерди колдонуу менен тиркемелер менен түздөн-түз интеграциялана тургандай кылып иштелип чыккан: Visual Studio. Net, C ++, C, Microsoft SQL Server жана башкалар.

OODB'нин негизги артыкчылыгы - бул RMs1 (тоскоолдук) муктаждыгын толугу менен жок кылуу, андан кийин иштөөсүн жакшыртуу.

OODB негизги артыкчылыгы
OODB негизги артыкчылыгы

Кемчиликтер:

  1. Абдан примитивдүү консультация механизмдери, өзүн-өзү стандарттуу кабыл алган платформа жок.
  2. Процедураларды сактоо мүмкүн эмес, анткени объекттерге кардарда гана кирүүгө болот.
  3. Рынокто жетилбегендик.
  4. Объекттердин физикалык топтору жок.

Объект парадигмасы

Объект парадигмасы
Объект парадигмасы

Объектке багытталган маалымат базалары татаал маалыматтарды жана анын мамилелерин саптарды жана мамычаларды дайындабастан түз сактаган программалануучу маалымат базалары болуп саналат, бул аларды чоң партиялар менен иштеген колдонмолор үчүн ылайыктуураак кылат. Объекттердин көптөн көпкө байланышы бар жана мамилелерди түзүү үчүн алар менен байланышкан көрсөткүчтөрдү колдонуу аркылуу жеткиликтүү болот. Ар кандай программалануучу сыяктуу, OODB тиркемени иштеп чыгуу чөйрөсүн жана эксплуатацияга даяр туруктуу репозиторийди камсыз кылат. Ал объекттер түрүндө санариптештирүү мүмкүн болгон маалыматты сактайт жана манипуляциялайт, тез жетүүнү камсыз кылат жана мыкты иштетүү мүмкүнчүлүктөрүн камсыз кылат.

Объектке багытталган маалымат базасында колдонулган негизги түшүнүктөр:

  • объекттин идентификациясы;
  • конструктор түрү;
  • тилге шайкештик;
  • тип иерархиялары жана мурастоо;
  • татаал объекттерди иштетүү;
  • полиморфизм жана оператордун ашыкча жүктөлүшү;
  • версиялар түзүлүүдө.
Версиялоо
Версиялоо

Объектке багытталган маалымат базасын мүнөздөгөн бардык аспектилерди толугу менен карап чыгуу үчүн объекттин бардык маанилүү парадигмаларын белгилеп кетүү маанилүү:

  1. Инкапсуляция – бул башка объекттер үчүн маалыматты жашырууга мүмкүндүк берүүчү касиет, муну менен туура эмес кирүү же чыр-чатактар алдын алат.
  2. Мурас – бул класс иерархиясындагы жүрүм-турумду мурастап турган объект.
  3. Полиморфизм – операциянын касиети, аны колдонууга болотобъекттердин ар кандай түрлөрү.
  4. Операциянын интерфейси же кол тамгасы анын аргументтеринин же параметрлеринин аталышын жана маалымат түрлөрүн камтыйт.
  5. Операциянын ишке ашырылышы же ыкмасы өзүнчө көрсөтүлөт жана интерфейске таасирин тийгизбестен өзгөртүлүшү мүмкүн. Колдонуучу колдонмолору, алар кандайча ишке ашырылганына карабастан, алардын аттары жана аргументтери аркылуу көрсөтүлгөн операцияларды чакырып, дайындар менен иштей алат.

Кластар жана функциялар

Класстар жана функциялар
Класстар жана функциялар

OODBде класстар түшүнүгүн кароодо «класс» жана «тип» терминдерин айырмалоо зарыл. Түрү окшош жүрүм-туруму бар объекттердин жыйындысын сүрөттөө үчүн колдонулат. Бул жагынан алганда, бул объектке кандай операцияларды чакырууга болот көз каранды. Класс - бул ички структурасы бирдей болгон объекттердин жыйындысы, ошондуктан ал ишке ашырууну аныктайт, ал эми түрү аны кантип колдонууну сүрөттөйт.

Инстанция термини класстын инстанциясы класс орноткондой структурага жана жүрүм-турумга ээ болгон объекттердин жыйындысын өндүрүү үчүн колдонулушу мүмкүн экенин билдирет.

Объекттердин эволюциясы үчүн абдан маанилүү өзгөчөлүк – бул анын классын, анын ичинде атрибуттарды жана операцияларды өзгөртө алат, ошол эле учурда иденттүүлүгүн сактайт. Бул пайда болгон семантикалык бүтүндүктү иштетүү үчүн механизмди талап кылат.

Уюмдун объектиге багытталган маалымат базасын мурастоо классты мурунтан эле бар суперкласстын субклассы катары аныктоого мүмкүндүк берет. Ал акыркыдан бардык атрибуттарды жана ыкмаларды мурастап алат жана ыктыярдуу түрдө аныктай алатменчик. Бул концепция кайра колдонууну колдоонун маанилүү механизми болуп саналат. Эки башка класстын структурасынын бирдей бөлүктөрүн жалпы суперкласста бир гана жолу аныктоого болот, ошондуктан азыраак код жазылат. Класс бирден ашык суперкласстын субклассы болууга мүмкүндүк берген кээ бир системалар бар. Бул өзгөчөлүк жалгыз мураска караганда бир нече мурас деп аталат.

Объектке багытталган маалымат базасынын мисалы

Сүрөт жана видео класстарындагы медиа суперклассынын ар кандай, бирок окшош ыкмалары үчүн бир эле атты колдонуу көбүнчө пайдалуу. Көптөгөн файлдарды ар кандай көрүүчүлөр көрө алышат. Алар көбүнчө "көрүү" ыкмасын колдонуу менен бардык сүрөттөрдү жана видеолорду көрүү керек, жана тиешелүү программаны ишке киргизүү керек. Функция чакырылып, видеого шилтеме берилгенде, медиа ойноткуч ишке киргизилет. Бул функцияны ишке ашыруу үчүн, биринчиден, жалпы медиа суперклассындагы "презентация" операциясын сүрөт жана видео класстардан аныктоо керек. Класстардын ар бири өзгөчө муктаждыктары үчүн издөө операциясын кайра аныктайт. Мунун натыйжасында бир эле операция аты бар ар кандай ыкмалар пайда болот. Бул учурда бул функцияны колдонуу маанилүү артыкчылыкка ээ.

OODB түзүмү

OODB түзүмү
OODB түзүмү

Объектке багытталган парадигма ар бир объектке тиешелүү маалыматтарды жана кодду бир модулда инкапсуляциялоого негизделген. Концептуалдык жактан алганда, анын жана калган системанын ортосундагы бардык өз ара байланыштар билдирүүлөр аркылуу ишке ашырылат. Демек, интерфейсалардын ортосундагы уруксат берилген топтом менен аныкталат.

Жалпысынан, ар бир объект топтом менен байланышкан:

  1. Объект дайындарын камтыган жана ER моделинин атрибуттарына туура келген өзгөрмөлөр.
  2. Ал жооп берген билдирүүлөр. Ар биринде бир же бир нече параметр болушу мүмкүн же болбошу мүмкүн.
  3. Усулдар, алардын ар бири билдирүүлөрдү ишке ашыруучу код жана ага жооп катары маанини кайтарат.

OO чөйрөсүндөгү билдирүүлөр компьютердик тармактарда физикалык SMS колдонууну билдирбейт. Тескерисинче, алардын аткарылышынын туура деталдарына карабастан, объектилердин ортосундагы суроо-талаптарды алмашууну билдирет. Кээде туюнтма билдирүүнүн объектке жөнөтүлгөнүн ишке ашыруу үчүн ыкманы чакырат жана тиешелүү ыкманын аткарылышын колдонот.

Объекттин идентификациясы

Объекттин идентификациясы
Объекттин идентификациясы

Объектке багытталган маалымат базасы системасы маалымат базасында сакталган ар бир көз карандысыз объект үчүн уникалдуу идентификацияны камсыз кылат. Ал, адатта, система тарабынан түзүлгөн уникалдуу объект идентификаторун же OIDди колдонуу менен ишке ашырылат. OID мааниси тышкы колдонуучуга көрүнбөйт, бирок система аны объекттер ортосундагы байланыштарды башкаруу үчүн ичтен колдонот.

OIDдин негизги касиети өзгөрүлбөс болуу. Белгилүү бир объект үчүн OID мааниси эч качан өзгөрбөшү керек. Бул көрсөтүлүп жаткан реалдуу дүйнөнүн инсандыгын сактайт. Ошондой эле ар бир OID бир гана жолу колдонулганы жакшы, ал маалымат базасынан алынып салынган күндө да, анын OID башкасына ыйгарылбашы керек. Ошондой эле көп учурда физикалык негиздер туура эмес деп эсептелетсакталуучу объекттин дареги, анткени аларды маалымат базасында кайра уюштуруу OIDди өзгөртө алат. Бирок, кээ бир системалар объекттерди алууда эффективдүүлүктү жогорулатуу үчүн физикалык даректи OID катары колдонушат. Объектке багытталган алкак автоматтык түрдө реляциялык чектөөлөрдү киргизет, адатта көбүрөөк колдонулат: домен, ачкыч, объекттин бүтүндүгү жана шилтеме бүтүндүгү.

Үч негизги конструктор

Үч негизги конструктор
Үч негизги конструктор

OODBде татаал объекттердин баалуулуктары же абалы белгилүү типтеги конструкторлорду колдонуу менен башкалардан түзүлүшү мүмкүн. Аларды көрсөтүүнүн бир жолу - ар бирин триплет (i, c, v) катары кароо, мында i - объекттин уникалдуу идентификатору (OID), c - конструктор, башкача айтканда, объекттин маанисинин көрсөткүчү. түзүлгөн, жана v - объекттин мааниси же абалы. Маалымат моделине жана OO системасына жараша бир нече конструктор болушу мүмкүн.

Үч негизги объектке багытталган маалымат базасын куруучу:

  • атомдор;
  • кортеждер;
  • топтомдор.

Башка кеңири колдонулуучу тизмелер жана диаграммалар. Ошондой эле системада түз жеткиликтүү бардык негизги атомдук баалуулуктарды камтыган D домени бар. Алар, адатта, бүтүн сандарды, чыныгы сандарды, символдук саптарды, даталарды жана система түз иштеткен башка маалыматтардын түрүн камтыйт. Объекттердин түзүмү да, операциялар да класс аныктамаларына камтылган.

Программалоо тилдери менен шайкештик

Объектке багытталган маалымат базаларынын негизги түшүнүктөрү колдонулатдизайн куралдары катары жана маалымат базасы менен иштөө үчүн коддолгон.

Бул түшүнүктөрдү бириктирүү мүмкүн болгон бир нече тилдер бар:

  1. Татаал типтерди жана OOP кошуу менен SQL сыяктуу маалыматтарды иштетүү үчүн тилди кеңейтүү. Системалар объектиге багытталган реляциялык системалар деп аталган реляциялык системалардын объектиге багытталган кеңейтүүлөрүн камсыздайт.
  2. Учурдагы объектке багытталган программалоо тилин колдонуу жана аны маалымат базалары менен иштөө үчүн кеңейтүү. Алар туруктуу программалоо тилдери деп аталат жана иштеп чыгуучуларга SQL сыяктуу маалыматтарды иштетүү тилинен өтпөстөн, түз маалыматтар менен иштөөгө мүмкүндүк берет. Алар туруктуу деп аталат, анткени дайындар аны түзгөн программа аяктагандан кийин дагы бар.

Кайсы опцияны колдонууну чечип жатканда, туруктуу тилдер күчтүү болоорун жана маалымат базасына зыян келтирүүчү программалоо каталарын жасоо салыштырмалуу оңой экенин эстен чыгарбаңыз. Тилдердин татаалдыгы дисктин киргизүү/чыгарылышын азайтуу сыяктуу жогорку деңгээлдеги автоматтык оптималдаштырууну кыйындатат. Көптөгөн тиркемелерде декларативдик сурамдарды жасоо жөндөмдүүлүгү маанилүү, бирок туруктуу тилдер учурда мындай сурамдарга көйгөйсүз жол бербейт.

Мурас түрлөрүнүн иерархиясы

Объектке багытталган маалымат базасынын схемалары, адатта, көп сандагы класстарды талап кылат. Бирок, бир нече класстар бири-бирине окшош. Алардын ортосундагы окшоштуктарды түз көрсөтүүгө мүмкүндүк берүү үчүн, сизаларды адистиктердин иерархиясына. Бул концепция ER моделдерине окшош. Класс адистештирилген класстар деп аталат, алар учурдагы класс үчүн кошумча атрибуттарды жана методдорду аныктайт. Субкласстар менен түзүлгөн объекттер ата-энеден бардыгын мурастайт. Бул тукум кууп өткөн өзгөчөлүктөрдүн айрымдары иерархияда жогору тургандардан алынган болушу мүмкүн.

Объекттер татаал деп эсептелет, анткени алар чоң көлөмдөгү сактоо мейкиндигин талап кылат жана Объектке багытталган берилиштер базасын башкаруу (OODBS) адатта сунуштаган стандарттуу маалымат түрлөрүнө кирбейт. Объекттердин өлчөмү олуттуу болгондуктан, SOOBMS объекттин бир бөлүгүн кабыл алып, бүт объектти алуудан мурун аны тиркемеге бере алат. Ал ошондой эле буфер жана кэш ыкмаларын колдонуп, объекттин бөлүктөрүн колдонмо аларга кире алганга чейин алдын ала алат.

OODB колдонуучуларга түзүмүн да, операцияларын да камтыган жаңы типтерди түзүүгө мүмкүндүк берет, бул учурда кеңейтилүүчү тип системасы. Жаңы типтеги китепканаларды түзө аласыз, алардын түзүмүн жана операцияларын аныктоо. Алардын көбү саптар жана символдор же бит түрүндөгү чоң структураланган объектти сактап жана кабыл ала алышат, алар чечмелөө үчүн колдонмо программасына "кандай болсо, ошондой" өткөрүлөт.

Метод максаттуу объекттин атрибуттарына аты боюнча түздөн-түз кире алат, анын ичинде ата-эне класстардан мураска алынган, бирок экинчилик сигналдары менен башка объекттердин атрибуттарына кирүү керек. Концепция бир эле оператордун атын же символун байланыштырууга мүмкүндүк беретобъекттердин түрүнө жараша анын эки же андан көп түрдүү ишке ашырылышы.

Курулуш колдонмолору

Колдонмо түзүү
Колдонмо түзүү

ООО системаларын колдонгон көп маалымат базасы колдонмолору бир эле объекттин бир нече версиясын талап кылат. Адатта, тейлөө иш-чаралары программалык камсыздоо тутумуна алардын талаптары өзгөргөн сайын колдонулат жана кээ бир иштеп чыгуу жана ишке ашыруу модулдарын өзгөртүүнү камтыйт. Эгер система мурунтан эле иштеп жатса жана бир же бир нече модулду өзгөртүү керек болсо, иштеп чыгуучу өзгөртүүлөрдү киргизүү менен алардын ар биринин жаңы версиясын түзүшү керек.

Объекттин экиден ашык версиясы болушу мүмкүн экенин эске алыңыз, эгер баштапкы модулга кошумча эки версия талап кылынса. Бир эле программалык модулдун өз версиялары бир эле учурда жаңыртылышы мүмкүн. Бул параллелдүү объектке багытталган маалымат базасынын дизайны деп аталат. Бирок, гибриддик OODB киргизилген өзгөртүүлөр бири-бирине шайкеш келиши үчүн аларды бириктирүү керек болгон учур дайыма келет.

Объектке багытталган шарттар

Бардык компьютер тутумдары каралышы үчүн алардын архитектурасынын касиеттерине ээ болушу керек. Мисалы, системада реляциялык деп эсептелген таблицалар болушу керек. OODB өзгөчө эмес жана объектинин архитектурасынын кээ бир негизги касиеттерин камтыйт. Бирок, реалдуу дүйнөдө бул касиеттердин көбү талкууланат жана кээ бирлери, мисалы, бир нече тукум куучулук сыяктуу, объектке багытталган маалымат базасынын моделин өркүндөтүү катары каралат.базалык бөлүгү катары. Мисалы, Smalltalk объектиге багытталган тилинде, объект архитектурасынын бир бөлүгү катары каралса да, көп мурастоо колдоого алынбайт.

Класс үчүн методдор объектте аткарыла турган операциялардын жыйындысын аныктайт. Мисалы, ал объектке колдонулганда, ал маанини кайтарат же маанилерди жаңыртуу үчүн кандайдыр бир операцияны аткарат. Кээде ыкмалар аны кайтарып бербейт. Эгер ыкма унаанын жүргүнчүлөрүнүн санын жаңыртуу үчүн иштелип чыккан болсо, эч кандай маани кайтарылбайт, бирок максаттагы маалымат элементи аны өзгөртмөк.

Объекттер OODBдеги негизги түшүнүк. Негизинен, объекттер анда сакталган реалдуу дүйнө нерселердин абстракттуу өкүлчүлүгү болуп саналат. Объект класстын анын аныктамасынан алынып салынган мисалы.

Сиз объектти үч бөлүктөн турган өз алдынча топтом деп ойлосоңуз болот:

  1. Жеке маалымат, маалымат баалуулуктары.
  2. Класстын аныктамасы аркылуу баалуулуктарды башкара турган жеке процедуралар.
  3. Бул объект башкалар менен байланышышы үчүн интерфейсти ачыңыз.

OODB мисалдары

OODB колдонуу концептуалдаштырууну жөнөкөйлөтөт, анткени сакталышы керек болгон маалыматты көрсөтүү табигыйраак. Берилиштер базасынын түзүмүн же логикасын моделдөө үчүн класстык диаграммаларды колдонуу класстарды алардын структуралык байланыштары жана мурастоосу менен киргизүүгө мүмкүндүк берет. динамикасынын бир бөлүгүн моделдөө максатында, өз ара жанаобъекттердин ортосундагы жүрүм-турумда, убактылуу байланышта жайгашкан объекттердин ортосундагы өз ара аракеттенүүнү көрсөтүү үчүн ырааттуу диаграмма колдонулат, ал окуя болгондон кийин өзгөргөн абалды эске алуу менен аларды табууга мүмкүн болгон абалдарды сүрөттөйт.

OODB мисалдары
OODB мисалдары

Объектке багытталган маалымат базасынын мисалы төмөндө көрсөтүлгөн.

Объектке багытталган маалымат базаларынын мисалдары
Объектке багытталган маалымат базаларынын мисалдары

Алардын аты жана өмүрү бар, алар убактылуу же туруктуу болушу мүмкүн. OODB ачкычы - бул иштеп чыгуучуга канча түзүм жана операциялар колдонулаарын аныктоо мүмкүнчүлүгү. Татаал маалымат түрлөрүн иштетүү үчүн ийкемдүүлүк жана колдоо бар. Сиз класстарды жана субкласстарды түзө аласыз, мисалы, кардар базасында бул кардардын шилтемесинин субклассы болушу мүмкүн жана ал баштапкы класстын бардык атрибуттарын жана мүнөздөмөлөрүн мурастап алат, бул ыкма татаал маалыматтарды тез жана ийкемдүү иштетүүгө мүмкүндүк берет.

Сунушталууда: