BP_SQL1
-
Upload
nicholas-oliver -
Category
Documents
-
view
213 -
download
0
description
Transcript of BP_SQL1
-
1SQLSQL
1.vjeba1.vjeba
Structured Query Language (SQL)
Upitni jezik 4. generacije za rad s relacijskim BP-a
Relacijska baza podataka
normalizirane, logiki i dinamiki povezane tablice
Koncepti Relcijakog modela podataka:
tablica (relacija) - table
indeks - index
pregledi (privremene tablice) view
Tipovi instrukcija u SQL-u (uobiajna podjela):
DDL - Data Definition Language
DML - Data Manipulation Language
DQL - Data Query Language
DCL - Data Control Language
TCL - Transactional Control Language
SQL vjebe
Instrrukcije SQL-a koje e biti u fokusu
DDL - definicija tablica, indeksa i pogledaCREATE, DROP, TRUNCATE, ALTER
DML - manipulacija s podacimaINSERT, UPDATE, MERGE, DELETE
DQL - pretraga podataka i grupiranje podatakaSELECT FROM, JOIN (WHERE, GROUP BY, HAVING,ORDER BY)
DCL - kontrola prava pristupa podacimaGRANT, REVOK
TCL - kontrola transakcijeSTART TRANSACTION, COMMIT, ROLLBACK
Posebne instrukcije MySQL-aSHOW DATABASES, SHOW TABLES
SQL vjebe
Projekt 1:
Pogled na bazu podataka
Pregled tablica u bazi podataka
Kriranje tablica (DDL - CREATE)
Umetanje podataka u tablice (DML - INSERT)
Pregledavanje sadraja tablice (DQL - SELECT)
Brisanje sadraja tablice (DML DELETE)
Brisanje tablice iz baze podataka (DDL DROP)
Domaa zadaa:
Ponoviti s pet razliitih tablica vjebu, s tim da se u
tablice unese najmanje 15 n-torki, te da se od pet
tablica iz dvije obrie sadraj, a jedna od njih da se
potpuno ukloni
Zadatak po teini: Lagan
SQL vjebe
Pogled na bazu podataka:
SHOW DATABASES;
Ovu instrukciju upotrijebite na poetku vjebe i na
kraju vjebe (pregled stanja u bazi podataka)
Pregled tablica u bazi podataka:
SHOW TABLES;
Ovu instrukciju upotrijebite nakon svake DDL
instrukcije
Kreiranje tablice (relacije) baze podataka:
CREATE TABLE ime_tablice (Atribut_1 data_type
PRIMARY KEY, Atribut_2 data_type,
Atribut_3 data_type, .... );
Ova instrukcija kreira tablicu i uz nju je nuno
definirati ime tablice, atribute i tipove
podataka, te primarni klju
SQL vjebeOsnovni tipovi podataka (MySQL):[1/3]
INTEGER
- cjelobrojna vrijednost standardne duine
-raspon: od 2147483648 do 2147483647 ili
od 0 to 4294967295
NUMERIC (znamenki, decimala)
-zapisivanje ne cjelobrojnih numerikih vrijednosti
-ne moe mu biti ne dodijeljena vrijednost
-zapisuje se kao string jedna znamenka = jedan znak
-negativni predznak se ne broji u duinu polja
-ako se izostavi sadraj u zagradi, rauna se duina
polja od 10 znakova
-mogue zapisati brojeve:
od3.402823466E+38 do 1.175494351E-38, 0 ili
od 1.175494351E-38 do 3.402823466E+38
SQL vjebe
-
2Osnovni tipovi podataka (MySQL):[2/3]
DATE
-datumsko polje
-ameriki sustav zapisa: YYYY-MM-DD
-datumski raspon: 1000-01-01 to 9999-12-31
-prilikom unosa datum se stavlja pod navodnike
TIME
-vremensko polje
-zapis vremena u formatu: HH:MM:SS
-vremenski raspon: -838:59:59 do 838:59:59
-prilikom unosa vrijeme se stavlja pod navodnike
SQL vjebeOsnovni tipovi podataka (MySQL):[3/3]
CHAR(broj_znakova)
-podatkovno polje fiksne duine
-prazninama se popunjava polje do definirane duine
-u upitima se dodani prazni znakovi briu
-raspon znakova: 1 to 255 characters
-razlikuje velika i mala slova
VARCHAR(broj_znakova)
-podatkovno polje promjenjive duine
-znakovi se pohranjuju bez prateih praznina
-raspon znakova: 1 to 255 characters
-razlikuje velika i mala slova
SQL vjebe
Ostali tipovi podataka (MySQL):[3/3]
TINYINT, SMALLINT, MEDIUMINT,
INT/INTEGER, BIGINT, FLOAT,
DOUBLE/DOUBLE PRECISION/REAL,
DECIMAL/NUMERIC, DATE, DATETIME,
TIMESTAMP, TIME, YEAR, CHAR, VARCHAR,
TINYBLOB, TINYTEXT, BLOB, TEXT,
MEDIUMBLOB, MEDIUMTEXT, LONGBLOB,
LONGTEXT, ENUM, SET
Primarni klju
pretvara tablicu u relaciju (nemogue unijeti dvije
istovjetne n-torke
najjednostavnije dodati ga u nastavku naziva
atributa i tipa podatka, a prije zareza:
/. id INTEGER PRIMARY KEY, /.
SQL vjebeUmetanje podataka u tablicu/relaciju:
podaci su navedeni redosljedom atributa tada ne
treba popis atributa
INSERT INTO ime_tablice VALUES (podatak_1,
podatak_2, podatak_3, ...);
podaci su navedeni proizvoljnim redoslijedom treba
popis atributa
INSERT INTO ime_tablice (Atribut_1, Atribut_2,
Atribut_3, /) VALUES (podatak_1, podatak_2, podatak_3, ...);
podaci se u tablicu unose u obliku n-torki (redova)
jedna instrukcija = jedan red tablice/reacije
znakovne i vremenske vrijednosti atributa se
stavljaju pod navodnike
zahtijevan podatak (primarni klju) mora biti unesen
SQL vjebe
Pregled sadraja tablice/relacije (osnovna razina):
bez odabira atributa i redoslijeda prikazivanja
atributa
SELECT * FROM ime_tablice;
s odabirom atributa i redoslijeda prikazivanja
atributa (npr. od atributi Atribut_1, Atribut_2,
Atribut_3, / izdvajaju se atributi Atribut_1 i Atribut_2
po obrnutom redoslijedu)
SELECT Atribut_2, Atribut_1 FROM ime_tablice;
rezultat djelovanja instrukcije je tablica/relacija
u prvoj prikazanoj inaici * ima funkciju jokera
(zamjenjuje sve nazive atributa u tablici/relaciji)
u drugoj prikazanoj inaici instrukcija djeluje na
principu projekcije (izdvajanja stupaca tablice)
SQL vjebePregled sadraja tablice/relacije (osnovna razina):
bez odabira atributa i redoslijeda prikazivanja
atributa
SELECT * FROM ime_tablice;
s odabirom atributa i redoslijeda prikazivanja
atributa (npr. od atributi Atribut_1, Atribut_2,
Atribut_3, / izdvajaju se atributi Atribut_1 i Atribut_2
po obrnutom redoslijedu)
SELECT Atribut_2, Atribut_1 FROM ime_tablice;
rezultat djelovanja instrukcije je tablica/relacija
u prvoj prikazanoj inaici * ima funkciju jokera
(zamjenjuje sve nazive atributa u tablici/relaciji)
u drugoj prikazanoj inaici instrukcija djeluje na
principu projekcije (izdvajanja stupaca tablice)
SQL vjebe
-
3Brisanje sadraja tablice/relacije (osnovna razina):
DELETE FROM ime_tablice;
instrukcija uklanja sve n-torke (redove) iz
tablice/relacije
instrukcija ne brie samu tablicu (definiciju tablice)
Brisanje tablice iz sheme baze podataka
DROP TABLE ime_tablice;
instrukcija ne samo da brie n-torke iz tablice, ve
brie i itavu tablicu (uklanja je iz popisa tablica)
Parovi instrukcija (instrukcija + provjera)
INSERT, DELETE SELECT
nakon izvrene DML provjera s DQL instrukcijom
CREATE, DROP SHOW TABLES
nakon izvrene DDL provjera s SHOW TABLES inst.
SQL vjebeZadatak 1:
Kreirati tablicu Student:
broj_indeksa INTEGER (primarni klju)
prezime_i_ime VARCHAR(30)
Upisati u tablicu 5 studenata
Obrisati upisane studente
Upisati u tablicu novih 10 studenata
Zadatak 2:
Napraviti tablicu Kontni_plan:
konto VARCHAR(10) (primarni klju)
naziv_konta VARCHAR(20)
tip_konta CHAR(1)
Upisati u tablicu 10 konta
Pregledati tablicu bez atributa tip_konta
Pregledati tablicu uz ispis naziva_konta pa konta
SQL vjebe
Zadatak 3:
Napraviti tablicu Proizvod:
sifra VARCHAR(13) (primarni klju)
naziv_proizvoda VARCHAR(20)
jedinica_mjere VARCHAR (3)
koliina INTEGER
cijena NUMERIC(10, 2)
Upisati u tablicu 10 proizvoda
Nainiti pregled tablice uz najmanje 5 razliitih
projekcija
Obrisati cijelu tablicu
Ponovo kreirati tablicu
Upisati u tablicu 5 novih proizvoda
SQL vjebeZadatak 4:
Napraviti tablicu Clan_kluba:
sifra INTEGER (primarni klju)
prezime_i_ime VARCHAR(20)
datum_uclanjenja DATE
Upisati u tablicu 10 lanova
Nainiti pregled tablice uz najmanje 5 razliitih
projekcija
Obrisati n-torke (redove) iz tablice
Zadatak 5:
Kreirati tablicu po vlastitom izboru
Proi s tablicom sve SQL instrukcije koje su obraene
u okviru ovog projekta
Obrisati sve tablice
Sve zadatke ponovo izvjebati kod kue
SQL vjebe
PITANJA!