Вы находитесь на странице: 1из 4

11.10.2017.

Structured Query Language (SQL)

• Upitni jezik 4. generacije za rad s relacijskim BP-a


• Relacijska baza podataka: normalizirane, logički i dinamički
povezane tablice
SQL • Koncepti relacijskog modela podataka:

1. vježba
tablica (relacija) - table
indeks - index
pregledi (privremene tablice) - view

SQL 1

Tipovi instrukcija u SQL-u (uobičajena podjela)


Temeljna pravila sintakse SQL-a DDL - Data Definition Language
DML - Data Manipulation Language
• Svaki DBMS dolazi s alatom koji korisniku dopušta TCL - Transactional Control Language
DCL - Data Control Language
unošenje i izvršavanje SQL naredbi (query = upit).
DQL - Data Query Language
• Svaka naredba završava interpunkcijskim znakom
točka-zarez (;), a ukoliko se instrukcija prostire kroz više
DDL DML TCL DCL DQL
redova, znak „;” se stavlja na kraj posljednjeg reda.
• Definiranje • Manipuliranje • Upravljanje • Kontrola • Pretraživanje
• Kada se SQL naredba uključuje u drugi programski jezik, objekata: podacima: izvođenjem podataka i i dohvaćanje
podataka u
ona završava na način svojstven tom jeziku. INSERT
naredbi: njihove
bazi:
CREATE sigurnosti:
• Iako je SQL no-case-sensitive (ne razlikuje velika i mala COMMIT
DELETE SELECT
slova), uobičajeno je da se ključne riječi pišu velikim DROP
ROLLBACK
GRANT FROM
slovima. ALTER UPDATE REVOKE
SAVEPOINT JOIN
MERGE
SET (WHERE,
TRANSACTION GROUP BY,
HAVING,
ORDER BY)

SQL 1 SQL 1

Vježba 1. Pogled baze i pregled tablica/relacija

1. Pogled na bazu podataka:


• Pogled na bazu podataka
• Pregled tablica u bazi podataka SHOW DATABASES;
• Kreiranje tablica (DDL - CREATE)
• Umetanje podataka u tablice (DML - INSERT) Ovu instrukciju upotrijebite na početku vježbe i na kraju
• Pregledavanje sadržaja tablice (DQL - SELECT) vježbe (pregled stanja u bazi podataka)
• Brisanje sadržaja tablice (DML – DELETE)
• Brisanje tablice iz baze podataka (DDL – DROP) 2. Pregled tablica u bazi podataka:

SHOW TABLES;

Ovu instrukciju upotrijebite nakon svake DDL instrukcije

SQL 1 SQL 1

1
11.10.2017.

Kreiranje tablice (relacije) baze podataka Osnovni tipovi podataka 1/4

INTEGER
CREATE TABLE ime_tablice (Atribut_1 data_type - cjelobrojna vrijednost standardne dužine
PRIMARY KEY, Atribut_2 data_type, - raspon: od –2147483648 do 2147483647 ili
Atribut_3 data_type, ... ); od 0 to 4294967295

NUMERIC (znameni, decimala)


Ova instrukcija kreira tablicu i uz nju je nužno - zapisivanje ne cjelobrojnih numeričkih vrijednosti
definirati ime tablice, atribute i tipove - ne može mu biti ne dodijeljena vrijednost
podataka, te primarni ključ. - zapisuje se kao string – jedna znamenka = jedan znak
- negativni predznak se ne broji u dužinu polja
- ako se izostavi sadržaj u zagradi, računa se dužina
polja od 10 znakova
- moguće zapisati brojeve:
od –3.402823466E+38 do 1.175494351E-38, 0 ili
od 1.175494351E-38 do 3.402823466E+38
SQL 1 SQL 1

Osnovni tipovi podataka 2/4 Osnovni tipovi podataka 3/4

DATE CHAR(broj_znakova)
- datumsko polje - podatkovno polje fiksne dužine
- američki sustav zapisa: ‘YYYY-MM-DD’ - prazninama se popunjava polje do definirane dužine
- datumski raspon: 1000-01-01 to 9999-12-31 - u upitima se dodani prazni znakovi brišu
- prilikom unosa datum se stavlja pod navodnike - raspon znakova: 1 to 255 characters
- razlikuje velika i mala slova
TIME
- vremensko polje VARCHAR(broj_znakova)
- zapis vremena u formatu: ‘HH:MM:SS’ - podatkovno polje promjenjive dužine
- vremenski raspon: -838:59:59 do ‘838:59:59’ - znakovi se pohranjuju bez pratećih praznina
- prilikom unosa vrijeme se stavlja pod navodnike - raspon znakova: 1 to 255 characters
- razlikuje velika i mala slova

SQL 1 SQL 1

Osnovni tipovi podataka 4/4 Primarni ključ

Ostali tipovi podataka: - pretvara tablicu u relaciju


(nemoguće unijeti dvije istovjetne n-torke)
TINYINT, SMALLINT, MEDIUMINT, INT/INTEGER, BIGINT, - najjednostavnije dodati ga u nastavku naziva atributa i tipa
FLOAT, DOUBLE/DOUBLE PRECISION/REAL, podatka, a prije zareza:
DECIMAL/NUMERIC, DATE, DATETIME, TIMESTAMP, TIME,
YEAR, CHAR, VARCHAR, TINYBLOB, TINYTEXT, BLOB, TEXT, …. id INTEGER PRIMARY KEY, ….
MEDIUMBLOB, MEDIUMTEXT, LONGBLOB, LONGTEXT,
- jednoznačno i nedvosmisleno razlikuje pojave atributa -
ENUM, SET podatke
- omogućava identifikaciju
- služi za uspostavljanje veza preko vanjskog ključa druge
relacije

SQL 1 SQL 1

2
11.10.2017.

Umetanje podataka u tablicu/relaciju 1/2 Umetanje podataka u tablicu/relaciju 2/2

1. podaci su navedeni redoslijedom atributa – tada ne treba - podaci se u tablicu unose u obliku n-torki (redova) -
popis atributa jedna instrukcija = jedan red tablice/relacije
- znakovne i vremenske vrijednosti atributa se
INSERT INTO ime_tablice VALUES (podatak_1, stavljaju pod navodnike
podatak_2, podatak_3, ...); - zahtijevani podatak (primarni ključ) mora biti unesen

2. podaci su navedeni proizvoljnim redoslijedom – treba Primjer:


popis atributa

INSERT INTO ime_tablice (Atribut_1, Atribut_2,


Atribut_3, …) VALUES (podatak_1,
podatak_2, podatak_3, ...);

SQL 1 SQL 1

Pregled sadržaja tablice/relacije Brisanje tablice i sadržaja tablice


(osnovna razina)
1. bez odabira atributa i redoslijeda prikazivanja atributa
SELECT * FROM ime_tablice; 1. brisanje sadržaja tablice/relacije:

2. s odabirom atributa i redoslijeda prikazivanja atributa DELETE FROM ime_tablice;


(npr. od atributa Atribut_1, Atribut_2, Atribut_3, … izdvajaju
se atributi Atribut_1 i Atribut_2 po obrnutom redoslijedu) - instrukcija uklanja sve n-torke (redove) iz tablice/relacije
SELECT Atribut_2, Atribut_1 FROM ime_tablice; - instrukcija ne briše samu tablicu (definiciju tablice)

- rezultat djelovanja instrukcije je tablica/relacija 2. brisanje tablice/relacije iz sheme baze podataka:


- u prvoj prikazanoj inačici * ima funkciju jokera (zamjenjuje
sve nazive atributa u tablici/relaciji) DROP TABLE ime_tablice;
- u drugoj prikazanoj inačici instrukcija djeluje na principu
projekcije (izdvajanja stupaca tablice) - instrukcija ne samo da briše n-torke iz tablice, već briše i
čitavu tablicu (uklanja je iz popisa tablica)
SQL 1 SQL 1

Parovi instrukcija (instrukcija + provjera) Zadaci za vježbu 1/2


Zadatak 1:
Kreirati tablicu Student:
- nakon izvršene DML provjera s DQL instrukcijom SELECT indeks INTEGER (primarni ključ)
- nakon izvršene DDL provjera s SHOW TABLES prezime_i_ime VARCHAR(30)
Upisati u tablicu 10 studenata.
INSERT, Obrisati upisane studente.
SELECT Upisati u tablicu novih 10 studenata.
DELETE
Zadatak 2:
Napraviti tablicu Kontni_plan:
CREATE, SHOW konto_br VARCHAR(0) (PK)
DROP TABLES naziv_konta VARCHAR(20)
tip_konta CHAR(1)
Upisati u tablicu 10 konta.
SAVJET: nakon unosa svakog ili nekoliko redaka podataka Pregledati tablicu bez atributa tip_konta.
pomoću instrukcije SELECT * FROM provjeriti točnost unosa Pregledati tablicu uz ispis naziva konta pa broja konta.
SQL 1 SQL 1

3
11.10.2017.

Zadaci za vježbu 2/2


Zadatak 3:
Napraviti tablicu Proizvod:
sifra VARCHAR(13) (PK)
naziv_proizvoda VARCHAR(20)
jedinica_mjere VARCHAR (3)
količina INTEGER Pitanja
cijena NUMERIC(10, 2)
Upisati u tablicu 10 proizvoda.
Načiniti pregled tablice uz najmanje 5 različitih projekcija.
Obrisati cijelu tablicu. Ponovno kreirati tablicu. Zadaća 1.
Upisati u tablicu 5 novih proizvoda.
Obrisati n-torke (redove) iz tablice.

Zadatak 4:
Kreirati tablicu po vlastitom izboru. Proći sve SQL instrukcije koje
su obrađene u okviru ovih vježbi.
SQL 1 SQL 1

Вам также может понравиться