Struktura i organizacija baza podataka

Similar documents
Uvod u relacione baze podataka

Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se moći:

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

Podešavanje za eduroam ios

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd,

BENCHMARKING HOSTELA

Struktura indeksa: B-stablo. ls/swd/btree/btree.html

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA

Ulazne promenljive se nazivaju argumenti ili fiktivni parametri. Potprogram se poziva u okviru programa, kada se pri pozivu navode stvarni parametri.

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

MRS MRSLab09 Metodologija Razvoja Softvera Vežba 09

Bear management in Croatia

SAS On Demand. Video: Upute za registraciju:

3.2. Prikazati podatke o svim proizvodima, koji se proizvode u Zrenjaninu.

CRNA GORA

Ali kako znati koja maksimalna plata pripada kojem sektoru? GROUP BY in SELECT Obično se uključuje GROUP BY kolona u SELECT listi.

PROJEKTNI PRORAČUN 1

KAPACITET USB GB. Laserska gravura. po jednoj strani. Digitalna štampa, pun kolor, po jednoj strani USB GB 8 GB 16 GB.

Nejednakosti s faktorijelima

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

UNIVERZITET U BEOGRADU RUDARSKO GEOLOŠKI FAKULTET DEPARTMAN ZA HIDROGEOLOGIJU ZBORNIK RADOVA. ZLATIBOR maj godine

Bušilice nove generacije. ImpactDrill

Upute za korištenje makronaredbi gml2dwg i gml2dgn

GUI Layout Manager-i. Bojan Tomić Branislav Vidojević

Advertising on the Web

KONFIGURACIJA MODEMA. ZyXEL Prestige 660RU

Projektovanje IS. Fizičko modelovanje Aplikativno modelovanje Softver

Donosnost zavarovanj v omejeni izdaji

Ime sekvence mora biti uključeno u CREATE SEQUENCE iskazu, a svi ostali izrazi su opcioni, ali se savetuje da se uključe svi izraz.

1. Instalacija programske podrške

IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI

Klasterizacija. NIKOLA MILIKIĆ URL:

ENR 1.4 OPIS I KLASIFIKACIJA VAZDUŠNOG PROSTORA U KOME SE PRUŽAJU ATS USLUGE ENR 1.4 ATS AIRSPACE CLASSIFICATION AND DESCRIPTION

KABUPLAST, AGROPLAST, AGROSIL 2500

IZRADA TEHNIČKE DOKUMENTACIJE

1.7 Predstavljanje negativnih brojeva u binarnom sistemu

NIS PETROL. Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a

RANI BOOKING TURSKA LJETO 2017

Priprema podataka. NIKOLA MILIKIĆ URL:

MINISTRY OF THE SEA, TRANSPORT AND INFRASTRUCTURE

Agregacija podataka u Data Warehouse sistemima

FAKULTET ZA POSLOVNU INFORMATIKU

2. poglavlje - IDENTIFIKACIJA POTROŠAČA - od 62 do 80 strane (19 strana)

Windows Easy Transfer

Port Community System

H Marie Skłodowska-Curie Actions (MSCA)

STRUČNA PRAKSA B-PRO TEMA 13

MRS MRSLab08 Metodologija Razvoja Softvera Vežba 08

msc Velimir Milanovic Unošenje prvih zapisa Kreiranje elektronskih obrazaca - formi Prva forma - Čitaoci U P I T I

Uvod u web okruženje SQL

Otpremanje video snimka na YouTube

1. Lekcija Pojam entiteta, podatka i informacije

UPITI (Queries) U MICROSOFT ACCESSU XP

Tutorijal za Štefice za upload slika na forum.

KAKO GA TVORIMO? Tvorimo ga tako, da glagol postavimo v preteklik (past simple): 1. GLAGOL BITI - WAS / WERE TRDILNA OBLIKA:

WELLNESS & SPA YOUR SERENITY IS OUR PRIORITY. VAŠ MIR JE NAŠ PRIORITET!

DOSTAVUANJE PONUDA ZA WIMAX MONTENEGRO DOO PODGORICA

A TI,DIOS (You Are God) œ œ. œ œ œ œ. œ. œ. œ. Dios, Dios, God, we ac -

DANI BRANIMIRA GUŠICA - novi prilozi poznavanju prirodoslovlja otoka Mljeta. Hotel ODISEJ, POMENA, otok Mljet, listopad 2010.

A TI,DIOS (You Are God) INTRO South American Dance (q = ca. 80) Dm. œ œ. œ # œ œ œ œ. œ. œ. œ œ. j J œ. œ œ œ œ œ œ œ. ba - mos; you; All

2. Kreiranje nove baze podataka

Ekonomija. teorija i praksa. Economics. Theory and Practice. FAKULTET ZA EKONOMIJU I INŽENJERSKI MENADŽMENT u novom sadu UDK: 33 ISSN

- Vežba 1 (dodatan materijal) - Kreiranje Web šablona (template) pomoću softvera Adobe Photoshop CS

Trening: Obzor financijsko izvještavanje i osnovne ugovorne obveze

Permanent Expert Group for Navigation

3D GRAFIKA I ANIMACIJA

Informacioni sistem za izvještavanje baziran na indikatorima (IRIS) Korisničko upustvo. Verzija 1.0

PREDMET: Odgovor na upit u postupku jednostavne nabave za predmet nabave Najam multifunkcijskih fotokopirnih uređaja, Evidencijski broj nabave 10/18

Croatian Automobile Club: Contribution to road safety in the Republic of Croatia

OTVARANJE BAZE PODATAKA I IZRADA TABLICE U MICROSOFT ACCESS-u

KREIRANJE DINAMIČKIH INTERFEJSA ZASNOVANIH NA META-ŠEMAMA CREATION OF DYNAMIC INTERFACES BASED ON META-SCHEMES

47. Međunarodni Kongres KGH

TEHNO SISTEM d.o.o. PRODUCT CATALOGUE KATALOG PROIZVODA TOPLOSKUPLJAJUĆI KABLOVSKI PRIBOR HEAT-SHRINKABLE CABLE ACCESSORIES

Fizičko projektovanje baza podataka. Ivana Tanasijevic, Matematički fakultet, Beograd

1. OPĆI PODACI 2. DOSADAŠNJE ISKUSTVO 2.1. SAPARD IPARD. KORISNIK(U) JE (upisati DA/NE)

Summi triumphum. & bc. w w w Ó w w & b 2. Qui. w w w Ó. w w. w w. Ó œ. Let us recount with praise the triumph of the highest King, 1.

Obrada podataka poslanih preko web formi

Serbian Mesopotamia in the South of the Great Hungarian (Pannonian) Plain. Tisza Tisa. Danube Dunav Duna V O J V O D I N A. Sava

TRENING I RAZVOJ VEŽBE 4 JELENA ANĐELKOVIĆ LABROVIĆ

INSTALIRANJE SOFTVERSKOG SISTEMA SURVEY

1. Minex baza podataka

Univerzitet u Novom Sadu. Fakultet tehničkih nauka. Odsek za računarsku tehniku i računarske komunikacije. Uvod u GIT

J. P. MEĐUNARODNI AERODROM "SARAJEVO" D.O.O.

FER2.net. Tutorial za 1. međuispit iz Baza podataka. web verzija tutoriala: autor: christair. Sadržaj:

MODEL OBJEKTI - VEZE KONCEPTI MODELA METODOLOGIJA MODELIRANJA

MATEMATIČKI FAKULTET BEOGRADSKI UNIVERZITET MASTER TEZA. Aplikacija za voñenje evidencije prihoda i rashoda zasnovana na.

POSTUPAK IZRADE DIPLOMSKOG RADA NA OSNOVNIM AKADEMSKIM STUDIJAMA FAKULTETA ZA MENADŽMENT U ZAJEČARU

Start Time:3:40 pm End Time:4:00 pm Distance:6.57 mi. Driver Sign-Off Time:04:05 pm

UPUTSTVO. za ruter TP-LINK TD-854W/ TD-W8951NB

Automatske Maske za zavarivanje. Stella, black carbon. chain and skull. clown. blue carbon

CRNA GORA / MONTENEGRO ZAVOD ZA STATISTIKU / STATISTICAL OFFICE S A O P Š T E NJ E / STATEMENT Broj / No 76 Podgorica, god.

Adelaide Public Transport Survey Aug 2012

prese presses proizvedene u kija-inoxu made by kija-inox

SQL standard podrzava sledece vrste ogranicenja: Ogranicenja domena Ogranicenja tabela i kolona Opsta ogranicenja

Specification Details: Coded Dash Number M28803/1 -MC PART LISTINGS MANUFACTURER'S DESIGNATION OR TYPE NUMBER TEST OR QUALIFICATION REFERENCE

209 CANTON 9 BOSANSKOHERCEGOVAČKA PATRIOTSKA STRANKA (BPS) SPZ BiH. STRANKA ZA SREDNjE. STRANKA ZA BiH. HRVATSKA KRŠĆANSKA DEMOKRATSKA UNIJA-HKDU BiH

24th International FIG Congress

Uputstvo za pravljenje i korišdenje biblioteka sa dinamičkim povezivanjem (.dll)

Transcription:

Fakultet tehničkih nauka, DRA, Novi Sad Predmet: Struktura i organizacija baza podataka Dr Slavica Aleksić, Milanka Bjelica, Nikola Obrenović

Primer radnik({mbr, Ime, Prz, Sef, Plt, God, Pre}, {Mbr}), projekat({spr, Ruk, Nap, Nar}, {Spr}), radproj({spr, Mbr, Brc}, {Spr + Mbr}), radnik[sef] radnik[mbr], projekat[ruk] radnik[mbr], radproj[mbr] radnik[mbr], radproj[spr] projekat[spr]. 2

Tabela radnik Mbr - maticni broj radnika Ime - ime radnika Prz - prezime radnika Sef - maticni broj direktno nadredjenog rukovodioca - radnika Plt - mesecni iznos plate radnika God - Datum rodjenja radnika Pre godišnja premija na platu radnika Obeležja Mbr, Ime, Prz ne smeju imati null vrednost. Plata ne sme biti manja od 500 3

Tabela projekat Spr - sifra projekta Ruk - rukovodilac projekta Nap - naziv projekta Nar - narucilac projekta Obeležja Spr i Ruk ne smeju imati null vrednost, dok obeležje Nap mora imati jedinstvenu vrednost 4

Tabela radproj Spr - sifra projekta Mbr - maticni broj radnika Brc - broj casova nedeljnog angazovanja na projektu Sva tri obeležja ne smeju da imaju null vrednost 5

Ažuriranje baze podataka sa ugnježdenim upitima Isključiti radnike sa onih projekta gde im je angažovanje na projektu manje od prosečnog angažovanja radnika na svim projektima delete from radproj where brc < (select avg(brc) from radproj) 6

Ažuriranje baze podataka sa ugnježdenim upitima Svim radnicima koji rade na projektu sa šifrom 10 povećati premiju za 500 update radnik set pre = isnull(pre,0) + 500 where mbr in (select mbr from radproj where spr = 10) 7

Povezani upiti Izlistati radnike čije je prosečno angažovanje na projektima veće od 7 časova. select mbr, ime, prz from radnik r where (select avg(brc) from radproj rp where rp.mbr=r.mbr) > 7; 8

Povezani upiti Prikazati mbr, ime, prz, plt radnika čiji je broj sati angažovanja na nekom projektu veći od prosečnog broja sati angažovanja na tom projektu. select distinct r.mbr, ime, prz, plt, brc from radnik r, radproj rp1 where r.mbr=rp1.mbr and rp1.brc>(select avg(brc) from radproj rp2 where rp2.spr=rp1.spr); 9

EXISTS EXISTS(<lista_vrednosti>) <lista_vrednosti> nije prazan skup vrednosti NOT EXISTS(<lista_vrednosti>) <lista_vrednosti> je prazan skup vrednosti 10

EXISTS Izlistati radnike koji su rukovodioci projekata. (Postoji projekat kojim rukovodi taj radnik) select mbr, ime, prz from radnik r where exists (select * from projekat where mbr=ruk); select mbr, ime, prz from radnik r where mbr in (select ruk from projekat where mbr=ruk); 11

EXISTS Izlistati radnike koji ne rade ni na jednom projektu. (ne postoji projekat na kom rade) select mbr, ime, prz from radnik r where not exists (select * from radproj rp where r.mbr=rp.mbr); select mbr, ime, prz from radnik r where mbr not in (select rp.mbr from radproj rp where r.mbr=rp.mbr); 12

Funkcije nad alfanumeričkim tipovima podataka SUBSTRING(niz karaktera, početni indeks, broj karaktera podniza) vraća podniz karaktera izdvojen iz niza karaktera od početnog indeksa CHARINDEX(podniz karaktera, niz karaktera) vraća indeks na kojem počinje podniz karaktera u nizu karaktera LEN(niz karaktera) broj karaktera (dužina) u nizu karaktera REPLACE(niz karaktera, podniz karaktera, niz karaktera zamena) vraća novi niz karaktera u kojem je podniz zamenjen sa niz karaktera zamena 13

Funkcije nad alfanumeričkim tipovima podataka Za svaki projekat prikazati njegov naziv, prva tri karaktera u nazivu, dužinu naziva, indeks znaka space (razmak), kao i naziv projekta bez razmaka SELECT nap "Naziv projekta", SUBSTRING(nap, 1, 3), LEN(nap), CHARINDEX(' ', nap), REPLACE(nap, ' ', '') FROM projekat 14

Funkcije nad datumskim tipovima podataka GETDATE() trenutno vreme i datum DATENAME(day weekday week month year, datum) vraca dan, dan u nedelji, nedelju, mesec ili godinu iz datuma DAY(datum) vraća dan iz datuma MONTH(datum) vraća mesec iz datuma YEAR(datum) vraća godinu iz datuma 15

Funkcije nad datumskim tipovima podataka Za svakog radnika prikazati njegov matični broj, dan, mesec, godinu, dan u nedelji rodjenja, kao i trenutno vreme i datum SELECT DAY(god) Dan, MONTH(god) Mesec, DATENAME(year, god) Godina, DATENAME(weekday, god) "Dan u nedelji, GETDATE() FROM radnik; 16

Kreiranje, izmena i brisanje definicije pogleda CREATE VIEW <naziv_pogleda> [(alias [, alias]...)] AS podupit; Podupit koji se koristi za definisanje pogleda može biti kompleksan, ali ne sme da sadrži ORDER BY. ORDER BY se koristi tek kada se prikazuju podaci iz pogleda. 17

Pogledi obezbeđuju sledeće prednosti ograničavaju pristup bazi podataka pojednostavljuju upite obezbeđuju nezavisnost podataka obezbeđuju višestruke poglede nad istim podacima mogu se brisati bez uklanjanja podataka u osnovnim tabelama. 18

Modifikacija pogleda Pogledi se modifikuju pomoću ALTER VIEW naredbe (nova definicija zamenjuje staru). Dakle, pogled može biti izmenjen bez brisanja postojećeg pogleda. Na primer, mogu se dodati alijasi za kolone u pogledu. 19

Kreiranje složenog pogleda Ukoliko se u upitu pomoću kog se kreira pogled nalaze skupovne funkcije (min, max, avg, sum, count) ili izrazi, u pogledu se moraju definisati alternativna imena za te kolone. 20

Brisanje pogleda DROP VIEW pogled; 21

Pogled Kreirati pogled koji će prikazati mbr, ime i prz radnika i nazive projekata kojima rukovode. CREATE VIEW rukovodioci (Mbr, Ime, Prezime, Projekat) AS select r.mbr,ime, prz, nap from radnik r, projekat p where r.mbr=p.ruk 22 /

Pogled SELECT Ime, Prezime, Projekat FROM rukovodioci 23 /

Pogled Kreirati pogled koji će prikazati mbr, ime i prz svih radnika i nazive projekata kojima rukovode. Ukoliko radnik ne rukovodi ni jednim projektom ispisati: ne rukovodi projektom. CREATE VIEW rukovodioci_svi (Mbr, Ime, Prezime, Projekat) AS select r.mbr,ime, prz, isnull(nap, 'ne rukovodi projektom') from radnik r left outer join projekat p on r.mbr=p.ruk 24 /

Pogled Napraviti pogled koji će za svakog radnika prikazati njihova imena i prezimena kao i prezimena njihovih šefova ako ih imaju. Ako nema šefa ispisati: nema sefa. CREATE VIEW radnici_sefovi (Ime, Prezime, Sef) AS select r1.ime, r1.prz, isnull(r2.prz, 'Nema sefa') from radnik r1 left outer join radnik r2 on r1.sef=r2.mbr 25 /

Pogled Napraviti pogled koji će za sve radnike prikazati Mbr i ukupan broj sati angažovanja radnika na projektima na kojima radi. 26

Pogled CREATE VIEW angaz_po_radnicima (Mbr, SBrc) AS SELECT r.mbr, ISNULL(SUM(rp.Brc), 0) FROM radnik r LEFT OUTER JOIN radproj rp ON r.mbr = rp.mbr GROUP BY r.mbr 27

Pogled Nakon toga, napraviti pogled koji će za svakog šefa (rukovodioca radnika) prikazati njegov matični broj, prezime, ime, ukupan broj radnika kojima rukovodi i njegovo ukupno angažovanje na svim projektima, na kojima radi. Koristiti prethodno definisani pogled. 28

Pogled CREATE VIEW angaz_sefova (Mbr, Prz, Ime, BrRad, BrSat) AS SELECT DISTINCT r.sef, r1.prz, r1.ime, COUNT(*), a.sbrc FROM radnik r, radnik r1, angaz_po_radnicima a WHERE r.sef = r1.mbr AND r.sef = a.mbr GROUP BY r.sef, r1.prz, r1.ime, a.sbrc 29

Pogled Koliko je ukupno angažovanje svih šefova na projektima? SELECT SUM(BrSat) AS UkAngSef FROM angaz_sefova 30