You are on page 1of 37

Час 7

Бази на податоци

Предметен наставник:

Проф. д-р Ристо Христов

risto.hristovst@gmail.mk
Бази на податоци
Повторување:

База на податоци претставува организирано множество


на податоци.

Организирано множество на податоци е множество кое


е така припремено да податоците можат:

 Едноставно да се користат,
 Прегледуваат,
 Пребаруваат,
 Сортираат,
 Споредуваат,
 Менуваат (корегираат, надополнуваат, бришат).
Бази на податоци

Податоците во базата се логички организирани според


некој модел.

Во минатите предавања ги објаснувавме таквите


организирани логички модели.

Најголем акцент оставивме на таканаречениот релациски


модел.

Тоа е модел кој досега доминираше во организацијата на


базите на податоци.
Бази на податоци

Релациски модел се базира на математичкиот поим


релација.

Податоците и врските меѓу нив се прикажуваат преку


дводимензионална табелa.

Податоците и врските меѓу нив се прикажуваат преку ЕР


шема.
Бази на податоци

ЕР шема: ИСПИТ (индекс, код, оцена, дата, студент, предмет,


наставник, кабинет)
Бази на податоци

Релациските модели на бази на податоци успешно се


применуваат во деловните информациски системи во
кои податоците се од едноставен вид.

Релациските модели на бази на податоци успешно се


применуваат кога се користат за обработка на
едноставни податоци (алфанумерички податоци).
Бази на податоци

Проблеми кај релационите бази на податоци:

• Успешно се користат за податоци од типот на:


 Броеви, датуми, текст и сл. (алфанумерички податоци);
 Овие податоци се соодветни за традиционалните системи,
системи кои доминантно користат алфанумеричко
(текстуално насочени) податоци.
• Проблем со брзиот раст на количината на податоци
 Брзиот раст предизвикува потешкотии при
функционирањето на системите за управување со базите:
– Контрола на извршување на функциите;
– оздравувањето од грешки;
– индексирањето;
– карактеристиките на упитите;
– изражајноста на јазикот на упитите.
Бази на податоци

• Проблеми се повисоките барања на новите генерации на


апликации:

 Честа употреба на комплексни податоци кои се


традиционално сместени надвор од базата на податоци и
тоа:

– датотеки на оперативниот систем;


– специјализирани податочни структури (пр. податоци
за изведување на посебни инструкции, ...).
 Барање за проширување на системот за управување со
користење на нови комплексни алатки како:

-CAM/CAD системи;
-Геоинформациски системи;
-Мултимедијални системи.
Бази на податоци

Решение на овие проблеми:

Употреба на објектно – ориентирани


концепти во базите на податоци.
Бази на податоци
Објектно – ориентирани бази на податоци податоци

Базите на податоци со објектно ориентирани концепти


подржуваат:

• Лесна интеграција со објектно – ориентираните


програмски јазици;
• Користат комплексни типови на податоци (слики,
видеа, аудио, фотографии, големи текстуални податоци
и сл.);
• Поврзаност на видот, структурата на податоците и
операциите над нив;
• Лесна манипулација на релација податок – операција
над него, функцијата која извршува објектот, неговата
состоба и креирање на излезни извештаи;
• Лесна манипулација со огромен број на комплексни
податоци.
Објектно – ориентирани бази на податоци податоци

Видови на објектно – ориентирано бази на податоци:


• Бази со ОО концепти
 Се појавиле под влијание на објектно – ориентирани
програмски јазици, јазици чија дејност се прошири со
зголемување на функциите на системите за управување
со базите;
 Тие се алтернатива на релационите бази чии
функционални можности се ограничуваат со новите
барања на информатичката технологија;
 Во нивниот брз продор влијаат се поважните улоги на
се` покомплексните типови на податоци кои се
користат.
• Објектно – релациони бази на податоци
 Преставуваат проширување на релационите бази;
 Преставуваат обединување на релационите и
објектните парадигми.
Бази на податоци
Објектно – ориентирани бази на податоци податоци
ОСНОВНИ ОБЈЕКТНО – ОРИЕНТИРАНИ КОНЦЕПТИ
Развој на поим објектно – ориентирано

Овој поим потекнува од појавата на објектно –


ориентираните јазици.

1960 година се појавува јазикот SIMULA


1970. година се појавува Smaltalk – првиот чисто
објектно – ориентиран јазик
1979. godine C++ – хибриден објектно – ориентиран
јазик
1991. Година Python – повеќе струка парадигма
1995. godine Java
2000. godine C#
Објектно – ориентирани бази на податоци податоци
Да се потсетиме:
Кај релациските модели на бази на податоци го дефиниравме
поимот ентитет, како основен сегмент на нивната градба и
функционирање.
Ентитет преставува модел на објект од реалниот свет
(личност, место, предмет, поим или случка-настан) за кој се
собираат, прифаќаат, обработуваат, меморираат или
прикажуваат податоци.
Секој ентитет се карактеризира со различни својства
(атрибути) кои го карактеризираат, и преку нив се опишуваат
неговите карактеристики, состојби и функции.
Содржината на атрибутите се состои од податоци кои се
собираат, прифаќаат, обработуваат, меморираат или
прикажуваат
Објектно – ориентирани бази на податоци податоци

Основни објектно – ориентирани правила

Кај објектно – ориентираните бази податоците се


интерпретираат преку објекти.

Објект е сличен поим на ентитетот од релациските бази и


преставува тродимензионален модел на објект од реалниот
свет (личност, место, предмет, поим или случка-настан) за
кој се собираат, прифаќаат, обработуваат, меморираат или
прикажуваат податоци.

Секој објектот се карактеризира со атрибути кои ги


дефинираат неговите основни карактеристики, исто како и
атрибутите на ентитетите кај релациските модели.
Објектно – ориентирани бази на податоци податоци

Основни објектно – ориентирани правила

Секој објектот може да се карактеризира со


атрибути кои ги дефинираат неговите состојби

( Пример: Компјутерот е вклучен/исклучен на


напон, овошјето е зрело/зелено, греачот е
топол/ладен итн.).
Објектно – ориентирани бази на податоци податоци
Основни објектно – ориентирани правила
Секој објектот, освен со атрибут, се карактеризира со
методи/сервиси или операци кои се извршуваат врз
објектот или тој ги извршува .
Со повикување на одредена метода/сервис се пристапува
кон соодветниот објект, па преку содржина на неговите
атрибути се дефинира сервисот/операцијата која објектот
ја изведува или се изведува над него.
Примери на примена на методи/сервиси врз објектот:
• Формирање на нов објект во класата;
• Бришење на објект од класата;
• менување на карактеристиките на објектот;
• ....
Објектно – ориентирани бази на податоци податоци

Зошто е развиен објектниот модел?

• За да се исполнат барањата во сложените


инженерски апликации.
• Објектниот пристап ја обезбедува потребната
флексибилност, не ограничувајќи се на однапред
дадени типови на податоци и јазици.
• Објектниот пристап овозможува користење на сите
формати на податоци (алфанумерички, графички,
анимации, видео, аудио, ...).
• Објектите комуницираат мегусебно.
Објектно – ориентирани бази на податоци податоци

Основни објектно – ориентирани правила :

• Третирање на програмата како колекција на


независни објекти групирани во класи, кои
меѓусебно комуницираат со пораки.
• Објектите егзистираат само во текот на
извршување на програмата.
• Повеќе корисници можат да користат истовремено
ист објект.
Објектно – ориентирани бази на податоци податоци

Основни објектно – ориентирани правила:


Класа на објекти - група на објекти кои имаат исти
карактеристики (имаат иста структура и исто владеење).
Пример: На сликата е даден симбол (општ облик и
конкретен пример) на класата „овошје“).
Објектно – ориентирани бази на податоци податоци
Основни објектно – ориентирани правила:
Објекти – се елементи од класата кои имаат исти
карактеристики (имаат иста структура и исто владеење).
Пример: На сликата е даден симбол на објект припадник
на класа овошје (општ и за конкретен пример на
објектот „лимон“).
Објектно – ориентирани бази на податоци податоци
Основни објектно – ориентирани правила:
Класата на објекти се делат на поткласи.
Објектите од поткласата ги наследуваат атрибутите и
методите на класата (сите или само дел од нив).
Класите и поткласите се во меѓусебни релациски врски.
Објектно – ориентирани бази на податоци податоци

Еден објект може да биде во релација со друг објект од


иста класа (релација 1:1) или со повеќе објекти
(релација 1:M).
Објектно – ориентирани бази на податоци податоци

Пример: Објект 1 (испраќач на порака) е во релација со


објект 2 (примач на порака). При воспоставување на
релацијата, му праќа порака со која објектот 2 ја поприма
истата состојба како објектот 1.
Објектно – ориентирани бази на податоци податоци
Пример: Релација меѓу
објектите „купувач“ и
„стока“ кои припаѓат на
класата „продажба“.

Релацијата има значење


„купувачот купил стока“.

Оваа релација ја
опишуваат атрибутите:

• Дата на купување и
• Количина.
Објектно – ориентирани бази на податоци податоци

Основни објектно – ориентирани правила

Објектите ја дефинираат структурата на системот на


објектно – ориентираните бази, односно објектниот
модел се имплементира низ објектно ориентираната база
на податоци.

Корисникот ја гради и управува со базата на тој начин


што додава или одзема од неа едноставни објекти, ги
комбинира едноставните во комплексни објекти (од
аспект на нивните атрибути и методи на владеење) во
зависност потребите на апликацијата.

Важно: Како ќе ги дефинираме објектите со


приклучените атрибути и методи, така ќе се владеат.
Објектно – ориентирани бази на податоци податоци

Видови на објекти

• Привремени објекти, објекти кои постојат само за


време на извршување на програмата во зоната од
работната меморија каде програмата е запишана.
Имаат ограничен животен век, најдолго до
завршување на програмата.

• Перзистентен објект, објект кој е сместен во базата


на податоци, има неограничен животен век, со
обезбеден пристап само на оние програми кои имаат
дозвола да го користат.
Објектно – ориентирани бази на податоци податоци

Системот за управување со објектно – ориентираните бази на


податоци се нарекува OOSUBP, односно објектно – ориентиран
систем за управување со податоци.

OOSUBP се користи само кај објектно – ориентираните јазици и е


специфичен за секој јазик.

Објектно ориентираниот менаџмент систем, заедно со објектно


ориентираните програмски јазици обезбедуваат фунционалност
на комплексните податоци во чие средиште се наоѓаат
комплексните објекти.

Овој пристап ги унифицира атрибутите и однесувањето на


податоците во една целина.
Објектно – ориентирани бази на податоци податоци

Концепт на Објектно Ориентирано Програмирање

Објектно ориентираните податочни бази се во блиска корелација


со објектно ориентираниот програмски концепт.

Четирите главни принципи во објектно ориентираното


програмирање се:

 Полиморфизам (Polimorphisam);
 Наследување (Inharitance);
 Енкапсулација (Encapsulation);
 Апстракција (Abstraction).

Овие четири атрибути ги опишуваат критичните карактеристики


на објекно ориентираниот менаџмент систем.
Објектно – ориентирани бази на податоци податоци
Полиморфизам е спoсобност на објект да зима повеќе
форми.

Овој атрибут дозволува истиот програмски код да


работи со различити типови на податоци.

Објаснување на полиморфизмот: Колата и велосипедот


имаат можност/способност да кочат, но самиот
механизам е различен.

Во примерот полиморфизам е кочењето.

Значи дефинираната акција е кочење - резултатот се


менува во зависност од способностите/перформансите
на возилото.
Објектно – ориентирани бази на податоци податоци

Наследувањето креира хиерархиски врска помеѓу поврзаните


класи, со што се овозможува дел од кодот да се користи повторно.

Дефинирањето на нови типови во класата ги наследува сите


постојани полиња и методи и дополнително ја проширува.

Постоечката класа е родител класа, а детето класа е проширување


на родител класата.

На пример: Родител класата возило има деца класите Кола и


Тркало.

Двете класи наследуваат информации од родител класата и ја


прошируваат родител класата со нови информации, во зависност
од типот на превозното средство.
Објектно – ориентирани бази на податоци податоци
Енкапсулацијата е способност за групирање на податоците и
механизмите во единичен објект, на кого му обезбедуваме
безбедносен пристап.
Со оваа постапка, дел од информациите и деталите како објектот
работи, се сокриени.
На тој начин е обезбедува, податоците и нивното фунционирање
да е безбедно.
Интеракцијата помеѓу класите се одвива со одредени методи, без
да се знае како самиот метод фунционира.
Објектно – ориентирани бази на податоци податоци

Апстракцијата е процедура за презентација само на


битние податочни каракеристики, кои се потребни за
нејзина функционалност.

Процесот селектира витални информации, а останатите


информации остануваат скриени.

Апстракцијата помага да се редуцира комплексноста на


моделираните податоци и овозможува нивно повторно
користење.
Објектно – ориентирани бази на податоци податоци

Пример: Постојат повеќе начини компјутерот да се


приклучи на Интернет.

Web пребарувачот бара пристап до Интернет, но


начинот на конекција до него не е битен.

Воспоставенета конекција до Интернет претставува


апстракција, каде различниот тип на конекција
претставува различна имплементација на апстракцијата.
Објектно – ориентирани бази на податоци податоци

Постојат разни типови на имплементирање на објектни бази.


Повеќето од нив ги содржат овие карактеристики:
Карактеристики Опис
Јазик за пребарување Јазик за пронаоѓање на објекти и за читање
(query language) на податоци од податочната база.
Транспарентна Можност за користење на објектно
отпорност ориентиран јазик за манипулација со
(transparent persistence) податоците.
ACID Трансакции ACID трансакција гарантира дека сите
(ACID Transactions) трансакции се комплетни без никакви
измени.

Кеширање на Базата Креира делумна репликација на базата.


(Database caching) Овозможува пристап до базата од
програмската меморија, а не од диск

Закрепнување Закрепнување од катастрофи, во случај


(Recoveri) системот или апликацијата да падне.
Објектно – ориентирани бази на податоци податоци

Предности во однос на релациските бази:

 Можат да користат, за разлика од релациските бази на


податоци, најразлични модели и најкомплексни видови
податоци.
 Успешно манипулираат со големи количини на податоци.
 Безбедноста на податоците е на високо ниво.
 Успешно спроведуваат повраток и заздравување на
оштетени податоци.
 Интеграцијата во програмските јазици е беспрекорна. Ги
исполнуваат барањата и можат да се користат кај сите
објектно-ориентирани програмски јазици.
 Лесно се моделираат и менуваат.
 Овозможуваат подобра поврзаност на базата со
апликациите, односно некои нерешливи или комплицирани
проблеми кај релациските бази ги решаваат.
ДАЛИ ИМА ПРАШАЊА?

!!!?
СЕКОЕ ПРАШАЊЕ Е ПАМЕТНО!

Stefan Petrusić “Noč mi te duguje”

You might also like