Docsity
Docsity

Pripremite ispite
Pripremite ispite

Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u


Nabavite poene za preuzimanje
Nabavite poene za preuzimanje

Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan


Školska orijentacija
Školska orijentacija


Baze podataka Fon Skripta , Rezime od Računarstvo i informatika

sripta baze podataka fonBaze podataka Fon Skripta Baze podataka Fon Skripta Baze podataka Fon Skripta

Tipologija: Rezime

2016/2017

Učitan datuma 13.03.2017.

.22347
.22347 🇸🇷

4

(2)

9 dokumenti

1 / 25

Toggle sidebar

Ova stranica nije vidljiva u pregledu

Ne propustite važne delove!

bg1
1. Правила интегритета релационог модела. Примере ограничења описати преко операција релационе
алгебре.
Дефинишу се два општа правила интегритета релационог модела:
- Интегритет ентитета (интегритет кључа): Ни један атрибут који је примарни кључ или део
примарног клјуча неке базне релације не може да узме „нула вредност“.
- Референцијални интегритет: Ако нека базна релација R2 поседује спољни кључ Sk који ову
релацију повезује са неком другом базном релацијом R1, преко примарног кључа Pk, тада свака
вредност Sk мора бити било једнака некој вредности Pk или бити „нула“ вредност.
Пример: πšifsmer (student) πšifsmer (smer) U {null}
2. Навести, описати и дати пример за сложене конструисане типове у објектно - релационом БП
(SQL-1999). За сваки тип дати општу дефиницију и начин њиховог коришћења у SQL наредбама. ИЛИ
Конструисани типови објектно – релационог модела (дати пример)
- Референтни тип табеле дефинисане директно над структуираним типовим могу да имају
референтну колону, која служи као идентификатор н-торки. Представља преференцу на неки
објекат, табелу.
Пример: REF IS<naziv atributa><nacin generisanja>
- Тип врста је низ поља који чине парови (<назив података>,<тип података>). У SQL: 1999 је
могуће дефинисати колону у табели која ће имати комплексну структуру. Тип врста се специфицира
следећом синтаксом: ROW(ulica CHAR(30), broj INTEGER, grad CHAR (20))
Пример: CREATE TABLE student(br_indeksa CHAR(6),
ime CHAR(15),
prezime CHAR(15),
adresa ROW(ulica CHAR(30),
broj INTEGER,
grad CHAR(20)));
- Колекција Представља групу која се састоји од нула или више елемената истог типа. Број
елемената колекције се назива кардиналност колекције. Тип колекције је одређен врстом колекције
и типом елемената колекције. SQL:1999 стандард обезбеђује само једну врсту колекције – низ, док је
стандардизација других врста остављена за наредне генерације језика. Формална дефиниција низа:
<tip elemenata niza>ARRAY[<maksimalna kardinalnost niza>]
Пример: CREATE TABLE sekcija (naziv CHAR (15),
clan CHAR (20), ARRAY[20]);
INSERT INTO sekcija (naziv,clan)
VALUES (‘dramska, ARRAY [‘Markovic’,’Popovic’]);
SELECT naziv, clan[2] AS ime FROM sekcija;
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Delimični pregled teksta

Preuzmite Baze podataka Fon Skripta i više Rezime u PDF od Računarstvo i informatika samo na Docsity!

1. Правила интегритета релационог модела. Примере ограничења описати преко операција релационе

алгебре.

Дефинишу се два општа правила интегритета релационог модела:

  • Интегритет ентитета (интегритет кључа): Ни један атрибут који је примарни кључ или део примарног клјуча неке базне релације не може да узме „нула вредност“.
  • Референцијални интегритет: Ако нека базна релација R2 поседује спољни кључ Sk који ову релацију повезује са неком другом базном релацијом R1, преко примарног кључа Pk, тада свака вредност Sk мора бити било једнака некој вредности Pk или бити „нула“ вредност.

Пример: πšifsmer (student) πšifsmer (smer) U {null}

2. Навести, описати и дати пример за сложене конструисане типове у објектно - релационом БП

(SQL-1999). За сваки тип дати општу дефиницију и начин њиховог коришћења у SQL наредбама. ИЛИ Конструисани типови објектно – релационог модела (дати пример)

  • Референтни тип – табеле дефинисане директно над структуираним типовим могу да имају референтну колону, која служи као идентификатор н-торки. Представља преференцу на неки објекат, табелу.

Пример: REF IS

  • Тип врста – је низ поља који чине парови (<назив података>,<тип података>). У SQL: 1999 је могуће дефинисати колону у табели која ће имати комплексну структуру. Тип врста се специфицира следећом синтаксом: ROW(ulica CHAR(30), broj INTEGER, grad CHAR (20))

Пример: CREATE TABLE student(br_indeksa CHAR(6), ime CHAR(15), prezime CHAR(15), adresa ROW(ulica CHAR(30), broj INTEGER, grad CHAR(20)));

  • Колекција – Представља групу која се састоји од нула или више елемената истог типа. Број елемената колекције се назива кардиналност колекције. Тип колекције је одређен врстом колекције и типом елемената колекције. SQL:1999 стандард обезбеђује само једну врсту колекције – низ, док је стандардизација других врста остављена за наредне генерације језика. Формална дефиниција низа: ARRAY[]

Пример: CREATE TABLE sekcija (naziv CHAR (15), clan CHAR (20), ARRAY[20]); INSERT INTO sekcija (naziv,clan) VALUES (‘dramska, ARRAY [‘Markovic’,’Popovic’]); SELECT naziv, clan[2] AS ime FROM sekcija;

3. а) Навести и објаснити основне елементе графа претхођења трансакција, дати дефиницију када Ti

предходи Tj б) Проверити да ли постоји конфликт серијабилност извршења S1 скупа трансакција а после и S2. Дати образложење. (4)

S1: r2(A), r2(B), w2(A), r1(B), w1(B), r3(A), w3(A), w3(B) S2: r2(A), r2(B), r1(B), w1(B), r3(A), w3(A), w3(B), w2(A)

а)

Граф превођења трансакција се састоји од чворова који представљају трансакције и усмерених грана које приказују претхођење трансакција. Каже се да трансакција Ti предходи трансакцији Tj(Ti<STj) у извршењу S ако постоји операција Oi трансакције Ti и операција Ој трансакције Тј тако да је:

  • Oi претходи Oj у S
  • и Oi и Oj се односе на исти елемент базе података
  • барем једна од операција Oi и Oj је операција уписивања

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

б)

S1: T2 предходи T3 (операције 3 и 6), Т2 предходи Т1 (операције 2 и 5), Т1 предходи Т3 (операције 5 и

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

S2: T2 предходи T3 (операције 1 и 6), Т3 предходи Т2 (операције 6 и 8), Т2 предходи Т1 (операције 2 и 4), Т1 претходи Т3 (операције 4 и 7)

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

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

Пример: CREATE INTEGRITY RULE ocene_smer FORALL Student (IF Student.SifSmer = 01 THEN EXIST Prijava (Prijava.Ocena > 7 AND Student.BrInd = Prijava.BrInd AND Prijava.SifPred = Predmet.SifPred AND Predmet.NazivPred = ‘Matematika’));

5. Спољно спајање. Објашњење и пример.

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

1) Лево спољно спајање – омогућава укључивање у резултујућу табелу свих редова табеле са леве стране JOIN клаузуле тако што се празним редом проширује табела са десне стране.

odeljenje LEFT OUTER JOIN radnik USING ( SifraOdeljenja )

SifraOdeljenja NazivOdeljenja SifraRadnika ImePrezime SifraOdelj 1 Uprava 1000 PP 1 1 Uprava 1001 MM 1 2 Racunarski centar 1002 ZZ 2 2 Racunarski centar 1003 LL 2 3 Proizvodnja???

2) Десно спољно спајање – омогућава укључивање у разултујућу табелу свих редова табеле са десне стране JOIN клаузуле тако што се празним редом проширује табела са леве стране.

odeljenje RIGHT OUTER JOIN radnik USING (SifraOdeljenja)

SifraOdeljenja NazivOdeljenja SifraRadnika ImePrezime SifraOdelj 1 Uprava 1000 PP 1 1 Uprava 1001 MM 1 2 Racunarski centar 1002 ZZ 2 2 Racunarski centar 1003 LL 2 ?? 1004 RR?

3) Централно спајање – омогућује укључивање у резултујућу табелу свих редова и леве и десне табеле тако што се обе табеле проширују празним редом

SifraRadnika ImePrezime SifraOdelj 1000 PP 1 1001 MM 1 1002 ZZ 2 1003 LL 2 1004 RR

SifraOdeljenja NazivOdeljenja 1 Uprava 2 Racunarski centar 3 Prizvodnja

SifraOdeljenja NazivOdeljenja SifraRadnika ImePrezime SifraOdelj 1 Uprava 1000 PP 1 1 Uprava 1001 MM 1 2 Racunarski centar 1002 ZZ 2 2 Racunarski centar 1003 LL 2 3 Proizvodnja??? ?? 1004 RR?

6. Основне предности коришћења погледа. Навести и објаснити.

Једноставност коришћења - Погледе могу да дефинишу администратори базе и да такве једноставне табеле ставе на увид корисницима. Сигурност података - Поглед представља моћан механизам контроле приступа подацима. Преко погледа се корисницима стављају на увид само неки подаци из базе података. Перформансе- Поглед се чувају у искомпајлираном облику. Независност података - Поглед је механизам за дефинисање корисничког погледа на базу података, односно за остваривање независности програма од података. Ако корисник развија свој програм над погледом, промена базе података неће захтевати промену његовог програма, већ само промену дефиниције погледа.

7. Дат је објектни модел. Подразумева се да сви типови имају атрибуте ID и назив.

а) Дати ODL наредбе за креирање схеме објектне базе

б) Написати OQL упит којим се приказују сви пројекти на којима учествује и професор који је иницирао тај пројекат

a)

class Osoba (extent osobe)

{

attribute short ID; attribute string NAZIV; relationship Projekat zahteva inverse Projekat :: iniciran_od_osobe;

Class Projekat (extent projekti)

{

У овој техници се објекти се не закључавају и не долази до појављивања ни мртвих ни живих локота. Међутим, обично долази до великог броја рестартовања трансакција. Такође, наредбе се морају баферовати до commit-a.

9. Објаснити основе релационог упитног језига QBE.

QBE (Query By Example) – је упитни језик који представља имплементацију релационог рачуна домена, преко специфичне "дводимензионалне" синтаксе, која је врло блиска кориснику, јер се преко ње, директно, у скелету табеле представљене на екрану, задаје "пример одговора" који корисник жели. Отуда и име упита примером (упит на основу примера).

Назив релације Атрибути Операције над целим н-торкама Ознаке променљивих, константи, услова и операција над атрибутима

У рубрици релација уноси се име жељене релације, након чега се у рубрикама за АТРИБУТЕ појављују називи атрибута те релације.

У рубрици за операције испод рубрике за релацију уписују се операције које се односе на н-торку: Операције: P. (PRINT - приказивање), I. (INSERT - убацивање), D. (DELETE - избацивање) U. (UPDATE - ажурирање).

Ако се нека од операција односи само на појединачне атрибуте, код операције уноси се у колони одговарајућег атрибута, где се уносе и услови претраживања, променљиве и константе. Услов унет у колони неког атрибута односи се само на тај атрибут. Ако су услови различитих атрибута уписани у истом реду, онда су повезани логичким оператором AND (“И”). Да би били повезани логичким оператором “ИЛИ” , односно ОR, уписују се у различитим редовима.

У QBE је развијен концепт за постављање упита над више табела - Концепт променљиве. Променљива у QBE представља било који низ карактера који почиње доњом цртом “_”. Ако се иста променљива наведе у различитим табелама, те табеле се спајају изједначавањем вредности атрибута у којем је променљива дефинисана (врши се еквиспајање).

10. Објаснити и илустровати примером врсте наслеђивања у ODMG.

У ODMG се дефинишу две посебне врсте наслеђивања:

  • наслеђивање понашања и
  • наслеђивање стања.

Наслеђивање понашања - за наслеђивање понашања се користи веза надтип-подтип (Која се понекад назива веза генерализација-специјализација или ISA веза. Надтип у наслеђивању понашања мора да буде интерфејс. У подтипу може се редефинисати понашање спецификовано у надтипу. На пример, ако је у типу Радник спецификована операција ОбрачунЗараде, иста операција се може различито имплементирати за подтипове СталниРадник и ПривремениРадник. Особина да се иста операција извршава на различит начин у зависности од типа објекта са којим се извршава, назива се полиморфизам.

У ODMG моделу подржано је вишеструко наслеђивање понашања. Тада се, међутим, може десити да две (или више) наслеђене операције имају исти назив, а различит број и/или тип аргумената. Да би се овај проблем избегао, није дозвољено "преоптерећење" ( overloading ) имена операција (давање истих имена операцијама различитих типова) у таквој хијерархији наслеђивања.

Основна правила за ово наслеђивање: Интерфејс може да наследи други интерфејс.(ili vise njih) Класа може да наследи интерфејс.(ili vise njih) Интерфејс ne moze da nasledi klasu Класа не може да наследи класу.

Пример: Interface Osoba {}; Class Radnik:Osoba {}; Пошто се интерфејс не може инстанцирати, он апстрактној класи (слично у неким ОО језицима) служи само за то да се из њега наследе неке операције.

Наслеђивање стања - за наслеђивање стања користи се специфична веза EXTENDS (проширење). У овој вези између класа, подређена класа наслеђује целокупно стање и понашање класе коју проширује. Kласа може наследити само 1 класу extends наслеђивањем.

Пример: interface Radnik { attribute Date DatumZapošljavanja; void PostaviBrojBodova (in unsignedlong Bodovi); float SračunajPletu (in unsignedlong Bodovi, in float VredBoda); }; class Lice { attribute string ime; attribute Date datumRođenja; }; class ZaposlenoLice extends Lice: Radnik { attribute Date datumZapošljavanja; attribute Carency plata; relationship Rukovodilac šef inverse Rukovodilac ::podređeni; }; class Rukovodilac extends ZaposlenoLice { relationship set podređeni inverse ZaposlenoLice šef; };

11. Шта је трансакција? Објаснити скуп особина које трансакција мора да поседује.

Трансакција је једно извршење неке "Логичке јединице посла" корисника базе података Она може бити нека логичка целина једног програма или цео програм. Трансакција мора да поседује следећи скуп особина ( ACID особине ):

1. Атомност (Atomicity). Скуп активности над базом података које се извршавају по принципу “све или ништа”, тј. или ће се све активности извршити,или ни једна. Остварује се преко COMMIT i ROLLBACK naredbi 2. Конзистентност (Consistency). Извршење трансакције треба да преведе базу података из једног у друго конзистентно стање.

Тренутан начин Проузрокује прекид извршавања трансакције одмах по идентфиковању догађаја за који постоји дефинисано ЕЦА-правило, након чега се то правило проверава.

Одложен начин Изрвшавање правила се одлаже до завршетка трансакције која је произвела догађај.

Раздвојен начин Правило постаје сасвим нова трансакција која се извршава независно од полазне.

13. Навести све додатне операције релационе алгебре које су уведене због постојања нула вредности у

базу података и дати примере.

*** Спољно спајање је објашњено у 5. питању ове скрипте**

Таблица истинитости тровредносте логике

? – представља нула вредност, односно логичку вредност можда

AND T? F

T T? F

??^?^ F

F F F F

OR T? F

T T T T

? T??

F T^?^ F

NOT

T F

F T

MoždaSelekcija (MAYBE_SELECT) – селектују се оне н-торке релације за које се предикат селекције, на основу тровредносних таблица истинитости срачунава у нула вредност.

R

R2 := ?sigmaA (R3)

Резултат операције је (селектоване су само они редови који у А колони имају нула вредност) R А В ? b ??

MoždaSpajanje (MAYBE_JOIN) – у резултату спајања се појављују оне н-торке за које се предикат спајања срачунава у нула вредност на основу тровредносних таблица истинитости.

Rb Rc A B a1 b a2 b ? b

Ra := Rb[?A = ?D]Rc

SpoljnaUnija (OUTER_UNION) – додавањем нових атрибута и постављањем њихових вредности на нула вредност могу се две некомпатибилне релације учинити компатибилним. Спољна унија подразумева да су на овај начин две некомпатибилне релације учињене компатибилним и да је затим извршена операција уније.

R A B C a1 b1 c a2 b1 c

А B

a b a? ? b ??

C D E

c1? e c2 d2 e c3? e

A B C D E

a1 b1 c1? e a1 b1 c3? e a2 b2 c1? e a2 b2 c3? e ? b3 c1? e ? b3 c2 d2 e ? b3 c3? e

BrInd Ime Starost SifSmer 152 /97 Ana 19 01 223/95 Mirko 21 01 021/94 Zoran 20 02 003/94 Milos 22 01

Диференција – Резултат операције диференције R3 := R1 - R2 су н-торке релације R1 које нису истовремено и н-торке релације R.

BrInd Ime Starost SifSmer 152/97 Ana 19 01

Пресек – Резултат операције пресека R3 := R1 presek R2 je relacija R3 која садржи н-торке које се појављују у обе релације R1 и R2.

BrInd Ime Starost SifSmer 223/95 Mirko 21 01 021/94 Zoran 20 02

Декартов производ – Резултат ове операције R3 := R1 x R2 је релација R3 чије су н-торке сви „парови“ које чине једна н-торка релације R1 и једна н-торка релације R.

R C D E 1 2 3 2 4 6 R A B a1 b a2 b a3 b

R

C D E A B

1 2 3 a1 b 1 2 3 a2 b 1 2 3 a3 b 2 4 6 a1 b 2 4 6 a2 b 2 4 6 a3 b

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

Специјалне релационе операције

Пројекција – операција пројекције је унарна операција која из неке релације селектује скуп наведених атрибута, односно вади вертикални подскуп из одговарајуће табеле. Формално се дефинише на следећи начин:

Нека је R(A1, A2, … , An) релација а X подскуп њених атрибута. Означимо Y са комплемент {A1, A2, … , An} - X. Резултат операције пројекције релације R по атрибутима X је

Πx(R)={x | Ǝ y, <x,y> ϵ R}

Селекција – унарна операција која из дате релације селектује н-торке које задовољавају задати услов, вади хоризонтални подскуп табеле. Формално се дефинише на следећи начин:

Дата је релација је R(A1, A2, … , An) и предикат Θ дефинисан над њеним атрибутима. Резултат операције селекције

σΘ(R) = {x | x ϵ R AND Θ(x)}

jе скуп н-торки x релације R које задовољавају предикат (услов) Θ.

Спајање (JOIN) – бинарна операција која спаја две релације на тај начин да се у резултату појављују они парови н-торки једне и друге релације које задовољавају услов задат над њиховим атрибутима. Два типа: еквиспајање и природно спајање.

Дате су релације R 1 (A1, A2, … , An) и R 2 (B1, B2, … , Bm) и предикат Θ дефинисан над њиховим атрибутима. Обележимо са X и Y скупове атрибута релација R 1 и R2, респективно. Резултат операције спајања ових релација је

R1[xΘ]R 2 = {<x,y> | x ϵ R 1 AND y ϵ R2 AND Θ(x,y)}

Prijava [Prijava.SifPred ÷ Predmet.SifPred] Predmet

16. Приказати шему компоненти СУПБ и описати улогу компоненти

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

Систем за управљање складиштењем података – управљање датотекама и управљање баферима. Управљање датотекама води рачуна о локацији датотека на бази података и о приступу блоковима података на захтев управљања баферима. Блокови података су континуални сегменти меморије величине од 4000 до 16000 бајта. Сваки диск је обично подељен на неколико блокова података. Управљање баферима након приступа одређеном блоку прихвата тај блок са диска, додељује му страницу централне меморије и задржава га ту у складу са одређеним алгоритмом. Након тога ослобађа ту страницу и браћа блок на тај диск.

Улази у СУБП – упити, апликације и управљање шемом базе података. Улази у СУБП реализовани су преко неког језика базе података, који је заснован на неком моделу података. Језици базе података су: језик за опис података (Data Definition Language - DDL) који се користи за реализацију одржавања шеме базе података и језик за манипулацију подацима (Data Manipulation Language - DML) преко кога се врши претраживање базе преко упита и модификовање базе података.

BrInd 152/

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

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

17. Објаснити шта је поглед, које су основне предности у коришћењу, дати услове које треба да

испуни поглед да би могао да послужи за ажурирање базе.

Ако доделимо име табели која је резултат неког упита добијамо табелу поглед. SQL конструкција за дефиницију погледа је:

CREATE VIEW NAZIV_POGLEDA[IME_KOLONE_1{IME_KOLONE_2}] AS UPIT [WITH[LOCAL|CASCADED] CHECK OPTION];

Предности:

Једноставност коришћења - Погледе могу да дефинишу администратори базе и да такве једноставне табеле ставе на увид корисницима. Сигурност података - Поглед представља моћан механизам контроле приступа подацима. Преко погледа се корисницима стављају на увид само неки подаци из базе података. Перформансе- Поглед се чувају у искомпајлираном облику. Независност података - Поглед је механизам за дефинисање корисничког погледа на базу података, односно за остваривање независности програма од података. Ако корисник развија свој програм над погледом, промена базе података неће захтевати промену његовог програма, већ само промену дефиниције погледа.

Услови да би погледи послужили за ажурирање базе: 1) У FROM клаузули упита који креира поглед може да буде наведена само једна табела, 2) У упиту се не могу користити GROUB BY и HAVING клаузуле, 3) Не може се користити DISTINCT кључна реч, 4) WHERE клаузула не може да садржи подупит који се референција на табелу у FROM клаузули упита директно или преко неког погледа, 5) Све колоне у упиту који формира поглед морају бити имена колона базних табела или погледа, не могу бити агрегатне функције и морају у дефиницију бити укључене све NOT NULL колоне табеле

18. Укратко објаснити врсте корисничких и конструисаних типова, креирати објектно – релациони

модел којим се омогућава складиштење колекције студената са једнозначним атрибутима бројИндекса, имеПрезиме, вишезначним атрибутом положениИспити и референтном колоном која указује на наставни план. Наставни план има атрибуте сифраПлана и датумОд.

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

20. а) Које су три карактеристике модела података?

б )Како се могу класификовати модели података по критеријуму начина описа динамике система?

a)

1. Типизација (класификација) објеката, односно података. Објекти који имају исти скуп особина (атрибута и веза) и исто динамичко понашање могу се представити неким типом или класом објеката. 2. Генерализација је апстракција у којој се скуп сличних типова објеката представља општијим генеричким типом, односно надтипом.

3. Агрегација је апстракција у којој се скуп објеката и њихових међусобних веза третира као нови,

јединствени и агрегирани тип.

б)

1. Конвенционални (хијерархијски, мрежни, релациони, модел објекти-везе). БП је потпуно статички концепт, са изузетком једноставних динамичких правила интегритета. Сва динамика је у апликацијама. 2. Објектни модел. Динамика се обухвата на исти начин и у БП и у апликацијама. 3. Активне БП. Преко концепта правила, која се исказују као комбинација

<услов,акција>, знатно већа количина се налази у БП

21. Дате су табеле R(P,A) и S(F,B). Уз предпоставку да постоји референцијално ограничење: S.F је

спољни кључ који се референцира на примарни R.P, написати тригер на нивоу наредбе којим се имплементира динамичко правило интегритета „ON UPDATE DEFAULT“ и „ON DELETE NULLIFIES“

Create trigger on_update_default After update on R referencing old table as oldr for each statement begin atomic update s set f = default where f in (select p from oldr) end;

Create trigger on_delete_nullifies After delete on R referencing old table as oldr for each statement begin atomic delete from s set f = null where f in (select p from oldr) end;

22. Објаснити појмове „живог“ и „мртвог“ локота. Навести и објаснити технике за разрешавање

„мртвог локота“

У току извршења скупа трансакција, могуће је да две или више трансакција формирају “мртви локот“, односно да локоти које су оне поставиле на објекте базе података све њих доводе у стање чекања. „Живи локот“ је ситуација у којој је нека трансакција стално у стању чекања на неки објекат базе података због тога што друге трансакције увек пре ње поставе локот на тај објекат. Проблем живог локота се једноставно решава увођењем неког редоследа закључавања објеката (FIFO). За решавање проблема мртвих локота користе се 3 технике:

1) Прекидање трансакције после истека интервала времена. Користи парамета timeout који менаџер локота додељује трансакцији при покушају закључавања неког објекта. Кад ово време истекне трансакција се поништава и поново стартује. 2) Превенција локота. Један од протокола за превенцију мртвог чвора се заснива на уређењу елемената базе података. Блокови се могу уредити по њиховим адресама на спољној меморији. Ако се захтева да свака трансакција закључа елементе у њиховом редоследу који је дефинисан на спољној меморији, до мртвог чвора неће доћи. 3) Детекција мртвог чвора – дозвољава се да до мртвог чвора дође, па се тада нека од трансакција која ге је изазвала „убије“, њени ефекти на базу пониште, а она евентуално поново стартује, надајући се да тада неће изазвати мртви локот. За откривање мртвих локота у систему се користи тзв. граф чекања (Wait-For graf).

23. Објанити сличности и разлике између следећих концепата:

а) Релациона алгебра и релациони рачун, б) Вредносна ограничења и структурна ограничења у моделу објекти-везе в) Операција спајања и операција унире у релационом моделу г) Дистинкт тип и структурни тип у објектно-релационом моделу д) Дељиви локот и ексклузивни локот

1) Релациона алгебра је процедурални, а релациони рачун је непроцедурални језик. Оба се користе за исказивање операција релационог модела. 2) Структурна ограничења су језички исказ графичке представе МОВ-а и односе се на кардиналности пресликавања. Вредносна ограничења дефинишу дозвољене вредности атрибута и дозвољене промене ових вредности. 3) Унија садржи све n-торке које се појављују у бар једној од табела. Спајање подразумева да n- торке обе релације задовољавају услов задат над њиховим атрибутима. 4) Дистинктни типови су једноставни, перзистентни, именовани, кориснички дефинисани и коначни, тј. не могу да имају подтипове и није подржано наслеђивање. Структуирани тип може да има један или више атрибута, да подржава наслеђивање и има методе и не мора да има сопствене инстанце. Није коначан. 5) Ако једна трансакција постави ексклузивни локот на неки објекат ни једна друга трансакција не може да постави ни један локот на тај објекат. Ако једна или више трансакција постави дељиви локот на одређени објекат, ни једна трансакција не може да постави ексклузивни локот на тај објекат

24. Нацртати слику и објаснити ANCI|SPARC тронивооску архитектуру

ANSI/SPARC је тронивоска архитектура у којој поједини нивои имају за циљ да, с једне сттране, учине независном логичку од физичке структуре базе података, а са друге, апликационе програме и од физичке и од логичке структуре базе. Нивои у овој архитектури су:  Интерни (физички) ниво, који дефинише начин на који су подаци физички организовани на спољним меморијама,  Концептуални ниво (шема базе података), који дефинише општу логичку структуру базе података и треба да омогући управљање подацима као заједничким ресурсом у целом систему  Екстерни (кориснички) ниво, на коме се дефинише логичка структура података погодна за програме