87
ПОЈАМ ПОДАТКА СПОЗНАЈОМ СВОЈСТАВА ПОЈЕДИНИХ ПОЈАВА И ОБЈЕКАТА ИЛИ ИСХОДА ДОГАЂАЈА СМАЊУЈЕ СЕ СТЕПЕН НЕОДРЕЂЕНОСТИ СВЕТА КОЈИ НАС ОКРУЖУЈЕ А МИ СМО ДОБИЛИ НЕКУ ИНФОРМАЦИЈУ ПРИКАЗИВАЊЕМ ИНФОРМАЦИЈА У ФОРМАЛИЗОВАНОМ ОБЛИКУ ПОГОДНОМ ЗА ЗАПИСИВАЊЕ, ПРЕНОС, СКАДИШТЕЊЕ И ОБРАДУ НАСТАЈУ ПОДАЦИ, ТЈ. ПОДАЦИ СУ ДИСКРЕТНИ ЗАПИСАНИ ФАКТИ О ФЕНОМЕНИМА И ИЗ ЊИХ СЕ ДОБИЈАЈУ ИНФОРМАЦИЈЕ О СВЕТУ.

Baze podataka - Uvodno predavanje

Embed Size (px)

Citation preview

Page 1: Baze podataka - Uvodno predavanje

ПОЈАМ ПОДАТКА

• СПОЗНАЈОМ СВОЈСТАВА ПОЈЕДИНИХ ПОЈАВА И ОБЈЕКАТА ИЛИ ИСХОДА ДОГАЂАЈА СМАЊУЈЕ СЕ СТЕПЕН НЕОДРЕЂЕНОСТИ СВЕТА КОЈИ НАС ОКРУЖУЈЕ А МИ СМО ДОБИЛИ НЕКУ ИНФОРМАЦИЈУ

• ПРИКАЗИВАЊЕМ ИНФОРМАЦИЈА У ФОРМАЛИЗОВАНОМ ОБЛИКУ ПОГОДНОМ ЗА ЗАПИСИВАЊЕ, ПРЕНОС, СКАДИШТЕЊЕ И ОБРАДУ НАСТАЈУ ПОДАЦИ, ТЈ. ПОДАЦИ СУ ДИСКРЕТНИ ЗАПИСАНИ ФАКТИ О ФЕНОМЕНИМА И ИЗ ЊИХ СЕ ДОБИЈАЈУ ИНФОРМАЦИЈЕ О СВЕТУ.

Page 2: Baze podataka - Uvodno predavanje

ОБРАДА ПОДАТАКА

ПОДАЦИ СЕ

• ПРИКУПЉАЈУ (записују и преносе)

• ОРГАНИЗУЈУ

• СКЛАДИШТЕ (МЕМОРИШУ)

• ОБРАЂУЈУ

• ПРЕЗЕНТУЈУ

Page 3: Baze podataka - Uvodno predavanje

ПОЈАМ ОБЈЕКТА• За сваки проблем који се решава (са или

без рачунара) постоји ограничен број објеката који су од интереса и називају се елементарни објекти или ентитети, а њихов скуп сачињава простор објеката

• Ентитет је нешто што се може једнозначно идентификовати

• Сваки објекат мора имати ИМЕ

• ИМЕ мора бити јединствено, тј. Не могу постојати у једној бази два иста објекта

Page 4: Baze podataka - Uvodno predavanje

ВРСТЕ ЕНТИТЕТА

Одабрани ентитет по својој природи може бити:

• Реални објекат, део света (особа, фирма, зграда)

• Апстрактни појам (звање, количина)• Догађај (саобраћајни удес, упис

студената, поптавка тв)• Асоцијација (полазник-курс, лекар-

пацијент, предмет-професр-студент)

Page 5: Baze podataka - Uvodno predavanje

ПОЈАМ АТРИБУТА

• Сваком елементарном објекту приписује се одређени квалитет у вези са проблемом који се решава, а ти квалитети називају се атрибути или својства објекта

• Пошто за један проблем може бити од значаја више разних атрибута истог или разних објеката, сваки атрибут мора имати име, а такође и вредност тј. Квантитативни одраз квалитета

• Један објекат може да карактерише више атрибута од важности за решење датог проблема и oни се називају елеметарна обележја

Page 6: Baze podataka - Uvodno predavanje

Обележје-атрибут• Елементарно обележје је обележје које се

даље не може декомпоновати, или које се у датом случају даље не декомпонује на компоненте.

• Скуп, низ или логички производ елементарних обележја представља сложено обележје и њему се не придружује име.

• Између обележја и типа ентитета нема јасне разлике јер именовано сложено обележје уствари представља тип ентитета

Page 7: Baze podataka - Uvodno predavanje

Кључ типа ентитета• Дефиниција:Ентитет је нешто што постоји и

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

• Мора постојати непразан скуп обележја такав да је њихова вредност за свака два ентитета раличита (суперкључ).

• Ако не постоји ни један подскуп тога скупа такав да важи претходни став онда је то кључ (минималност: Кључ не поседује сувишна обележја).

Page 8: Baze podataka - Uvodno predavanje

Примарни кључ

• Један тип ентитета може имати више кључева, и они се називају еквивалентни кључеви.

• Један од еквивалентних кључева се бира за примарни кључ.

• Примарни кључ је:– Јединствен– Расположив – Непроменљив

Page 9: Baze podataka - Uvodno predavanje

ЕЛЕМЕНТАРНИ ПОДАТАК• АТРИБУТСКО ИМЕ ЈЕ НАЗИВ ОДРЕЂЕНОГ

КВАЛИТЕТА (СВОЈСТВА ОБЈЕКТА), А АТРИБУТСКА ВРЕДНОСТ ЈЕ КВАНТИТАТИВНА, БРОЈНА ВРЕДНОСТ КОЈА ПРИПАДА ИЗВЕСНОМ СКУПУ ВРЕДНОСТИ

• СВАКОМ ЕЛЕМЕНТАРНОМ ОБЈЕКТУ ПРИПИСУЈЕ СЕ ЕЛЕМЕНТАРНИ ПОДАТАК (САМО ЈЕДНА ВРЕДНОСТ), КОЈИ СЕ ОПИСУЈЕ НА СЛЕДЕЋИ НАЧИН:

<ИМЕ ОБЈЕКТА, ИМЕ СВОЈСТВА (АТРИБУТ), ВРЕДНОСТ СВОЈСТВА>

• ОВО ЈЕ ТАКОЗВАНА ИНТЕНЗИЈА

• ПОСТОЈИ ВИШЕ НАЧИНА НА КОЈИ СЕ ОВА ТРИ АСПЕКТА ПОДАТАКА МОГУ ПОВЕЗАТИ, ДАКЛЕ ПОСТОЈЕ РАЗЛИЧИТИ МОДЕЛИ ПОДАТАКА

Page 10: Baze podataka - Uvodno predavanje

Домен

• Скуп могућих вредности које неко обележје у конкретном случају може имати назива се домен обележја.

Напомена: домен није, као у математици, скуп оригинала функције.

• Домен може поседовати сопствено име.

• Исти домен може се придружити већем броју различитих обележја

Page 11: Baze podataka - Uvodno predavanje

Интегритет доменаИнтегритет домена је тројка (тип податка,

дужина податка, услов).• тип податка (INTEGER, CHAR, LOGICAL,

DATE, CURRENCY, OLE, MEMO, ...)• Услов

– Регуларни израз, x>0 AND x<=5 – Функције над обележјима:

AKO JE(if) obeležje1>XX ONDA(then) obeležje2=YY INAČE (else) obeležje2=ZZ

KRAJ AKO (end if)

Page 12: Baze podataka - Uvodno predavanje

Нула вредност

Нула вредност је специјално ограничење домена, тако да обележје може имати и недефинисану вредност која настаје када:

• Када објекат поседује неко својство али вредност тренутно није позната.

• Када објекат не поседује неко својство

Page 13: Baze podataka - Uvodno predavanje

ПОЈАМ ЗАПИСА - СЛОГ

• Скуп свих вредности елементарних обележја која се односе на један објекат представља запис или логички слог, и при томе се сваки елементарни податак (појединачна вредност) смешта у једно поље записа

АТРИБУТИ: БР.РАД. ИМЕ ПОЛ ОДЕЉЕЊЕ РАДНИ_СТАЖ

ЗАПИС: 53125 АНА Ж ПРОДАЈА 3 Г. 2 М. 17 Д.

Page 14: Baze podataka - Uvodno predavanje

ДАТОТЕКА

Скуп записа који одговарају једном простору објеката чини датотеку, и при томе мора важити следеће:

• Једном простору објеката одговара једна датотека

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

• Број елементарних обележја објекта једнак је броју поља у запису

Page 15: Baze podataka - Uvodno predavanje

ПОЈАМ БАЗЕ ПОДАТАКА

• УКОЛИКО ЗА ЈЕДНУ АПЛИКАЦИЈУ ТРЕБА ДЕФИНИСАТИ ВИШЕ ПРОСТОРА ОБЈЕКАТА (СКУПОВА ОБЈЕКАТА), ОБРАЗУЈЕ СЕ БИБЛИОТЕКА ДАТОТЕКА,

• А КАДА СЕ ИЗМЕЂУ ТИХ ДАТОТЕКА УСПОСТАВЕ ОДРЕЂЕНЕ ЛОГИЧКЕ ВЕЗЕ ПОМОЋУ СОФТВЕРА КОЈИ СЕ ЗОВЕ DBMS (Data Base Management System ) НАСТАЈЕ БАЗА ПОДАТАКА

Page 16: Baze podataka - Uvodno predavanje

• ИМЕНА ПРОСТОРА ОБЈЕКАТА ЗАЈЕДНО СА ЊИХОВИМ СВОЈСТВИМА ЧИНЕ ШЕМУ ПОДАТАКА КОЈА ИДЕНТИФИКУЈЕ ИМЕНА КАТЕГОРИЈА, ЊИХОВА СВОЈСТВА И ВЕЗЕ ИЗМЕЂУ ЊИХ, А СКУП ПОДАТАКА УРЕЂЕН ПО НЕКОЈ ШЕМИ НАЗИВА СЕ БАЗА ПОДАТАКА

• МОДЕЛ ПОДАТАКА ДЕФИНИШЕ ПРАВИЛА ПРЕМА КОЈИМА СЕ ПОДАЦИ УРЕЂУЈУ ТЈ. СТРУКТУРИРАЈУ, АЛИ ДА БИ ДОБИЛИ ПОТПУНУ ИНТЕРПРЕТАЦИЈУ ЗНАЧЕЊА ПОДАТАКА НЕОПХОДНО ЈЕ ДЕФИНИСАТИ И СКУП ДОЗВОЉЕНИХ ОПЕРАЦИЈА НАД ТИМ ПОДАЦИМА.

• СВОЈСТВА КАТЕГОРИЈА КОЈЕ ОБУХВАТА ЈЕДАН МОДЕЛ ПОДАТАКА ДЕЛЕ СЕ НА:

А) СТАТИЧКА Б) ДИНАМИЧКА

Page 17: Baze podataka - Uvodno predavanje

СВОЈСТВА КАТЕГОРИЈА

• СТАТИЧКА СВОЈСТВА СУ РЕЛАТИВНО НЕПРОМЕНЉИВА У ВРЕМЕНУ И НАЗИВАЈУ СЕ СКУП ГЕНЕРИШУЋИХ ПРАВИЛА, ОДНОСНО

ЈЕЗИК ЗА ДЕФИНИСАЊЕ ПОДАТАКА – DDL

• ДИНАМИЧКА СВОЈСТВА МОДЕЛА ИЗРАЖАВАЈУ СЕ СКУПОМ ОПЕРАЦИЈА КОЈЕ СЕ ВРШЕ НАД ТИМ ПОДАЦИМА И ЗОВУ СЕ

ЈЕЗИК ЗА МАНИПУЛАЦИЈУ ПОДАЦИМА - DML

Page 18: Baze podataka - Uvodno predavanje

ЛОГИЧКА ОРГАНИЗАЦИЈА БАЗЕ ПОДАТАКА -МОДЕЛИ

ДАНАС ПОСТОЈЕ ЧЕТИРИ МОДЕЛА У УПОТРЕБИ, АЛИ НАЈВАЖНИЈА СУ ДВА ПОСЛЕДЊА:

1. ХИЈЕРАРХИЈСКИ МОДЕЛ

2. МРЕЖНИ МОДЕЛ

3. РЕЛАЦИОНИ МОДЕЛ

4. ОБЈЕКТНИ МОДЕЛ

Page 19: Baze podataka - Uvodno predavanje

БЕЗ ОБЗИРА КОЈИ ЈЕ МОДЕЛ У ПИТАЊУ МОРА ПОСТОЈАТИ МОГУЋНОСТ ДА СЕ:

• ПОДАЦИ МОГУ ДЕФИНИСАТИ

• ДА СУ ДЕФИНИСАНА ПРАВИЛА ЗА ОДРЖАВАЊЕ ИНТЕГРИТЕТА ПОДАТАКА

• ДА СУ ПОЗНАТА ПРАВИЛА ЗА МАНИПУЛАЦИЈУ ПОДАЦИМА

Page 20: Baze podataka - Uvodno predavanje

Модел података се помоћу одговарајућег СУБП имплементира у одговарајућу базу података,

Модел процеса се претвара у израду одређених апликација.

Page 21: Baze podataka - Uvodno predavanje

РЕЛАЦИОНИ МОДЕЛ - ТАБЕЛЕ

Page 22: Baze podataka - Uvodno predavanje

ПРИМЕРИ ТАБЕЛА

Page 23: Baze podataka - Uvodno predavanje

УСЛОВИ ДА БИ ТАБЕЛА БИЛА РЕЛАЦИЈА

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

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

Унутар једне релације не смеју постојати две идентичне n-торке.

Редослед n-торки у релацији је небитан, и самим тим може бити произвољан.

Сви атрибути унутар једне релације морају имати различита имена, док је редослед њиховог навођења произвољан.

Page 24: Baze podataka - Uvodno predavanje

ВЕЗЕ-РЕЛАЦИЈЕ

1:N

M:N

Page 25: Baze podataka - Uvodno predavanje

ВРСТЕ РЕЛАЦИЈА - ВЕЗА

• 1:1 ако постоји кореспонденција један према један од неког атрибута А према атрибуту Б, онда свакој вредности атрибута А одговара једна и само једна вредност за Б, кажемо да атрибут А идентификује Б

• 1:N ако постоји кореспонденција један према више од атрибута А према атрибуту Б, онда свакој вредности атрибута А одговара нула, једна или више вредности за Б,

• N:М

Page 26: Baze podataka - Uvodno predavanje

КЉУЧНИ МОМЕНТИ У ПРОЈЕКТОВАЊУ МОДЕЛА

• ИЗБОР ОБЈЕКАТА

• ИЗБОР АТРИБУТА

Page 27: Baze podataka - Uvodno predavanje

Избор објеката

• Одређивање скупа објеката који су од интереса није јасно одређен задатак нити је једнозначан.

• Да би апликација била одређена довољно је наћи бар један скуп објеката који је јасно и потпуно дефинишу.

Page 28: Baze podataka - Uvodno predavanje

Избор објеката• Текстуални опис захтева који морају бити

задовољени може се употребити за одређивање објеката и веза међу њима:

• Именице указују на потребу увођења типова ентитета

• Глаголи указују на потребу увођења везних објеката

• Искази облика бар један, најмање један, више и сл. указују на кардиналност веза

• Постојање различитих улога једног ентитета у везама са другим ентитетима указују на више везних објеката.

Page 29: Baze podataka - Uvodno predavanje

Избор објеката

• Присуство веза међу ентитетима из једног скупа објеката показују на присуство унарних веза (рекурзивна веза)

• Временско претхођење ентитета једног скупа у односу на ентитете другог скупа указује на егзистенцијалну зависност и на потребу увођења минималног кардиналитета а1=1

• Постојање ентитета са специфичним особинама или специфичним везама указује на потребу увођења хијерерхије

Page 30: Baze podataka - Uvodno predavanje

Избор објеката• Постојање ентитета са истим улогама у две разна

скупа ентитета указује на потребу увођења категорије

• Свако обележје може припадати само једном типу ентитета (везни објекти могу наслеђивати кључеве повезаних ентитета, слаби ентитети наслеђују кључ чврстог објекта, поткласе наклеђују не само кључ већ и особине суперкласе)

• Тип ентитета и везе садржи само она обележја која су битна за реализацију циљева ИС

Page 31: Baze podataka - Uvodno predavanje

Објекти • Статус објекта у Е-Р моделу

информационог система имају они ентитети који поред идентификатора објекта (примарног кључа) имају још нека својства која се описују атрибутима.

• Под атрибутом се сматра оно својство објекта које се описује једним податком.

• Уколико је за описивање атрибута потребно више података, онда тај атрибут представља нови објекат.

Page 32: Baze podataka - Uvodno predavanje

РЕЛАЦИОНЕ БАЗЕ ПОДАТАКА• РЕЛАЦИОНА БАЗА ПОДАТАКА ЈЕ СКУП

РЕЛАЦИЈА КОЈЕ СЕ МЕЊАЈУ ТОКОМ ВРЕМЕНА, А ЧИЈИ ЈЕ ОПИС СТРУКТУРА ДАТ РЕЛАЦИОНОМ ШЕМОМ

• РЕЛАЦИОНИ МОДЕЛ СЕ МОЖЕ ОПИСАТИ КАО СКУП ПОВЕЗАНИХ ТАБЕЛА

• БИТНЕ КАРАКТЕРИСТИКЕ РЕЛАЦИОНОГ МОДЕЛА:

Page 33: Baze podataka - Uvodno predavanje

1. ВЕОМА ЈЕДНОСТАВНА И ПРИРОДНА ПРЕЗЕНТАЦИЈА У ОБЛИКУ ТАБЕЛА КОЈЕ СУ ВРЛО ПОГОДНЕ И ЗА КОМУНИКАЦИЈУ СА КОРИСНИКОМ

2. МОГУЋА ЈЕ ФОРМАЛНО МАТЕМАТИЧКА ИНТЕРПРЕТАЦИЈА МОДЕЛА, ТЈ. ТАБЕЛА СЕ МОЖЕ ДЕФИНИСАТИ КАО РЕЛАЦИЈА, И ПОТОМ СЕ МОГУ ПРИМЕНИТИ ОПЕРАТОРИ РЕЛАЦИОНЕ АЛГЕБРЕ

Page 34: Baze podataka - Uvodno predavanje

ДЕФИНИЦИЈА ТАБЕЛЕ• ТАБЕЛА СЕ ДЕФИНИШЕ КАО НИЗ НАЗИВА

КОЛОНА СА НУЛА ИЛИ ВИШЕ РЕДОВА (ВРСТА, N-ТОРКИ) КОЈИМА СУ ЗАДАТЕ ВРЕДНОСТИ КОЛОНА

• НАЗИВ КОЛОНЕ ЈЕ ИМЕ КОЈИМ СЕ ПРЕДСТАВЉАЈУ ВРЕДНОСТИ УНЕТЕ У ТУ КОЛОНУ.

• НАЗИВ КОЛОНЕ ЈЕ ЈЕДИНСТВЕН ЗА ДЕФИНИСАНУ ТАБЕЛУ

• У РАЗНИМ ТАБЕЛАМА МОГУ ПОСТОЈАТИ КОЛОНЕ СА ИСТИМ ИМЕНОМ

Page 35: Baze podataka - Uvodno predavanje

РЕДОВИ, N-ТОРКЕРЕДОВИ ТАБЕЛЕ ОДГОВАРАЈУ ЛОГИЧКИМ

СЛОГОВИМА СЕКВЕНЦИЈАЛНЕ ДАТОТЕКЕ И ИМАЈУ СЛЕДЕЋЕ ОСОБИНЕ:

• СВАКИ РЕД ИМА ЈЕДНУ И САМО ЈЕДНУ ВРЕДНОСТ ЗА СВАКУ КОЛОНУ ТАБЕЛЕ

• РЕДОВИ ТАБЕЛЕ ИМАЈУ ИСТИ СКУП КОЛОНА И ПРИ ТОМЕ НЕКЕ ОД ВРЕДНОСТИ МОГУ БИТИ НУЛЛ, ТЈ. НЕ МОРАЈУ ИМАТИ ВРЕДНОСТИ ЗА СВАКУ КОЛОНУ

• СВЕ ВРЕДНОСТИ УНУТАР ЈЕДНЕ КОЛОНЕ СУ ИСТОГ ТИПА

• РЕДОВИ СУ ЈЕДИНСТВЕНИ ТЈ. НЕ СМЕЈУ ПОСТОЈАТИ ИДЕНТИЧНИ РЕДОВИ УНУТАР ТАБЕЛЕ.

Page 36: Baze podataka - Uvodno predavanje

КЉУЧ ТАБЕЛЕ

• КЉУЧ ТАБЕЛЕ ЈЕ СКУП КОЛОНА ЧИЈЕ ВРЕДНОСТИ ЈЕДИНСТВЕНО ОДРЕЂУЈУ ВРЕДНОСТИ СВИХ ОСТАЛИХ КОЛОНА

• НЕ ПОСТОЈИ НИЈЕДАН ПОДСКУП ОВОГ СКУПА КОЈИ ИМА ПРЕТХОДНО СВОЈСТВО

Page 37: Baze podataka - Uvodno predavanje

ВРСТЕ ТАБЕЛА

• БАЗНА-ФИЗИЧКА ТАБЕЛА која постоји на диску и садржи податке

• ВИРТУЕЛНА неименована табела које постоји само у радној меморији рачунара и у којој су приказани подаци издвојени из физичких табела (најчешће као резултат неког упита)

• ПОГЛЕД именована виртуелна табела чија се дефиниција чува као објекат у бази

Page 38: Baze podataka - Uvodno predavanje

РЕЛАЦИОНА АЛГЕБРА

Page 39: Baze podataka - Uvodno predavanje

Codd-ова правила • Основно или нулто правило које

представља “conditio sine qua non“[1] у релационим базама података гласи:

Сваки систем за управљање базама података, који се сматра, или који јесте, релациони, мора имати могућност управљања базом података на релациони начин и релационим методама.

[1] Услов без којег се не може

Page 40: Baze podataka - Uvodno predavanje

1. Представљање информација

• Све информације у релационој бази података морају логички бити представљене на исти начин: вредностима података у табелама - релацијама.

Page 41: Baze podataka - Uvodno predavanje

2. Логичка доступност подацима

Сваки податак мора имати такозвану “атомарну“[2] вредност, која логички мора бити доступна кориснику уз помоћ:

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

[2] Даљим рашчлањивањем податка, податак губи свој идентитет, као што и атом разбијањем губи своја основна својства.

Page 42: Baze podataka - Uvodno predavanje

3.Могућност приказивања непостојеће информације

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

Под појмом нултог податка подразумева се вредност неког атрибута која у датом тренутку није позната, није наступио моменат његовог постојања или неки објекти уопште не поседују то својство. То није вредност која је представљена нулом или низом нула, низом празних мјеста, или низом било којих других знакова.

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

Page 43: Baze podataka - Uvodno predavanje

4. Динамички каталог

• Релациона база података мора бити тако презентирана да ауторизовани корисници могу примијенити неки од “релационих језика” на све податке у њој.

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

Page 44: Baze podataka - Uvodno predavanje

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

Многи софтверски пакети омогућавају данас манипулисање подацима унутар базе података, и они су мање или више прилагођени кориснику - манипулатору.

Сваки од њих садржи програмски језик који помоћу прецизно дефинисане синтаксе, и на кориснику близак начин, омогућава:

Page 45: Baze podataka - Uvodno predavanje

•  дефинисање табела, • дефинисање атрибута, • уношење података,• дефинисање произвољног “погледа”

на базу података,• манипулацију подацима, • постављање ограничења

корисницима, • ауторизацију корисника,и • управљање произвољним

трансакцијама.

Page 46: Baze podataka - Uvodno predavanje

6. Независност интегритета базе• Ниједно ограничење интегритета

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

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

Page 47: Baze podataka - Uvodno predavanje

Ограничења у релационом моделу Потребно је ограничити вредности неких

атрибута у појединим релацијама: • Сам домен атрибута већ представља

одређено ограничење (старост, цена, итд...). • Интегритет ентитета: Ниједан атрибут који је

примарни кључ или део примарног кључа неке базне релације не може да узме null вредност.

• Референцијални интергритет: Скуп вредности спољњег кључа релације R1 мора бити подскуп скупа вредности примарног кључа релације R2 са којом се повезује релација R1. Релације R1 и R2 не морају бити различите.

Page 48: Baze podataka - Uvodno predavanje

7. језиком треће генерације се не могу заобићи правила интегритета дефинисана релационим језиком;

8. могућност креирања погледа и дефинисања операција над њима;

9. над погледима се могу извршавати и операције одржавања базе података;

10.апликациони програми остају непромењени ако се промене базне табеле (сем у случају промене структуре табела);

11.апликациони програми остају непромењени ако се промени физичка организација базе или физички метод приступа;

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

Page 49: Baze podataka - Uvodno predavanje

Оператори релационе алгебре• Опеатори релационе алгебре

дефинишу скуп операција над релацијама помоћу којих је могуће, из датог скупа релација (релационог модела), формирати жељене изведене релације.

• Чине их две групе оператора:

1. За ажурирање релација

2. За извештавање

Page 50: Baze podataka - Uvodno predavanje

ОПЕРАТОРИ РЕЛАЦИОНОГ МОДЕЛА• ОПЕРАТОРИ РЕЛАЦИОНЕ АЛГЕБРЕ

1. ОПЕРАТОРИ ПОГОДНИ ЗА АЖУРИРАЊЕ

2. ОПЕРАТОРИ ПОГОДНИ ЗА ИЗВЕШТАВАЊЕ

• ОПЕРАТОРИ РЕЛАЦИОНОГ РАЧУНА (=, >, >=, <, <=, … )

Page 51: Baze podataka - Uvodno predavanje

Dvovrednosna i trovrednosna logika

• Dvovrednosna logika:Logički iskazi (TRUE-tačno, FALSE-Netačno)

• Trovrednosna logika:Logički iskazi (TRUE-tačno, FALSE-Netačno, NULL-MAYBE)

Null vrednosti i trovrednosna logika

Page 52: Baze podataka - Uvodno predavanje

Dvovrednosna i trovrednosna logika

• Logičke operacije: unarne i binarne

• Unarne logičke operacije: NOT (NE)

• Binarne logičke operacije: AND (I), OR (ILI), XOR (Isključivo ILI)

Page 53: Baze podataka - Uvodno predavanje

Dvovrednosna logika NOT

x NOT

F T

T F

Page 54: Baze podataka - Uvodno predavanje

Dvovrednosna logika AND

x y x*y AND T F

F F F T T F

F T F F F F

T F F

T T T

Page 55: Baze podataka - Uvodno predavanje

Dvovrednosna logika OR

x y x+y OR T F

F F F T T T

F T T F T F

T F T

T T T

Page 56: Baze podataka - Uvodno predavanje

Dvovrednosna logika XOR

x y x +y XOR T F

F F F T F T

F T T F T F

T F T

T T F

Page 57: Baze podataka - Uvodno predavanje

Dvovrednosna logika relacija =

x y = = T F

F F T T T F

F T F F F T

T F F

T T T

Page 58: Baze podataka - Uvodno predavanje

Dvovrednosna logika relacija ≠

x y ≠ ≠ T F

F F F T F T

F T T F T F

T F T

T T F

Page 59: Baze podataka - Uvodno predavanje

Trovrednosna logika NOT

x NOT

F T

T F

Null Null

Page 60: Baze podataka - Uvodno predavanje

Trovrednosna logika AND

AND T F Null

T T F Null

F F F Null

Null Null Null Null

Page 61: Baze podataka - Uvodno predavanje

Trovrednosna logika OR

OR T F Null

T T T Null

F T F Null

Null Null Null Null

Page 62: Baze podataka - Uvodno predavanje

Trovrednosna logika XOR

XOR T F Null

T F T Null

F T F Null

Null Null Null Null

Page 63: Baze podataka - Uvodno predavanje

Trovrednosna logika relacija =

= T F Null

T T F Null

F F T Null

Null Null Null Null

Page 64: Baze podataka - Uvodno predavanje

Trovrednosna logika relacija ≠

≠ T F Null

T F T Null

F T F Null

Null Null Null Null

Page 65: Baze podataka - Uvodno predavanje

Trovrednosna logika relacija ≠

≠ T F Null

T F T Null

F T F Null

Null Null Null Null

Page 66: Baze podataka - Uvodno predavanje

Trovrednosna logika operatotor IS NULL i IS NOT NULL

IS NULL

IS NOT NULL

vrednost

F T

T F T

F F T

Null T F

Page 67: Baze podataka - Uvodno predavanje

ОПЕРАТОРИ ПОГОДНИ ЗА АЖУРИРАЊЕ

• УНИЈА,

• ПРЕСЕК,

• ДИФЕРЕНЦИЈА,

Page 68: Baze podataka - Uvodno predavanje

ОПЕРАТОРИ ПОГОДНИ ЗА ИЗВЕШТАВАЊЕ

• ПРОЈЕКЦИЈА

• СЕЛЕКЦИЈА или РЕСТРИКЦИЈА

• СПАЈАЊЕ

• ДЕЉЕЊЕ

Page 69: Baze podataka - Uvodno predavanje

Оператори за ажурирање релација

• Унија, пресек и диференција

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

Page 70: Baze podataka - Uvodno predavanje

Унија

• Унија две релације (два скупа, две табеле) R1 и R2, је релација R3 која садржи све n-торке које припадају релацији R1 и све n-торке које припадају релацији R2, сем оних које су идентичне са неким n-торкама у релацији R1 .

Операција уније се користи за додавање нових n-торки у неку релацију (упис)

Page 71: Baze podataka - Uvodno predavanje

Унија две релације

Page 72: Baze podataka - Uvodno predavanje

Додавање нове n-торке

Page 73: Baze podataka - Uvodno predavanje

Диференција-разлика релацијаРазлика двеју релација R1-R2 је релација R3 која садржи све n-торке из R1 које нису истовремено садржане у R2

Page 74: Baze podataka - Uvodno predavanje

Диференција-разлика релација

• Разлика двеју релација R1-R2 се користи за избацивање (брисање) n-торки из релације.

• Измена садржаја неке n-торке врши се у два корака:

1. Помоћу диференције (разлике) избацимо n-торку из табеле.

2. Затим извршимо потребне измене у n-торки и онда је помоћу УНИЈЕ вратимо у релацију

Page 75: Baze podataka - Uvodno predavanje

Ажурирање, тј. измена n-торкеполазна релација

n-торка коју треба изменити

релација без n-торке коју треба изменити

измењена n-торка

резултујућа релација након додавања измењене n-торке

Page 76: Baze podataka - Uvodno predavanje

Пресек

• Пресек две релације (два скупа, две табеле) R1 и R2, је релација R3 која садржи све n-торке које истовремено припадају и релацији R1 и релацији R2.

Page 77: Baze podataka - Uvodno predavanje

Производ (Декартов)

• производ два скупа А и Б, дефинише се као скуп уређених парова у којем први елемент припада скупу А а други скупу Б.

• Операција производа двеју или више релација користи се за спајање релација (прибављање података из више релација-табела)

Page 78: Baze podataka - Uvodno predavanje

Производ двеју релација

Page 79: Baze podataka - Uvodno predavanje

Операције погодне за извештавање

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

• RADNIK <idbr#,kvalif, ime, posao, rukovodilac, dat_zap, premija, plata, brod$>

• ODJELJENJE <brod#,, naziv, mesto>• PROJEKAT <brproj#,, imeproj, sredstva>• UČEŠĆE <idbr#, brproj#, funkcija,>

Page 80: Baze podataka - Uvodno predavanje

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

• Један Радник ради само у једном Одељењу

• Једно Одељењу запошљава више Радника

1:N

• Један Радник Учествује на више Пројеката

• Један Пројекат ангажује више Радника

N:М

Page 81: Baze podataka - Uvodno predavanje

Пројекција

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

R1(D1,…,Dm) =P(D1,…,Dm) OF R1(D1,…,Dm)

Radnik1 (brod#,kvalif)= P(brod#,kvalif) OF Radnik

Page 82: Baze podataka - Uvodno predavanje

Рестрикција-Селекција

• Рестрикција је издвајање оних n-торки из једне релације R1 (скуп врста једне табеле) које задовољавају неки услов P() над атрибутима релације R1 у нову релацију.

R1[P] = { x | xR1 Λ P() }

Radnik1= Radnik[kvalif=VSS]

Page 83: Baze podataka - Uvodno predavanje

Спајање• Нека су дате две релације А(А1,…,Аn) и B(B1,

…,Bm) и нека су X{A1,…An} и Y{B1,…,Bm} два скупа једнаког броја атрибута са једнаким кореспондентним доменима. Означимо са Z комплемент {A1,…An}/X, а са W комплемент {B1,…,Bm}/Y. Онда релације А и B можемо написати у облику: A(Z,X), B(Y,W). Нека је нека бинарна операција релационог рачуна из скупа {=, <, , ,,} која може бити дефинисана над доменима атрибута X и Y.

Page 84: Baze podataka - Uvodno predavanje

Природно спајање

• Резултат природног спајања релација А и B по атрибутима X и Y означимо са R=A[X Y]B при чему је =“=“ па је R=A[X=Y]B и то је скуп:

A[X=Y]B={(Z,X,W) | (X,Z)A, (Y,W)B X=Y}

• Уочавамо да релација R има скуп атрибута који је унија скупова Z, X(=Y), W.

• Дакле, на n-торке из релације A додају се m-торке из релације B, и то само оне које имају исте врдности неких атрибута.

Page 85: Baze podataka - Uvodno predavanje

ЈЕЗИЦИ ЗА РАД СА РЕЛАЦИОНИМ БАЗАМА ПОДАТАКА

• SQL Structured Query language

• QBE Query By Example

Page 86: Baze podataka - Uvodno predavanje

SQL

• ОСНОВУ ЈЕЗИКА ЧИНИ УПИТНИ БЛОК А ОСНОВНЕ КAРАКТЕРИСТИКЕ СУ:

1. ЈЕДНОСТАВНОСТ И ЈЕДНООБРАЗНОСТ ПРИ КОРИШЋЕЊУ

– ТАБЕЛА СЕ КРЕИРА ЈЕДНОМ НАРЕДБОМ И ОДМАХ ЈЕ РАСПОЛОЖИВА ЗА КОРИШЋЕЊЕ.

– РЕЗУЛТАТИ СВИХ ОПЕРАЦИЈА СУ ОПЕТ ТАБЕЛЕ

Page 87: Baze podataka - Uvodno predavanje

SQL

1.МОГУЋНОСТ И ИНТЕРАКТИВНОГ И АПЛИКАТИВНОГ ПРОГРАМИРАЊА– НА SQL УПИТ СЕ ОДМАХ ДОБИЈЕ

ОДГОВОР ИЛИ СЕ SQL БЛОКОВИ УГРАЂУЈУ У ПРОГРАМЕ ПИСАНЕ У ВИШИМ ПРОГРАМСКИМ ЈЕЗИЦИМА

2.НЕПРОЦЕДУРАЛНОСТ (ТЈ. МИНИМАЛНА ПРОЦЕДУРАЛНОСТ)