MySQL Workbench¶
A MySQL Workbench egy klasszikus relációs adatbázis kezelő rendszerhez (MySQL) tartozó kliensalkalmazás, melyet tipikusan a következő feladatok elvégzésére használunk:
- Adatbázis modellezés
- SQL lekérdezések készítése
- Szerver adminisztráció
A tárgy során csak az első két funkciót fogjuk használni, ezért csak ezek kerülnek röviden bemutatásra.
Adatbázis modellezés¶
Az adatmodellezés során csak a fizikai modellt lehet tervezni, logikai modellt nem lehet készíteni az eszközzel, csak olyan modellt lehet készíteni, mely relációs sémába közvetlenül leképezhető.
A modell létrehozását követően megjelenik a modellszerkesztő ablak (1), ezt mutatja be az előző ábra. Egy modell számos elemből épülhet fel:
- Fizikai adatbázis séma: MySQL adatbázis sémára vonatkozó információk (pl.: séma név (2), collation(3) )
- Egyed-kapcsolat modellek: adatbázis tábláinak és kapcsolataiknak modellje
- Jogosultságok: felhasználók és jogosultságok a fizikai adatbázisban
- Egyéb SQL szkriptek: tetszőleges SQL szkriptek, amelyek például egyéb adatbázis elemek létrehozására szolgálhatnak
Egyed-kapcsolat (EK) diagram hozzáadását követően megjelenik a szerkesztő felület (4), ezt szemlélteti az alábbi ábra.
A diagramra elhelyezhető elemeket a függőlegesen megjelenő eszköztárról lehet elhelyezni a diagramon: tábla elemek (5), kapcsolatok (6). A kapcsolatok modellezése során, a több-több kapcsolatokat rögtön átfordítja az eszköz összekapcsoló entitássá. Az egyes táblák szerkesztésére szolgál a táblaszerkesztő (7).
Automatikus kódgeneráláshoz válasszuk a Database > Forward Engineer parancsot. A folyamat viszonylag nyilvánvaló, tipikusan Next-Next-Finish jellegű. Viszont célszerű generáltatni a DROP`` parancsokat is, így többször is lefuttatható a szkript, először mindig eldobja az egész sémát, majd azután csinálja meg az újat. A Drop objects before each create object csak azokat a létező objektumokat dobja el, amiket most akarunk létrehozni, más objektumok megmaradnak.
Automatikus modellgeneráláshoz válasszuk a Database > Reverse Engineer parancsot. Erre várhatóan nem lesz szükség, de illusztrációként szolgálhat bizonyos laborfeladatoknál, ha van rá idő.
SQL lekérdezések készítése¶
Az alkalmazást SQL lekérdezés futtatása során mutatja az alábbi ábra.
Adatbázishoz történő kapcsolódás után jelenik meg a fenti képernyő. Bal oldalt fa szerkezetbe rendezve láthatjuk az adatbázisokat és a bennük lévő objektumokat (1). Lekérdezést a szerkesztő felületen írhatunk (2) és futtathatunk le. Az eredmény halmazt táblázatosan jeleníti meg (3), valamint státusz visszajelzést is látunk a futtatásról (4).
Gyakori problémák¶
- Adatbázis kapcsolódásnál gyakran kifagy az alkalmazás, ha a
Database>Connect to Database...parancsot használjuk. - Helyette vegyük fel a kapcsolatot gyorselérésbe a főoldalra és kapcsolódjunk onnan. - A főoldalon a MySQL Connections alatt vegyünk fel egy új kapcsolatot a+segítségével. - AConnection Namelegyenlocalhost, minden más maradhat alapértelmezett, és menjünk azOKgombra. - EK diagram SQL generálásnál olyan parancsokat is generál, amit az XAMPP alatt futó MariaDB nem ismer.
- A
Model>Model Options>MySQLmenüben vedd ki a pipát aUse defaults from global settingsmellől és írd át a MySQL verziót5.7-re.


