MOV SQL SELECT Poetci Modelovanje Proces preslikavanja realnog

  • Slides: 37
Download presentation
MOV SQL SELECT Početci

MOV SQL SELECT Početci

Modelovanje Proces preslikavanja realnog sveta

Modelovanje Proces preslikavanja realnog sveta

Modelovanje ▪ Broj internih (bitnih) podataka nekog poslovanja je ogroman ▪ Nemoguće je (a

Modelovanje ▪ Broj internih (bitnih) podataka nekog poslovanja je ogroman ▪ Nemoguće je (a i nepraktično) sačuvati sve podatke ▪ Postupkom selekcije biramo relevantne podatke ▪ Modelovanje – pravljenje modela na osnovu poznatih činjenica o relevantnim podacima za određeno područje primene

Proces modelovanja 1. Selekcija (izbor) – biramo relevantne podatke odnosno redukujemo realni svet u

Proces modelovanja 1. Selekcija (izbor) – biramo relevantne podatke odnosno redukujemo realni svet u manji koji nam je dovoljan 2. Imenovanje – sve mora imati svoje ime 3. Klasifikacija – heterogeni (različiti, drugačiji) skup objekata i odnosa pretvaramo u homogeni (ujednačeni, isti)

Prikaz modela baze podataka Grafički ▪ MOV ▪ IDEF 1 X ▪ UML Class

Prikaz modela baze podataka Grafički ▪ MOV ▪ IDEF 1 X ▪ UML Class dijagram Tekstualni ▪ Relaciona šema ▪ Rečnik baze podataka

MOV Model Objekti-Veze

MOV Model Objekti-Veze

Istorija ▪ Peter Chen napisao tekst 1976. godine ▪ Kasnije je proširen (mov, ne

Istorija ▪ Peter Chen napisao tekst 1976. godine ▪ Kasnije je proširen (mov, ne tekst) sa dodatnim elementima

Alternativni nazivi za MOV ▪ ER ili E/R– Entity Relationship Diagram (ili Model) ▪

Alternativni nazivi za MOV ▪ ER ili E/R– Entity Relationship Diagram (ili Model) ▪ Chen – Čenov dijagram (autor Peter Chen) ▪ MOV – Model Objekti-Veze ▪ E/O – Model Entiteta i Odnosa

Osnovni elementi: Entitet ▪ Sve što se može jednoznačno odrediti, identifikovati i razlikovati ▪

Osnovni elementi: Entitet ▪ Sve što se može jednoznačno odrediti, identifikovati i razlikovati ▪ Predstavlja objekat ili događaj, realan ili apstraktan ▪ To je ono što hoćemo da pratimo (čuvamo zapis) ▪ Predstavlja se sa pravougaonikom i imenom u sredini

Osnovni elementi: Veza ▪ U realnosti ništa nije izolovano ▪ Veza povezuje entitete: ▪

Osnovni elementi: Veza ▪ U realnosti ništa nije izolovano ▪ Veza povezuje entitete: ▪ Dva entiteta – binarna veza (najčešća veza) ▪ Entitet sa samim sobom – rekurzivna veza (retka veza) ▪ Tri entiteta – ternarna veza (generalno izbegavamo) ▪ Predstavlja se sa deltoidom i opisom (nazivom) u sredini

Osnovni elementi: Atribut ▪ Opisuje entitet ili vezu – njegove karakteristike ▪ Pojedinačan podatak

Osnovni elementi: Atribut ▪ Opisuje entitet ili vezu – njegove karakteristike ▪ Pojedinačan podatak za svaku instancu entiteta ▪ Predstavlja se sa elipsom (ovalom) i imenom u sredini

Vrste atributa ▪ Normalni – atribut ima jednu i samo jednu vrednost ▪ Viševrednosni

Vrste atributa ▪ Normalni – atribut ima jednu i samo jednu vrednost ▪ Viševrednosni – atribut može da ima više vrednosti ▪ Kompozitni – atribut se sastoji iz više različitih vrednosti ▪ Izračunati – vrednost se izračunava na osnovu drugih atributa ▪ Ključ – na osnovu ovog atributa možemo da unikatno identifikujemo svaku n-torku

Treba da koristite Ne morate da koristite

Treba da koristite Ne morate da koristite

Saveti ▪ Jedna vrednost – entitet koji će da sadrži jednu informaciju (jedan red

Saveti ▪ Jedna vrednost – entitet koji će da sadrži jednu informaciju (jedan red podataka) nam ništa ne znači ▪ Bezkorisno – informacije (atributi) koje ne čitamo samo zauzimaju prostor ▪ Propušteno – ako informaciju nismo skupili kada smo mogli, ne možemo da se vratimo u prošlost da je skupimo ▪ Međusobno-isključujuće – ako jedna vrednost isključuje drugu, to je onda jedan a ne više atributa

Saveti ▪ Entitet – samo ono što možemo da opišemo sa atributima ili ako

Saveti ▪ Entitet – samo ono što možemo da opišemo sa atributima ili ako imamo ograničeni set vrednosti (npr: pol, boja, . . . ) ▪ Atribut – samo ono za šta možemo da imamo konkretnu vrednost ▪ Veza – logika u glavi nije isto što i logika u bazi; stavljamo samo neophodne veze i pokušavamo da izvučemo informacije kroz druge veze

Baze za vežbanje Jer moramo vežbati na nekim primerima

Baze za vežbanje Jer moramo vežbati na nekim primerima

Microsoft-ove baze za SQL Server ▪ Pubs – najstarija „sample“ baza ▪ Northwind –

Microsoft-ove baze za SQL Server ▪ Pubs – najstarija „sample“ baza ▪ Northwind – prodaja izmišljene kompanije „Northwind Traders“ ▪ Adventure. Works – OLTP i OLAP baza ▪ Contoso – za demonstraciju Azure cloud baze ▪ Wide. World. Importers – za demonstraciju SQL Server 2016 novina

SQL: SELECT Osnove vraćanja informacija iz Baze podataka

SQL: SELECT Osnove vraćanja informacija iz Baze podataka

SELECT komanda SELECT šta FROM tabela WHERE logički uslov ORDER BY redosled prikaza

SELECT komanda SELECT šta FROM tabela WHERE logički uslov ORDER BY redosled prikaza

SELECT komanda ▪ Vraća sva (*) ili izabrana (npr: ime, prezime) polja iz tabele

SELECT komanda ▪ Vraća sva (*) ili izabrana (npr: ime, prezime) polja iz tabele ▪ FROM je obavezno ako vraćamo rezultate iz tabele ▪ WHERE je opciono ako hoćemo da filtriramo ▪ ORDER BY je opciono ako hoćemo da rezultati budu sortirani po određenom redosledu

FROM ▪ Vraća rezultate iz: ▪ Tabele ▪ Pogleda ▪ Ugnježdenog query-ja (subquery) ▪

FROM ▪ Vraća rezultate iz: ▪ Tabele ▪ Pogleda ▪ Ugnježdenog query-ja (subquery) ▪ Globalne ili lokalne temporary tabele (# ili ## ispred naziva) ▪ Funkcije koja vraća tabelu ▪ Common Table Expression-a (korišćenjem WITH sintakse) ▪ Liste vrednosti (korišćenjem VALUES sintakse)

Primer Studentske baze ▪ Radićemo sa najjednostavnijom studentskom bazom ikada ▪ SQL kod sadrži

Primer Studentske baze ▪ Radićemo sa najjednostavnijom studentskom bazom ikada ▪ SQL kod sadrži komentare i kod koji nećemo ni učiti tako da ne obraćajte previše pažnje na to ▪ Obratite pažnju na to da MOV i Baza ne moraju baš da se poklapaju u atributima

Primeri zahteva ▪ Svi student SELECT * FROM Student ▪ Broj indeksa, ime i

Primeri zahteva ▪ Svi student SELECT * FROM Student ▪ Broj indeksa, ime i prezime svakog studenta SELECT Broj. Indeksa, Ime, Prezime FROM Student ▪ JMBG, ime i broj indeksa svakog studenta SELECT JMBG, Ime, Broj. Indeksa FROM Student

WHERE ▪ Logički uslov koji vraća odgovor TRUE ili FALSE ▪ Više uslova se

WHERE ▪ Logički uslov koji vraća odgovor TRUE ili FALSE ▪ Više uslova se kombinuje sa AND i OR ▪ Može da se koristi i NOT WHERE Ime = 'Ana' WHERE Godiste <= 1995

WHERE ▪ Poređenje vrednosti: <, >, <=, >=, =, <>, != ▪ Provera opsega:

WHERE ▪ Poređenje vrednosti: <, >, <=, >=, =, <>, != ▪ Provera opsega: WHERE godiste BETWEEN 1990 AND 1999 ▪ Vrednost u listi: WHERE smer IN ('A', 'I') ▪ Ostale opcije: EXISTS, ANY/SOME, ALL

Primeri zahteva ▪ Svi ženski student SELECT * FROM Student WHERE Pol = 'z'

Primeri zahteva ▪ Svi ženski student SELECT * FROM Student WHERE Pol = 'z' ▪ Ime i prezime studenata koji nisu studirali informatiku SELECT Ime, Prezime FROM Student WHERE Smer NOT IN ('A', 'I') ▪ Muški studenti na smeru Finansije SELECT JMBG, Ime, Broj. Indeksa FROM Student WHERE Smer = 'C' AND Pol = 'm'

ORDER BY ▪ Biramo jedno ili više polja po kojim sortiramo ▪ Može da

ORDER BY ▪ Biramo jedno ili više polja po kojim sortiramo ▪ Može da sortira rastuće (ASC) ili opadajuće (DESC) ▪ Jedina naredba iz SELECT-a koja može da se pozove na alijas polja (biće naknadno objašnjeno) ORDER BY Ime ORDER BY Datum. Rodjenja ASC, Pol DESC

Primeri „komplikovanog“ zahteva ▪ Svi ženski studenti sa Menadžmenata i svi muški studenti sa

Primeri „komplikovanog“ zahteva ▪ Svi ženski studenti sa Menadžmenata i svi muški studenti sa Marketinga da su između 16 i 18 generacije sortirano po generaciji opadajuće, prezimenu rastuće SELECT FROM WHERE AND * Student Generacija BETWEEN 16 AND 18 ((Pol = 'z' AND Smer = 'B') OR (Pol = 'm' AND Smer = 'D')) ORDER BY Generacija DESC, Prezime ASC

Domaći zadaci za MOV 1. Nacrtati entitet za Adresu 2. Nacrtati entitet za Grad

Domaći zadaci za MOV 1. Nacrtati entitet za Adresu 2. Nacrtati entitet za Grad 3. Povezati entitete Adresa i Grad 4. Dodati entitet za državu i povezati ga sa gradom 5. Nacrtati entitet za Osobu sa što više atributa 6. Instalirati SQL Server i SSMS kod kuće

Domaći zadaci za SQL SELECT koji vraća: 1. Sve studente 2. Samo ime i

Domaći zadaci za SQL SELECT koji vraća: 1. Sve studente 2. Samo ime i prezime studenata 3. Sve ženske studente 4. Sve muške studente sortirane po prezimenu 5. Puno ime i adresu svih studenta IT smera iz 2018 generacije sortirane po broju indeksa