1. osnove sql-a
DESCRIPTION
Izvrsna matematička gimnazija i ekonomsko-informatička škola! - Kreativan pristup uz online podršku učenju. - Najbolja priprema za državnu maturu!TRANSCRIPT
1. OSNOVE SQL-AInformacijski sustaviSofija Pinjušić Ćurić, mag.ing.comp.2013./2014.
Različite aplikacije
2
Osnove baza podataka baza podataka - organiziran i uređen
skup međusobno povezanih podataka spremljenih bez nepotrebne redundancije ili ponavljanja
primjeri u svakodnevnom životu -evidencije, kartoteke, imenici, albumi, ...
Fizički bazu podataka čini jedan ili više dokumenata
3
Vrste baza podataka baza podataka koja se sastoji od samo
jedne tablice - plošna (flat file) baza podataka primjer: Excel podaci su predstavljeni
dvodimenzionalno - plošno postoje znatna ograničenje
baze podataka u kojima su informacije u više povezanih tablica - relacijske BP
4
Što su tablice i relacije? tablice su objekti u koji služe za pohranu
informacija relacija - predstavlja informaciju o jednom
subjektu (dobavljač, proizvod, zaposlenik, ...) u relacijskim bazama podataka relacija
je pohranjena kao tablica
5
Još o bazama podataka baza podataka je u osnovi elektronički
ekvivalent organiziranoj listi informacija ove informacije se odnose na iste subjekte
ili svrhu, npr. lista zaposlenika
6
Još o tablicama tablica (relacija) - sastoji se od redaka
(slogova, zapisa, unosa, records) i stupaca (polja, fields)
osnovne karakteristike tablice: ne postoje dva jednaka retka ni dva
jednaka stupca redoslijed redaka i redoslijed stupaca
nije bitan
7
O retcima i stupcima stupci predstavljaju polja, tj. atribute - sadrže
specifične informacije o zaposleniku: prezime, ime, datum zaposlenja, ... svakom polju se dodjeljuje određeni tip
podataka svako polje ima određena svojstva -
veličina polja, je li unos obavezan, tekst zaglavlja, ...
Svaki stupac je određenog tipa podatka retci predstavljaju unose - sve informacije o
određenom zaposleniku
8
SQL server MS SQL Server je programski sustav za
organiziranje baze podataka i rad s podacima u njoj to je sustav za upravljanje relacijskom
bazom podataka - surbp relational database management system
– rdbms Drugi primjeri rdbms-a: IBM DB2, Oracle,
MySQL, Microsoft Access
9
Problemski zadatak 1 –Telefonski imenik Kreirati bazu podataka koja će
pohranjivati telefonski imenik korisnika Baza treba sadržavati podatke o
kontaktima kao što su ime, prezime, broj telefona i slično
10
SQL Structured Query Language Jezik za pristup i upravljanje bazama
podataka Primjeri naredbi: create, update, delete,
insert,… Karakteristike:
Jednostavan Nije proprietary Moćan
11
SQL Primjeri naredbi:
SELECT - extracts data from a database UPDATE - updates data in a database DELETE - deletes data from a database INSERT INTO - inserts new data into a database CREATE DATABASE - creates a new database ALTER DATABASE - modifies a database CREATE TABLE - creates a new table ALTER TABLE - modifies a table DROP TABLE - deletes a table CREATE INDEX - creates an index (search key) DROP INDEX - deletes an index
Nije case sensitive
12
SELECT naredba Koristi se dohvat podataka iz baze Rezultat se pohranjuje u tablicu rezultata,
tzv. rezultantni set Sintaksa:SELECT column_name,column_nameFROM table_name;iliSELECT * FROM table_name;
13
Instalacija i primjeri http://www.microsoft.com/en-
us/sqlserver/editions/2012-editions/express.aspx
http://www.w3schools.com/sql/default.asp
14
Radni zadatak – Modelirati bazu podataka koju kreiraju skripte Primjer entity-relationship (entitet-veze) modela:
Mi ćemo napraviti djelomični ER i „tablični” model
15
Primjer složenijeg relacijskog modela
16
Primarni ključ (primary key) polje ili više polja kojima se jednoznačno
definira redak on služi za povezivanje dvije tablice svojstva primarnog ključa:
jednoznačan je - dva unosa u jednoj tablici nemaju istu vrijednost polja primarnog ključa
ne može biti NULL vrijednost, tj. prazno polje mora postojati kod spremanja i kreiranja zapisa
17
Sekundarni ključ (secondary key) odnos (relationship) je asocijacija, veza
između zajedničkih polja (primarni i strani ključ) koja se pojavljuju u dvije tablice
asocijacija se koristi za vezanje dvije tablice, odnosno primarnog ključa iz jedne tablice s poljem koji sadrži iste informacije u drugoj tablici
polje u drugoj tablici nazivamo strani ključ
18
Tipovi veza N:1 veza – jedan primarni ključ se može
povezati s 0, 1 ili više slogova u povezanoj tablici Najčešći tip
1:1 veza – jedan primarni ključ na jedan slog u povezanoj tablici
N:N veza – više primarnih ključeva na više slogova u povezanoj tablici
19
Referencijalni integritet referencijalni integritet (referential integrity) nad
podacima znači da unos u jednu tablicu nije dopušten ukoliko već ne postoji u drugoj tablici
referencijalni integritet = vanjski ključ u povezanoj tablici mora odgovarati primarnom ključu osnovne tablice
što omogućava referencijalni integritet: ne može se mijenjati vrijednost primarnog ključa ako
postoji povezani slog u drugoj tablici ne može se izbrisati slog u tablici primarnog ključa ako
postoji povezani slog u drugoj tablici ne može se unijeti vrijednost stranog ključa prije nego
se unese ista vrijednost kao primarni ključ u povezanoj tablici
20
SQL naredbe služe za izvođenje operacija nad bazama
podataka primjer: naredba koja odabire sve zapise u
tablici CustomersSELECT * FROM Customers;
točka zarez je standardan način odvajanja SQL naredbi u sustavima baza podataka koji dopuštaju izvršavanje više od jedne sqlnaredbe unutar jednog poziva serveru
21
Tablica nad kojom radimoCustomerID CustomerNam
e ContactName Address City PostalCode Country
1 Alfreds Futterkiste
Maria Anders Obere Str. 57 Berlin 12209 Germany
2Ana Trujillo Emparedados y helados
Ana TrujilloAvda. de la Constitución 2222
México D.F. 05021 Mexico
3Antonio Moreno Taquería
Antonio Moreno
Mataderos 2312
México D.F. 05023 Mexico
4 Around the Horn
Thomas Hardy120 Hanover Sq.
London WA1 1DP UK
5 Berglunds snabbköp
Christina Berglund
Berguvsvägen 8
Luleå S-958 22 Sweden
22
Još jednom o SELECT naredbi Koristi se dohvat podataka iz baze Rezultat se pohranjuje u tablicu rezultata,
tzv. rezultantni set Sintaksa:SELECT column_name,column_nameFROM table_name;iliSELECT * FROM table_name;
23
Primjeri SELECT naredbe odabir stupaca – primjer select naredbe koja
odabire CustomerName i City stupce iz Customer tablice:SELECT CustomerName,City FROM Customers;
select * primjer – primjer select naredbe koja odabire sve stupce iz Customers tablice:SELECT * FROM Customers;
24
SELECT DISTINCT naredba unutar tablice unutar stupca mogu se nalaziti
mnoge iste vrijednosti – duplikati ključna riječ DISTINCT se koristi za vraćanje samo
jedinstvenih (različitih) vrijednosti sintaksa:
SELECT DISTINCT column_name,column_nameFROM table_name;
primjer – naredba koja odabire samo različite vrijednosti unutar City stupca u Customers tabliciSELECT DISTINCT City FROM Customers;
25
SQL WHERE naredba WHERE se koristi za filtriranje zapisa,
odnosno za izvlačenje samo onih zapisa koji ispunjavaju zadani kriterij
sintaksa:SELECT column_name,column_nameFROM table_nameWHERE column_name operator value;
26
Primjeri WHERE naredbe primjer – naredba koja odabire sve kupce iz
zemlje Mexico unutar Customers tabliceSELECT * FROM CustomersWHERE Country='Mexico';
ako uvjet filtriranja postavljamo na tekstualnoj vrijednosti potrebno je navesti jednostruke navodnike oko teksta
većina sustava baza podataka će dopustiti i dvostruke navodnike
27
Primjeri WHERE naredbe numeričke vrijednosti ne smijemo stavljati
unutar navodnikaSELECT * FROM CustomersWHERE CustomerID=1;
28
Operatori u WHERE naredbi
29
Operator Description
= Equal
<> Not equal. Note: In some versions of SQL this operator may be written as !=
> Greater than
< Less than
>= Greater than or equal
<= Less than or equal
BETWEEN Between an inclusive range
LIKE Search for a pattern
IN To specify multiple possible values for a column
Primjeri WHERE naredbe Ispisati sve proizvode čija cijena je između 10 i
20:SELECT * FROM ProductsWHERE Price BETWEEN 10 AND 20; Odabrati sve kupce koji su iz grada čije ime
počinje sa slovom s:SELECT * FROM CustomersWHERE City LIKE 's%';
30
Primjeri WHERE naredbe Ispisati sve kupce koji su iz Londona ili
Pariza:SELECT * FROM CustomersWHERE City IN ('Paris','London');
31
AND i OR operatori AND i OR operatori se koriste za filtiriranje
zapisa ovisno o jednom ili više uvjeta AND operator prikazuje zapis ako taj zapis
zadovoljava sve uvjete koje operator povezuje istiniti
OR operator prikazuje zapis ako taj zapis zadovoljava barem jedan od uvjeta koje operator povezuje
32
Primjeri AND operatora Odabrati sve kupce koji su iz Njemačke i iz
grada Berlina:SELECT * FROM CustomersWHERE Country='Germany'AND City='Berlin';
33
Primjeri OR operatora Odabrati sve kupce koji su iz Berlina ili iz
Münchena:SELECT * FROM CustomersWHERE City='Berlin'OR City='München';
34
Kombinacija AND i OR operatora Odabrati sve kupce koji su iz Njemački i to
iz Berlina ili iz Münchena:SELECT * FROM CustomersWHERE Country='Germany'AND (City='Berlin' OR City='München');
35