You are on page 1of 32

Predmet:

INFORMACIONI SISTEMI II
Predava:
dr Miroslav Medenica
1

OBJEKAT POSMATRANJA

ENTITET - PREDSTAVLJANJE REALNOG SVETA DISKRETNIM


VREDNOSTIMA.

SVOJSTVA ENTITETA
IME ENTITETA(PREZIME, PLATA)
VREDNOST ENTITETA(ALAGIC, 16000)

ATRIBUTI-SVE VREDNOSTI ODREENOG SVOJSTVA(MESTO) INE


SKUPINU POD JEDNIM IMENOM(PANCEVO, BEOGRAD)

DOMEN - SKUP SVIH MOGUIH VREDNOSTI ODREENOG ATRIBUTA


VREDNOST U DOMENU SE JEDNOM JAVLJA

KLJUC ENTITETA - ATRIBUT IDENTIAN SA SVOJIM DOMENOM


PODACI - VREDNOSTI POJEDINIH ATRIBUTA KOJI SE UNOSE U
MEMORIJU
BAZA PODATAKA - UNOS PODATAKA ZA JEDAN ILI VIE SKUPINA
ENTITETA
DATOTEKE - PRODUKT IZOLOVANO RAZVIJENIH APLIKACIJA
RENDUDANSA PODATAKA

Baza podataka je zbirka uzajamno


povezanih podataka, koji su memorisani
sa kontrolisanom redundansom, da bi
optimalno sluile razliitim aplikacijama.
Podaci su memorisani nezavisno od
programa, koji ih koriste. Za dodavanje
novih podataka i modificiranje ili
pretraivanje postojeih podataka koriste
se zajednicki i kontrolisani pristupi."

MEMORISANJE I ODRZAVANJE PODATAKA (DDL)


MANIPULISANJE PODACIMA (DML)
LOGIKA STRUKTURA
FIZIKA STRUKTURA
DIZAJN BAZE PODATAKA
EKSTERNI-POGLED KORISNIKA NA BAZU PODATAKA
LOGIKA STRUKTURA - LOGIKI POGLED NA BP
MODEL PODATAKA
MODEL PROCESA
OMOGUUJE SE NEZAVISNOST PODATAKA U ODNOSU
NA FIZIKI DIZAJN
FIZIKA STRUKTURA-INTERNI POGLED NA PODATKE
4

RADNICI(SIFRAR, PREZIME, DATUMZ)

RELACIONA BAZA PODATAKA - ODNOSI


IZMEU PODATAKA U OBLIKU
DVODIMENZIONIH TABELA

K O L O N E - SADRE SAMO VREDNOSTI JEDNOG


DOMENA
R E D - RAZLIKUJU SE IZMEDJU SEBE
K L J U RELACIJE - ATRIBUT KOJI JEDNOZNACNO
IDENTIFIKUJE RED

1. Struktura baze podataka se na logikom nivou predstavlja samo


tabelama.
2. Svaki podatak u relacionoj bazi podataka dostupan je preko
kombinacije imena tabele (relacije), vrednosti primarnog kljua i
imena kolne (atributa). (Bez unapred zadatih pristupnih puteva i
bez rekurzije ili iteracije).
3. Specifican indikator (razlicit od "blanka", "praznog" niza
karaktera, nule ili bilo kog broja) koristi se za predstavljanje nula
vrednosti, bez obzira na tip podatka. Sistem takoe podrava i sve
operacije sa nula vrednostima bez obzira na tip podataka.
4. Sistem poseduje katalog (renik) podataka koji se logiki
predstavlja na isti nacin kao i sama baza podataka, tako da
korisnik moe da koristi isti jezik da bi pristupio ovim meta
podacima.

5. Bez obzira koliko jezika i naina korienja terminala sistem


podrava, mora posedovati barem jedan jezik ije se naredbe
mogu izraziti kao niz karaktera sa dobro definisanom sintaksom i
koji podrzava: (1) definiciju podataka, (2) definiciju pogleda, (3)
manipulaciju podatka, interaktivno i kroz programe, (4) definiciju
pravila integriteta, (5) autorizaciju (sigurnost), (6) granice
transakcija (BEGIN, COMMIT, ROLLBACK).
6. Sistem poseduje efikasan algoritam pomou koga moe da odredi,
za svaki definisani pogled, u trenutku njegovog definisanja, da li
se i koje operacije odravanja mogu da primene na taj pogled.
Rezultat ovoga algoritma se smesta u katalog baze podataka.

7. I nad baznim relacijama i nad pogledima mogu se izvravati ne


samo operacije pretraivanja, ve i operacije odravanja BP.
8. Aplikacioni program i interaktivna komunikacija ostaju
neizmenjeni kada se promeni fizika organizacija baze ili fiziki
metod pristupa.
9. Aplikacioni program i interaktivna komunikacija ostaju
nepromenjene kada se bilo koje promene, koje ne menjaju
odgovarajuci sadraj tabele, unesu u baznu tabelu.

10. Pravila integriteta se definiu u okviru definicije baze podataka i


uvaju se u katalogu. (Ne implementiraju se kroz aplikacione
programe).
11. Sve navedene karakteristike su nezavisne od distribucije baze
podataka.
12. Ako relacioni sistem poseduje ili moe da radi sa nekim jezikom
tree generacije u kome se obrauje jedna n-torka u jednom
trenutku vremena, kroz taj jezik se ne mogu zaobii pravila
integriteta zadana preko samog relacionogjezika.

INTEGRITET ENTITETA vezan je za atribute koji su primarni


klju i zahteva od relacije NON NULL vrednosti.
REFERENCIJALNI INTEGRITET vezan je za postojanje
spoljanjeg kljua (SIFRAP u relaciji RADNICI) za neki baznu
relaciju(RADNICI) koji ovu relaciju povezuje sa nekom drugom
baznom
relacijom
(PREDUZEC),
preko
primarnog
kljua(SIFRAP) i tada svaka vrednost SIFRAP iz relacije
RADNICI mora biti jednaka nekoj vrednosti SIFRAP u relaciji
PREDUZEC ili e biti NULL.
Referencijalni integritet obezbedjuje korektno povezivanje
objekata koji su predstavljeni u relacionom modelu

10

Standardni jezik za upite i manipulaciju sa podacima


Structured Query Language
Postoje mnogi standardi:
ANSI SQL
SQL92 (SQL2)
SQL99 (SQL3)
Prodavci podravaju razliite varijente gore navedenih (PL SQL...)
Ovde e se prezentovati ono to je zajednika osnova

11

Data Definition Language (DDL)

Data Manipulation Language (DML)

Kreiranje/menjanje/brisanje tabela i njenih


atributa
Upiti nad jednom ili vie tabela.
Insertuje/brie/modifikuje podatke u tabelama

Transact-SQL

Ideja: paketi sekvenci SQL naredbi server


Pregled.

12

1.
2.

Osnovni podaci, tipovi podataka


Tabele koje su izgraene od osnovnih
tipova

13

Karakteri:

-- fiksne duine
-- promenljive duine

Brojevi:

BIGINT, INT, SMALLINT, TINYINT


REAL, FLOAT
-- razliitih preciznosti
MONEY

Vreme i datumi:

CHAR(20)
VARCHAR(40)

DATE
DATETIME

-- SQL Server

Ostalo
14

Naziv tabele

Attribute names

Proizvodi
Naziv

Cena

Kategorija

Proizvodjac

Windows XP

$119.99

Software

Microsoft

PhotoShop CS

$429.99

Software

Adobe

Matina ploa

$149.99

Hardware

Asus

Monitor

$253.99

Hardware

Samsung

Vrste ili kolone

15

Slog = rekord

Tabela = set rekorda

Ogranienje: svi atributi su osnovnih tipova


Kao lista
ali neureena: nema first(), nema next(),
nema last().

Nema ugnjedenih tablea, dozvoljene su


samo ravne tabele!

Videe se kasnije kako se kompleksne strukture


dekomponnuju u vie ravnih tabela.

16

ema (schema) tabele je naziv tabele i


pripadajui atributi
Proizvodi(Naziv, Cena, Kategorija, Proizvodjac)

Klju (key) je atribut ije su vrednosti


jedinstvene;
mi emo podvlaiti klju

Proizvodi(Naziv, Cena, Kategorija, Proizvodjac)


17

Osnovna forma: (koja moe biti proirena mnogim


uslovima i ogranienjima)
SELECT
SELECT atribiti
atribiti
FROM
FROM relacija
relacija(verovatno
(verovatnoviestrukih,
viestrukih,povezanih)
povezanih)
WHERE
WHERE uslovi
uslovi(selekcije)
(selekcije)

18

Proizvodi

SELECT
SELECT
FROM
FROM
WHERE
WHERE

Naziv

Cena

Kategorija

Proizvodjac

Windows
XP

$119.99

Software

Microsoft

PhotoShop
CS

$429.99

Software

Adobe

Matina
ploa

$149.99

Hardware

Asus

Monitor

$253.99

Hardware

Samsung

Naziv

Cena

Kategorija

Proizvodjac

Windows
XP

$119.99

Software

Microsoft

PhotoShop
CS

$429.99

Software

Adobe

**
Prozvodi
Prozvodi
Kategorija=Software
Kategorija=Software

selekcija

19

Aritmetike
operacije
* mnoenje
- oduzimanje
+ sabiranje
/ deljenje

Where operacije
= jednako
> vee od
>= vee ili
jednako
< manje
<= manje ili
jednako
<> nije jednako
20

Proizvodi

SELECT
SELECT
FROM
FROM
WHERE
WHERE

Naziv

Cena

Kategorija

Proizvodjac

Windows
XP

$119.99

Software

Microsoft

PhotoShop
CS

$429.99

Software

Adobe

Matina
ploa

$149.99

Hardware

Asus

Monitor

$253.99

Hardware

Samsung

Naziv,
Naziv,Cena,
Cena,Proizvodjac
Proizvodjac
Proizvodi
Proizvodi
Cena
Cena>>200
200

selekcija i
projekcija

Naziv

Cena

Proizvodjac

PhotoShop
CS

$429.99

Adobe

Monitor

$253.99

Samsung
21

Input ema

Proizvod(Naziv, Cena, Proizvod, Proizvodjac)

SELECT
SELECT
FROM
FROM
WHERE
WHERE

Naziv,
Naziv,Cena,
Cena,Proizvodjac
Proizvodjac
Proizvodi
Proizvodi
Cena
Cena>>200
200
Answer(Naziv, Cena, Proizvodjac)

Output ema
22

ta ide sa WHERE uslovom:


x = y, x < y, x <= y, itd.

Za brojeve ima uobiajeno matematiko znaenje


Za CHAR i VARCHAR: leksikko ureivanje

Konverzija izmeu CHAR i VARCHAR

Za datum i vreme hronoloki poredak

Obrazac uporeivanja stringova: s LIKE p


(next)

23

operatori ranga (BETWEEN i NOT BETWEEN),


liste (IN, NOT IN),
uzorci (LIKE i NOT LIKE),
nepoznate vrednosti (IS NULL i IS NOT NULL),
viestruki uslovi pretraivanja (AND,OR).

SELECT
SELECT
FROM
FROM
WHERE
WHERE

**
Proizvodi
Proizvodi
cena
cenaBETWEEN
BETWEEN200
200AND
AND400
400

SELECT
SELECT
FROM
FROM
WHERE
WHERE

**
Proizvodi
Proizvodi
cena
cenaIN
IN(100,200,300,400)
(100,200,300,400)

24

s LIKE p: obrazac uporeivanja stringova


p moe da bude jedan od dva specijalna
simbola

% = bilo koja sekvenca karaktera


_ = bilo koji pojedinani karakter

Proizvodi(Naziv, Cena, Proizvod, Proizvodjac)


Selekcija svih proizvoda ije ima sadri re ploa:
SELECT
SELECT
FROM
FROM
WHERE
WHERE

**
Proizvodi
Proizvodi
Naziv
NazivLIKE
LIKE%ploa%
%ploa%

25

Kategorija

SELECT
SELECT Kategorija
Kategorija
FROM
FROM Proizvodi
Proizvodi

Software
Software
Hardware
Hardware

Uporediti sa:
SELECT
SELECT DISTINCT
DISTINCTKategorija
Kategorija
FROM
FROM Proizvodi
Proizvodi

Kategorija
Software
Hardware

26

LOWER LOWER(ime)
UPPER UPPER(ime)
INIT CAP INIT CAP(ime)
LPAD LAPD(ime, 12, *)=********sava
RPAD RPAD(IME, 12,.)=sava..
SUBSTR SUBSTR(Windows,2,5)=indow
INSTR INSTR(Windows,4)=d
LTRIM LTRIM(Windows,Wi)=dows
SOUNDEX SOUNDEX(Sava)
LENGTH LENGTH(Sava)=4
TRANSLATE TRANSLATE(Sava,a,i)=Sivi

27

ROUND()
TRUNC()
SIGN()
FLOR()
POWER()
SQRT()
ABS()
MOD()
LOG()
LOG()
SIN()
COS() .

28

MONTHS_BETWEEN(01-JAN05,SYSDATE)
ADD_MONTHS(SYSDATE,3)
LAST_DAY(SYSDATE)

29

SELECT
SELECT Naziv,
Naziv,Cena,
Cena,Proizvodjac
Proizvodjac
FROM
FROM Proizvodi
Proizvodi
WHERE
WHERE Kategorija=Software
Kategorija=SoftwareAND
ANDCena
Cena>>200
200
ORDER
ORDERBY
BY Cena,
Cena,Naziv
Naziv
Ureivanje je uvek po rastuem redosledu, sem ukoliko se stavi
DESC kljuna re, onda je po opadajuem redosledu.
Ureivanje se vri po prvom atributu sa ORDER BY liste,
zatim po drugom itd.
30

SELECT
SELECT Kategorija
Kategorija
FROM
FROM Proizvodi
Proizvodi
ORDER
ORDERBY
BY Naziv
Naziv
Naziv

Cena

Kategorija

Proizvodjac

Windows
XP

$119.99

Software

Microsoft

PhotoShop
CS

$429.99

Software

Adobe

Matina
ploa

$149.99

Hardware

Asus

Monitor

$253.99

Hardware

Samsung

?
31

SELECT
SELECT DISTINCT
DISTINCTKategorija
Kategorija
FROM
FROM Proizvodi
Proizvodi
ORDER
ORDERBY
BYKategorija
Kategorija

Kategorija
Hardware
Software

Uporedi sa:
SELECT
SELECT DISTINCT
DISTINCTKategorija
Kategorija
FROM
FROM Proizvodi
Proizvodi
ORDER
ORDERBY
BYNaziv
Naziv

?
32

You might also like