You are on page 1of 40

Час 2

Бази на податоци
Е
в
р
о
п
с
к
и

У
н
и
в
е Предметен наставник:
р
а
з Проф. д-р Ристо Христов
и
т
е
т
risto.hristov@eurm.edu.mk
Повторување
Запис или слог е множество на зборови или полиња кои припаѓаат
на некој ентитет.

Ентитет е објект на наблудување во некоја апликациска средина.

Датотека е множество на одреден број на слогови од ист вид, кои


се наменети за опис на некој ентитет.

База на податоци (data base) е множество на датотеки на


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

Систем на бази на податоци е множество на бази на податоци


Банка на податоци е институција за одржување на податоците.
ВОВЕДНО ПРЕДАВАЊЕ

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

1963 година, прв пат почнува да се употребува


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

„Друштвото за развој на системи“ го организира


симпозиумот „Развој и управување на компјутерско
центрирани бази на податоци“.

На овој симпозиум прв пат се спомнува поимот бази


на податоци.
ВОВЕДНО ПРЕДАВАЊЕ

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

Во овој период од седумдесетите години се


појавуваат два модела на бази на податоци:

 Мрежни модел развиен од CODASYL;


 Хиерархиски модел предлпжен од E.F.
Codd 1970 година, а развиен од
универзитетот North American Rockwell.

Во 1980 година се развиени базите Oracle и


DB2.
ВОВЕДНО ПРЕДАВАЊЕ

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

Во текот на 1980-тите години истражувачката


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

Во текот на 1980-тите години истражувачката


активност се насочува на функционалниот модел на
податоци, но и овој модел не бил прифатен од
пазарот.
ВОВЕДНО ПРЕДАВАЊЕ

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

Во 1990 година се појавуваат базите на податоци


ориентирани кон објектите (објектно ориентирани
бази на податоци).

Во 2000 – те години се развиваат XML бази на


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

Во втората деценија на 21 – то столетие се


појавуваат таканаречени просторни бази на
податоци.
ВОВЕДНО ПРЕДАВАЊЕ

Процесот на развој на системите за чување и


обработка на податоци, хронолошки е прикажан на
сликата:
Бази на податоци

.
Што се тоа база на податоци?

Дефиницијата би можела да гласи:

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

Што значи организирани податоци?

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


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

Која е функцијата на базата на податоци?

 Организирање на податоците по однапред одредени


правила;
 Овозможување на пристап, пребарување, внос,
корекција, бришење на податоците;
 Креирање, приказ на податоци на излезни уреди, во
различни формати.
 Архивирање, чување и заштита на податоците.
Бази на податоци

Сегментирана структура на базите на податоци

Структурата на базата на податоци е сегментирана


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

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

 Секој сектор може да води своја евиденција за своето


деловно работење, независно од другите сектори.
 Иако секторите работат независно, постојат податоци кои се
заедничи (со кои се препокриваат).
 Структурата и записот на тие податоци меѓу секторите не се
меѓусебно усогласени.
 Секој сектор има своја база на податоци.
Бази на податоци

Недостатоци на Сегментирана структура на базите на


податоци
 Редунданција на податоците – податоците непотребно се држат
на повеќе места (повеќе датотеки), па кога е потребно да се
менуваат тоа се прави на повеќе места.
 Размената на податоците е отежната – поради дислоцираноста на
компјутерите, различните форми на запис на податоците и
нивната различна структура.
 Непотребен развој на различни алгоритми за иста категорија на
податоци – за секое множество на податоци се развиваат посебни
алгоритми и посебни програми иако принципите на кои сите
работат се исти.
 Програмите често се тесно прилагодени на постоечката база на
податоци. Тоа ги отежнува активностите при додавање на нови
параметри во базата. Со други зборови, ако се промени
структурата на базата, потребно е репрограмирање на сите
програми.
Бази на податоци

Недостатоци на Сегментирана структура на базите


на податоци
 Во апликацијата (програмите) не се раздвоени
функциите за физички манипулации (читање и
запишување) од функциите на делот од апликацијата за
кои таа е и напишана. А тоа ги отежнува промените и
во развојот на структурата на базата и на развојот на
апликацијата.
 Сигурноста на податоците не е добра (особено во делот
на податоците кои имаат истовремен пристап од
поголем број на корисници).
 Растот на базата и нејзината коплексност е премногу
сложена како за компјутерите, така и за програмерите.
Бази на податоци

Основни поими
 База на податоци е множество на меѓусебно поврзани податоци,
складирани во надворешната меморија и достапни истовремено
за различни корисници и апликациони програми. Тие податоци
му стојат на корисникот на располагање за: пребарување,
прегледување, бришење, надополнување, корегирање.
 Систем за управување со базата на податоци (Data Base
Management System- DBMS) е сервер кој го обликува физичкиот
приказ на базата во склад со баранaта логичка структура и ги
извршува сите операции со податоците.
 Познати DBMS:Oracle, DB2, MySQL, PostgreSQL, Ingres, MS-
Sql, . . .
Бази на податоци

Организациони модели на податоци

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


организирани според некој модел.

Моделот овозможува осмислување, дефинирање и


имплементирање на базите на податоци.
Бази на податоци

Организациони модели на податоци во базите на податоци

Денешните системи за менаџирање со бази на


податоци (DBMS) ги подржуваат следните модели:

 Хиерархиски модел;
 Мрежен модел;
 Релациски модел;
 Објектно ориентирам модел;
 Просторно ориентиран модел;
 Мултимедиски модел.
Бази на податоци

Организациони модели на податоци во базите на податоци


 Хиерархиски модел
Прв и најстар модел на база на податоци е Хиерархискиот модел.

Овој модел е развиен од страна на фирмата IBM во склоп со


проектот Apollo на NASA во 60-тите години на минатиов век.

Хиерархискиот модел на база на податоци може да се престави како


стебло на хиeрaхија, поставено од горе на долу.

Ова стебло е составено од неколку нивоа.

Секое ниво има полиња кои меѓу себно се поврзани со релации.

Секогаш повисокото ниво има предност во однос на нивото кое се


наоѓа под него.
Бази на податоци
Организациони модели на податоци во базите на податоци
 Хиерархиски модел

Полето кое се наоѓа во највисокото ниво е корен на


хиерхиското стебло или главно поле во базата на податоци.
Помеѓу полињата од различни нивоа постои релација родител
– дете. Полето родител секогаш е на повисоко ниво од полето
дете.
Секое поле има само еден родител, додека еден родител
може да има повеќе деца.
Недостатокот на овој модел е тоа што се применува за
релации 1:N. За останатите релации не е применлив.

Не може да се додаде ново поле во полето дете без да да се


поврзи со неговиот родител, па поради тоа се појавуват дупли
полиња.
Бази на податоци

Организациони модели на податоци во базите на податоци


 Хиерархиски модел
Пример на хиерархиски модел на базата „univerzitet“:
Бази на податоци

Полето Универзитет е татко на полињата Информатика и


Економски.
Полето Информатика е татко на Професор 1 и Професор 2.

Полето Професор 1 е татко на Студент.


Полето Информатика е татко на полето Професор 1.
Бази на податоци

Организациони модели на податоци во базите на податоци


 Мрежен модел
Мрежниот модел на базата на податоци за прв пат е
преставен кон крајот на 60-тите години, како продолжение,
надоградување на Хиерархискиот модел, од страна на Charles
Wiliam Bachman кој работел во групата DBTG ( Data Base Task
Group) за америчката фирма CODASYL (Conference On Data
Systems Languages).

Недостатокот кај хиеархискиот модел едно дете да нема


повеќе родители, со мрежниот модел е решен.

Релацијата на овој модел е N:М.


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

Организациони модели на податоци во базите на податоци


 Мрежен модел
Во мрежниот модел едно дете може да има повеќе родители.
Како на пример во нашиот случај Студент 2 има двајца
родители Професор 2 и Професор 3.
Бази на податоци

Организациони модели на податоци во базите на податоци


Кај хиерхискиот и мрежниот модел за да се дојде до некој
податок треба да се знае патот до него .

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


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

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


хериархискиот и мрежниот модел во денешно време скоро и
не се употребуваат.
Бази на податоци

Организациони модели на податоци во базите на податоци


 Релациски модел
Едгар Франк Код од IBM во 1970 година ја поставил основата
на најпопуларниот и најраспостраниот модел на база на
податоци а тоа е рационалниот модел.

Поради тоа што Едгар Франк Код бил математичар, очекувано


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

Секоја табела е составена од редови (хоризонтални линии)


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

Организациони модели на податоци во базите на податоци


 Релациски модел

Секоја табела има одреден број на колони со единствени


имиња,

Пример : студент, предавање, индекс , матичен број.

Нив ги поврзува релација со посебна клуч колона наречена


примарен клуч.
Бази на податоци

Организациони модели на податоци во базите на податоци


Пример: Табела Student
Бази на податоци

Организациони модели на податоци во базите на податоци

Релации помеѓу табелите: Student, Fakultet, Univerzitet.


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

 Објектен модел.

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


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

Објекно ориентираната база е една од најновите модели на


база на податоци. Нејзините темели се поставени на крајот на
70-те и почетокот на 80-те години на минатиот век.

Карактеристично за овој тип на модел е тоа што тој се базира


на множество на објекти.

Базата е множество на трајно складирани објекти кои се


состојат од интерни податоци и „методи (операции)“ за
ракување со тие податоци.
Бази на податоци
 Објектен модел.

Секој објект припаѓа на некое множество на класа на објекти


од ист тип.

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


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

Објектот може да биде со следниот формат:


 Текст;
 слика;
 графика;
 звук;
 анимација;
 видеозапис;
 холограф;
 виртуелна реалност.
Бази на податоци

 Објектен модел.

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

 C++;
 Java и
 Python.

Интерфејс се дефинира како надворешно видливиот дел од


објектот (најчесто декларациите на методите). Се користи при
повикување на објектот.

Пристапување кон податоците на еден објект се врши преку


процесот на испраќање порака до објектот односно
повикување на некој елемент од објектниот интерфејсот, по
што се активира некој од внатрешните методи на објектот.
Бази на податоци

Цели кои се постигнуваат со користење на бази на податоци:

 Физичка независност на податоците – се раздвојува логичката


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

 Чување на интегритет – автоматско чување на


конзистенцијата и интегритетот на податоците.
 Флексибилност на пристапот - Му се дозволува на
корисникот слободно пребарување по податоците. Кај
старите бази (мрежни, хиерархиски) начинот на
пребарување било ограничено, до податокот се доаѓа по
строго утврден редослед.
 Ефикасна работа – Операциите мораат да се
извршуваат брзо, особено кај големите бази на
податоци.
 Истовремен пристап до податоците – Базата мора да им
овозможи на повеќе корисници истовремено да ги
користат податоците, а при тоа корисниците не смеат да
си пречат и секој да има чувство дека сам ја користи.
Бази на податоци

 Можност за заздравување – мора да постои ефикасен


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

Овие активности се извршуваат централизирано од


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

Администраторите за извршување на тие активности


користат разни помагала (алатки, програми).
Бази на податоци

Архитектурата на базата на податоци е дизајнирана по нивоа:


 Физичко ниво – се однесува на физичкиот приказ и распоредот
на податоците во надворешните мемории по локации (адреси).
Тоа е аспект кој го гледаат и разбираат системските програмери.
Физичкото ниво понатаму се дели на поднивоа (стази, цилиндри на
дискот до апстрактни поими и записи кои се среќаваат кај
класичните програмски јазици).
Распоредот на складирање на податоци по адреси опишува како
елементите на логичката дефиниција на базата се пресликува на
физичките уреди.
Бази на податоци

 Глобално ниво – се однесува на логичката структура на целата


база.

Тоа е аспект кој го гледаат и разбираат проектантите на базата,


односно систем администраторот.

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

Шема е текст или дијаграм кој ја дефинира логичката структура на


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

Во шемата се именуваат и дефинираат сите типови на податоци и


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

Со шемата се дефинираат ограничувања за користење на базата во


насока на чување на интегритетот на податоците.
Бази на податоци

 Локално логичко ниво – се однесува на логичкото


поставување во делот на базата кој се користи во
одредена апликација.
Тоа е аспект кој го гледа корисникот или апликацискиот
програмер.
Записот на една логичка локална дефиниција се вика
поглед (view) или под-шема. Тоа е текст или дијаграм со
кој се именуваат и дефинираат сите локални податоци и
врските меѓу нив во склад со правилата на користениот
модел.
Со поглед се дефинираат пресликувањата со кои од
глобалните податоци и врски се изведуваат локалните.
Бази на податоци

Соработката корисник (апликација) со базата на податоци се


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

 Јазик за опис на податоците (Data Description Language - DDL) –


Со овој јазик се дефинираат податоците и врските меѓу нив на
логичко ниво.
 Јазик за манипулирање со податоците (Data Manipulation
Language DML) – Програмерите го користат за воспоставување
на врски меѓу апликационите програми и базата.
 Јазик за поставување на упити (Query Language - QL) – Се
користи за интерактивно пребарување на базата од страна на
непосредниот корисник. Потсеќа на говорниот англиски јазик.
Бази на податоци
Оваа поделба е денес застарена.

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


обединат во еден.

SQL e пример за интегриран јазик за релациона база. Се


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

Објектно – ориентираните јазици (Java, C++, ...) - За


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

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


дотеруваат, се вклопуваат во поголеми системи или се
пренесуваат од една на друга база.
ДАЛИ ИМА ПРАШАЊА?

!!!?

You might also like