BP_SQL1

download BP_SQL1

of 3

description

MySQL

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!