You are on page 1of 5

1 P3-Relacioni model

1.1 Relaciona algebra s41


1. Наведите основне операције релационе алгебре. Објасните оператор
преименовања (rename operator). s41,s56
2. Који услов треба да задовољавају < lista1> и <lista2>, да би било задовољено:
π <lista1> (π <lista2> (r)) = π <lista2> (π <lista1> (r)).
Објасните зашто. s45
3. Oпишите операције спајања (Декартов производ, theta join, equijoin, natural join)
у релационој алгебри. Која је разлика equi-join и natural join спајања? s53,s67
Илуструјте примјену операције спајања (коју сматрате адекватном) за креирање
упита којим се из базе података спецификоване (у дијелу Кориштене релације под
А) добија: Ime, Grad, Plata радника који имају руководиоца са именом 'Petаr'.
4. Oпишите операцију природног спајања. s68 Илуструјте примјену операције
природног спајања за креирање упита којим се из базе података спецификоване (у
дијелу Кориштене релације) добија листа клијената који имају штедни рачун у
некој филијали лоцираној у Бањој Луци. Модификујте претходни упит да се добије
листа клијената који живе у Бањој луци, али немају штедни рачун ни у једној
филијали лоцираној у Бањој Луци.
5. Навести дефиницију и дати опис операције генерализоване пројекције. Креирајте
упит којим се из базе података (спецификоване у дијелу: Кориштене релације)
добија листа назива филијала и укупног износа (стања) рачуна за односну филијалу
изражену у EUR-има. Напомена: Стања рачуна у филијалима се воде у КМ. Узети да
је курс КМ према EUR-у 1.95 КМ за 1 EUR-о. s80
6. Дајте дефиницију и опис операције дијељења релационе алгебре. Илуструјте
примјену агрегатне операције за креирање упита којим се из базе података
(спецификоване у дијелу: Кориштене релације) добија листа имена клијената који
имају одобрене кредите у свим филијалама банке које су лоциране у Бањој Луци.
7. Дајте дефиницију и опис агрегатне операције релационе алгебре. s81 Наведите
примјер примјене наведене операције. Илуструјте примјену агрегатне операције за
креирање упита којим се из базе података (спецификоване у дијелу Кориштене
релације под А) добија просјечна плата радника компаније по градовима у којима
живе.
8. Null вриједности: шта се репрезентује null вриједношћу и у којем домену. Шта је
резултат операције поређења која укључује null вриједност и како са том
вриједошћу раде оператори логичке дисјункције, конјукције и негације. Како
операције релационе алгебре раде са null вриједностима? Напомена:
Претпоставити да операције релационе алгебре користе исту конвенцију као SQL.
s89
9. Основне карактеристике и компарација релационе алгебре и релационог рачуна
torki.

1.2 Relacioni racun n-torki s105


10. Опишите егзистенцијални квантификатор и његово кориштење у релационом
рачуну torki. s106
11. Формална дефиниција релационог рачуна домена.Општа форма упита у
релационом рачуну n-torki. Како се изграђује предикатска формула у релационом
рачуну n-torki? s107
12. Шта су сигурни изрази, и шта треба да буде задовољено да би израз (упит) у
релационом рачуну домена био сигуран? Наведите примјер упита који није
сигуран, и објасните зашто. s114
13. Напишите примјер упита у релационом рачуну n-torki за базу података банке, која
је спецификована у дијелу Кориштене релације.
14. Спецификујте упит у релационом рачуну домена, којим се из базе података
(спецификоване у дијелу: Кориштене релације) добија листа имена клијената који
имају штедни рачун и којима је дат кредит (у неким филијалама банке).

1.3 Sigurnost izraza primjeri s120-s152


1.4 Zadaci
A.
employee(person-name,street,city)
works(person-name,company-name,salary)
company(company-name,city)
manages(person-name,manager-name)
B.
branch (branch-name, branch-city, assets)
customer (customer-name, customer-street, customer-city)
account (account-number, branch-name, balance)
loan (loan-number, branch-name, amount)
depositor (customer-name, account-number)
borrower (customer-name, loan-number)

15. За релације menages (у дијелу Кориштене релације) под А кoлико неки запослени
може имати менаџера ?. Која је алтернативна варијанта броја менаџера које може
имати неки запослени, и шта би се у том случају промијенило у датој
спецификацији шеме menages.
16. За релације спецификоване (у дијелу Кориштене релације) под А. написати упит у
релационој алгебри којим се селектују имена запослених и градове у којима живе,
а који не раде за компанију са именом Fiat. Примарни кључеви релација су
подцртани.
17. За релације спецификоване (у дијелу Кориштене релације) под А. написати упит у
релационој алгебри којим се селектују имена запослених који живе у истом граду у
којем је и локација компаније за коју раде.
18. Креирајте упит у релационој алгебри којим се из базе података (спецификоване у
дијелу: Кориштене релације) добија листа која садржи бројеве штедних рачуна са
максималном вриједношћу стања у релацији stedni-racun. Напомена: Један или
више рачуна може имати максималну вриједност на атрибуту stanje.
19. Напишите упит у релационој алгебри и у SQL'у којим се из базе података
спецификоване (у дијелу Кориштене релације) под А селектују имена радника
(особа), компаније у којима су запослени, износ плате (salary) и име менаџера који
је за њих задужен.
20. Напишите упит у релационој алгебри и у SQL'у којим се из базе података
спецификоване (у дијелу Кориштене релације) под А селектују имена свих
менаџера компаније FIAT.
21. За базу података пословног система банке, напишите упит у релационој алгебри и у
SQL’u којим се добијају имена корисника, градови у којим живе, назив банке и
сједиште банке, за све оне кориснике којима је банка одобрила кредит.
22. Напишите упит у SQL'у којим се из базе података спецификоване (у дијелу
Кориштене релације) под А селектују компаније и број запослених радника.. За
исту базу написати упит у релационој алгебри којом се селектују радници, улица и
град у којем живе, a којима је менаџер 'John'.
23. Напишите упит у SQL'у којим се из базе података спецификоване у дијелу
Кориштене релације под А, селектују имена радника, њихове плате и компаније у
којима раде, за све компаније које су лоциране у 'Beograd'-u.
24. Шта ради слиједећи SQL упит ?
select branch-name, count (distinct customer-name)
from depositor, account
where depositor.account-number = account.account-number
group by branch-name

25. Шта ради слиједећи SQL упит ?


select branch-name
from branch
where assets > some
(select assets
from branch
where branch-city = ‘Brooklyn’)
26. Шта ради слиједећи SQL упит ?
select distinct S.customer-name
from depositor as S
where not exists (
(select branch-name
from branch
where branch-city = ‘Brooklyn’)
except
(select R.branch-name
from depositor as T, account as R
where T.account-number = R.account-number and
S.customer-name = T.customer-name))

2 SQL pitanja
27. Oпишите операције спајања (јoin operations) у SQL'у.
28. Основна форма упита у SQL’u. Каква је форма еквивалентног упита релационој
алгебри, односно у релационом рачуну torki?
29. Угнијежђени упити у SQL'у. У којим ситуацијама се угнијежђени упити најчешће
користе ? Наведите примјер угнијежђеног SQL упита за базу података
спецификовану у дијелу Кориштене релације.
30. Напишите SQL исказ којим се креира табела account са спецификацијом кључева
(примарни, страни).
31. Шта је сврха погледа (views) и како се погледи спецификују у SQL’u ? Каква су права
корисника који раде са погледима? Како се врши ажурирање кроз погледе ?
32. Опишите врсте ауторизације које се могу добити за различите активности над
базом података. Спецификујте генералну форму SQL исказа за додјелу/опозив
привилегија за рад са објектима базом података.
33. Спецификујте SQL исказ, којим се кориснику U1 одузима привилегија брисања
података (торки) на релацији kredit. Напомена: повлачење привилегије кориснику
U1 треба да буде онемогућено/блокирано уколико је корисник U1 ту привилегију
прослиједио другим корисницима.
34. Спецификујте SQL исказ, којим се улози licni_bankar додјељује привилегија читања,
уметања, ажурирања и брисања података (торки) на релацији stedni-racun.
Напомена: претходно SQL исказом креирати наведену улогу.
35. Корисничке улоге и спецификација привилегија за рад са базом података преко
улога. Илуструјте на примјеру како се креирају улоге, додјелу привилегија улогама
и корисницима (преко улога). Објасните погодност овог концепта.
36. SQL Аssertions (потврде).
3 P5-Normalizacija strukture RBP
3.1 Problem grupisanja podataka s3
3.2 Funkcionalne zavisnosti s10
3.3 Normalizacija s29
3.4 Boyce-Codd-ova i treca normalna forma BCNF i 3NF s38
3.5 Testiranje FZ preko relacija s55
3.6 SKRACENA VERZIJA s57-s61

You might also like