vadnica-logo
Editor Moj Blog Moje storitve O projektu Telegram O meni O meni

MySQL Vadnica

MySQL je eden najpopularnejših odprto kodnih sistemov za upravljanje relacijskih podatkovnih baz (RDBMS - Relational Database Management System). Uporablja SQL (Structured Query Language) za upravljanje s podatki in je posebej priljubljen v kombinaciji s PHP pri razvoju spletnih aplikacij. MySQL je del znamenitega LAMP (Linux, Apache, MySQL, PHP) sklada in podpira vse pomembnejše operacijske sisteme.

  • baza.sql
💡 SQL simulator, ki ga vidiš tukaj, je moje lastno delo, spisano v JavaScriptu — ne prava baza podatkov. Trudim se, da pokrije čim več primerov, a če se kdaj obnaša čudno, mu ne zaupaj slepo — primer raje preveri še lokalno. 🙂
PRIMER
REZULTAT

Glavne značilnosti MySQL-a vključujejo:

  1. Hitro delovanje in zanesljivost
  2. Enostavno upravljanje podatkovnih baz
  3. Podpora za večuporabniški dostop
  4. Visoka varnost s sistemom pravic
  5. Podpora za transakcije in tuje ključe
  6. Združljivost s številnimi programskimi jeziki
  7. Odlična dokumentacija in skupnost

Za razvoj z MySQL potrebujemo ustrezno razvojno okolje (IDE - Integrated Development Environment). Najbolj priljubljena orodja vključujejo:

  1. phpMyAdmin: spletni vmesnik za upravljanje MySQL baz
  2. MySQL Workbench: uradno orodje za načrtovanje in upravljanje baz
  3. DataGrip: profesionalno orodje podjetja JetBrains
  4. HeidiSQL: lahek in zmogljiv odjemalec za Windows

V tej vadnici bomo uporabljali XAMPP, ki vključuje phpMyAdmin, lahko pa tudi delamo s PHPStorm Database orodjem. MySQL podpira dva načina komentiranja kode:

  1. Enovrstični komentarji: začnejo se z dvema minusoma (--)
  2. Več vrstični komentarji: začnejo se z /* in končajo z */
-- To je enovrstični komentar
SELECT * FROM users; -- Prikaži vse uporabnike
/* To je več vrstični komentar
   Lahko se razteza čez
   več vrstic */
SELECT * FROM products;

Za začetek dela z MySQL potrebujemo

  1. Nameščen XAMPP ali podoben lokalni strežniški paket.
  2. Zagnano MySQL storitev v nadzorni plošči.
  3. Dostop do phpMyAdmin vmesnika preko gumba Admin.

Razpoložljive tabele v simulatorju

Za učenje in preizkušanje vaših SQL poizvedb je v simulatorju že vnaprej pripravljena bogata zbirka testnih tabel. Spodaj si lahko ogledate seznam vseh razpoložljivih tabel, njihove stolpce in kratek opis, čemu so namenjene.

Kako začeti? Tabel ni treba nalagati ali ustvarjati. V simulator preprosto vpišite ukaz za izpis (npr. SELECT * FROM prva; ali SELECT * FROM zaposleni LIMIT 5;) in si sami oglejte strukturo ter podatke, ki se skrivajo v njih. Preizkusite različne kombinacije in se učite na praktičnih primerih!

prva (Stolpci: id, ime, priimek, starost)
Opis: Osnovna tabela z nekaj zaposlenimi za testiranje prvih korakov.
podvojena_tabela (Stolpci: id_tabele, ime, priimek, mesto, drzava)
Opis: Idealna tabela za učenje odstranjevanja dvojnikov z uporabo DISTINCT ali GROUP BY.
razvrscanje (Stolpci: ime, priimek, oddelek, placa)
Opis: Velika tabela z veliko podatki, namenjena vadbi stavkov ORDER BY, LIMIT in filtriranja oddelkov.
izdelki in izdelki_on_primer (Stolpci: naziv, cena)
Opis: Seznam artiklov v trgovini, primeren za matematične operatorje (>, <, BETWEEN).
zaposleni (Stolpci: id, ime, priimek, oddelek, placa, leto_zaposlitve)
Opis: Glavna tabela za vadbo združevalnih funkcij (COUNT, AVG, SUM) in grupiranja.
stranke (Stolpci: id, ime, priimek, email, telefon, mesto)
Opis: Podatki o strankah iz različnih mest v Sloveniji.
novice (Stolpci: id, naslov, datum, vsebina)
Opis: Primer baze za blog. Odlična za delo z datumi in iskanje tekstovnih vzorcev z LIKE.
narocila (Stolpci: id, narocilo, datum, izdelek, kolicina, cena_kos, cena_skupaj)
Opis: Pregled transakcij. Primerna za kompleksne kalkulacije in filtriranje časovnih žigov (DATETIME).
ocene in student_ocene (Stolpci: id, predmet, ocena)
Opis: Šolske ocene za preprosto računanje povprečij ali iskanje najvišjih/najnižjih ocen (MIN, MAX).
prodaja (Stolpci: id, prodajalec, mesecna_prodaja, mesecni_cilj, mesec)
Opis: Primerjalna tabela za preverjanje uspešnosti (npr. kdor je presegel mesečni cilj).
zaloga (Stolpci: id, izdelek, kolicina_na_zalogi, povprecna_mesecna_prodaja, minimalna_zaloga, cena_kos)
Opis: Logistična tabela za napredne pogoje (npr. kateri izdelki so padli pod minimalno zalogo).
ucinkovitost (Stolpci: id, zaposleni, opravljene_ure, zakljucene_naloge)
Opis: Tabela za analitiko produktivnosti.
zadovoljstvo_strank (Stolpci: id, stranka, ocena_zadovoljstva, stevilo_nakupov, stevilo_pritozb)
Opis: Tabela z decimalnimi ocenami zadovoljstva in celimi števili pritožb.
akcije (Stolpci: izdelek, cena, popust, zaloga, sezona, datum_akcije)
Opis: Podatki o sezonskih znižanjih, idealni za filtriranje po sezonah ali izračun končnih cen s popusti.
studenti, predmeti, profesorji, fakultete
Opis: Relacijski sklop tabel, ki je popolnoma pripravljen za učenje povezovanja tabel preko JOIN stavkov (INNER JOIN, LEFT JOIN).
prodaja_on_primer in narocila_on_primer
Opis: Dodatni tabeli za učenje eksplicitnih ON pogojev pri združevanju podatkov.
dnevnik_sprememb (Stolpci: id, tabela, zapis_id, tip_spremembe, datum)
Opis: Prazna tabela, pripravljena za demonstracijo beleženja sistemskih dogodkov ali INSERT/UPDATE logov.
pravice_dostopa (Stolpci: uporabnik_id, modul, tip_pravice, datum_dodelitve)
Opis: Tabela za simulacijo varnostnih nastavitev uporabnikov.
besedila (Stolpci: id, besedilo)
Opis: Tabela s presledki in zvezdicami, ustvarjena posebej za učenje tekstovnih funkcij, kot so TRIM(), REPLACE() in SUBSTRING().
produkti (Stolpci: id, ime, cena, kategorija)
Opis: Klasičen šifrant artiklov razdeljen po kategorijah blaga.
datumi in dogodki
Opis: Tabele namenjene testiranju funkcij za čas in datum (NOW(), DATE_FORMAT(), YEAR()).
racuni (Stolpci: id_racuna, opis, znesek, datum)
Opis: Finančna tabela, ki vsebuje pozitivne in negativne zneske, idealna za funkcijo ABS() ali ločevanje prihodkov in odhodkov.
sqrt_tabela (Stolpci: id, stevilo, opis)
Opis: Tabela s števili, pripravljena za testiranje matematične funkcije SQRT() (kvadratni koren) in ROUND().
null_tabela (Stolpci: id, ime, vrednost, opomba, status)
Opis: Ključna tabela za učenje dela z NULL vrednostmi. Uporabniki tukaj vadijo operatorje IS NULL, IS NOT NULL in funkcijo COALESCE().