Sunteți pe pagina 1din 21

Curs: Programarea și administrarea MySQL

Module: Introduction to MySQL


Unitate: MySQL Workbench

În această lecție ne vom familiariza cu instrumentul destinat


administrării bazei de date care posedă o interfaţă grafică cu
utilizatorul, spre deosebire de MySQL Monitor, cu care ne-am
familiarizat într-una din lecţiile precedente.

Aplicaţia pe care o vom folosi intensiv în acest curs se numeşte MySQL


Workbench, mediul integrat pentru administrarea serverului MySQL, în
cadrul căruia există tot ceea ce este necesar pentru gestionarea
reuşită a bazelor şi a datelor de pe server.

În trecut, existau două aplicaţii pentru gestionarea bazelor şi a datelor:


MySQL Administrator şi MySQL Query Browser. Dezvoltarea acestor
două aplicaţii nu mai este actuală, fiindcă toate funcţionalităţile
necesare sunt introduse în MySQL Workbench.

MySQL Workbench asigură administratorilor şi programatorilor un


mediu integrat, cu toate instrumentele necesare pentru:

proiectarea şi modelarea bazei de date;


dezvoltarea SQL (înlocuiește MySQL Query Browser)
administrare (înlocuiește MySQL Administrator);
transferarea bazei.

Instalarea lui MySQL Workbench

MySQL Workbench se poate instala în cadrul pachetului, împreună cu


serverul şi cu celelalte componente, la fel cum am făcut noi într-una
din lecţiile precedente, dar se poate instala şi separat. Acest lucru se
recomandă dacă utilizaţi un pachet WAMP, LAMP, MAMP sau XAMPP,
deoarece, aşa cum am spus deja, nu trebuie să reinstalaţi serverul.
Trebuie doar să descărcaţi şi să instalaţi MySQL Workbench.

În acest capitol vom arăta procesul de preluare şi instalare a acestei


aplicaţii, separat de restul pachetului.

MySQL Workbench se poate descărca de la următoarea adresă web:

http://dev.mysql.com/downloads/workbench/

© Copyright Link group 1 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

După deschiderea linkului de mai sus, vi se va afișa o pagină care,


printre altele, conţine şi următoarele opţiuni:

Imaginea 4.1. O parte din pagina web pentru alegerea versiunii


corespunzătoare a lui MySQL Workbench

Aici, ca în cazul descărcării serverului MySQL, trebuie să selectaţi


platforma, să alegeţi platforma pe care vreţi să instalaţi MySQL
Workbench şi apoi să confirmaţi aceasta prin apăsarea butonului
Download.

La fel ca la descărcarea lui MySQL, se va deschide o fereastră care vă


va oferi posibilitatea de logare.

Pentru a descărca MySQL Workbench, selectaţi opţiunea No thanks,


just start my download, care se găseşte în partea de jos a paginii.

După descărcarea aplicaţiei, porniţi instalarea şi executaţi următorii


paşi:

1. Selectaţi Next >.

© Copyright Link group 2 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

Imaginea 4.2. Fereastra de instalare a lui MySQL Workbench

2. Next >.

© Copyright Link group 3 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

Imaginea 4.3. Calea de instalare

3. Ca tip de instalare, lăsaţi bifată opţiunea selectată Complete şi


daţi clic pe butonul Next;

© Copyright Link group 4 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

Imaginea 4.4. Alegerea tipului de instalare

4. Selectaţi Install.

© Copyright Link group 5 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

Imaginea 4.5. Pornirea instalării

După instalarea reuşită, porniţi programul MySQL Workbench.

MySQL Workbench

După pornirea lui MySQL Workbench, veţi obţine o fereastră cu un


astfel de aspect:

© Copyright Link group 6 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

Imaginea 4.6. MySQL Workbench

În imaginea 4.6., putem observa că MySQL Workbench a creat pentru


noi, în mod automat, o conexiune pe serverul MySQL. Totuşi, nu
întotdeauna se întâmplă așa, aşadar trebuie să ne familiarizăm cu
tehnica de creare a conexiunii.

Crearea conexiunii

Ce este, de fapt, o conexiune? Sub noţiunea de conexiune, în acest


context, se subînţelege logarea pe serverul MySQL cu date de acces
adecvate. Într-una din lecţiile precedente, folosind instrumentul MySQL
Monitor, noi am executat, de fapt, conexiunea la baza de date, astfel
încât am introdus:

© Copyright Link group 7 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

mysql.exe –u root –p.

Aceasta a însemnat că ne-am conectat la server ca utilizator


privilegiat.

Pentru a se crea o conexiune nouă la serverul MySQL, este suficient să


alegem butonul pentru adăugarea unei conexiuni noi (butonul cu
semnul plus).

Imaginea 4.7. MySQL Connections

În fereastra care se deschide, este necesar să introducem cei mai


importanţi parametri pentru ca Workbench să reuşească să se
conecteze la serverul MySQL. Principalele date care trebuie introduse
sunt:

denumirea conexiunii;
hostname (gazda);
portul;
username (numele utilizatorului);
password (parola).

Pentru denumirea conexiunii, puteţi alege orice denumire vreţi, în timp


ce pentru hostname este necesară introducerea adresei calculatorului

© Copyright Link group 8 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

pe care se găseşte instanţa serverului MySQL când aceasta este


operativă. Fiindcă lucrăm cu o bază de date locală, este necesar să
introducem adresa localhost 127.0.0.1 sau, pur şi simplu, scriem
localhost.

Portul implicit pe care funcţionează MySQL server este portul 3306.

Am spus deja că, în timpul instalării serverului MySQL, este creat un


utilizator care se consideră drept administrator. Numele de utilizator al
acestui utilizator este root, iar parola nu este definită.

Aspectul ferestrei pentru crearea unei conexiuni noi cu toate datele


introduse este reprezentat în imaginea 4.8.

Imaginea 4.8. Crearea unei conexiuni noi

În imaginea 4.8., putem observa şi câmpul pentru introducerea bazei


de date implicite a conexiunii create - Default Schema. În acest câmp

© Copyright Link group 9 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

putem introduce denumirea unei baze de date, care va fi selectată


automat în timpul conectării, prin folosirea conexiunii definite. Această
opţiune de fundal apelează, de fapt, comanda use, cu care ne-am
familiarizat într-una dintre lecţiile anterioare, atunci când am lucrat cu
software-ul MySQL Monitor.

Se poate introduce şi parola pentru utilizatorul ales (în cazul nostru,


acesta este utilizatorul privilegiat) şi, în acest mod, nouă nu ni se va
mai cere introducerea parolei mai târziu, în timpul lucrului. Pentru cele
menţionate, folosim opţiunea Store in Vault (Depozitează în seif).

SQL Editor

Cu clic pe conexiunea creată, se deschide SQL Editor. Aceasta este


fereastra în care vă veţi petrece majoritatea timpului atunci când veţi
manipula datele.

© Copyright Link group 10 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

Imaginea 4.9. SQL Editor

În partea stângă a ferestrei se pot găsi opţiunile împărţite logic în 4


grupuri:

Management;
Instance;
Performance;
Schemas.

În cadrul secţiunii Management, se pot obţine principalele informaţii


despre statusul serverului, despre clienţii şi utilizatorii conectaţi. De
asemenea, în această secţiune se găsesc şi opţiunile pentru crearea
noilor utilizatori şi pentru atribuirea drepturilor utilizatorilor. Mai sunt
două opţiuni importante care aparţin acestei secţiuni, legate de
importul şi exportul datelor. Folosind aceste opţiuni, se pot exporta

© Copyright Link group 11 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

datele din baza de date definită sau se pot importa date dintr-o altă
bază de date compatibilă.

Instance este secţiunea care conţine opţiunile pentru setarea


instanţei serverului MySQL. Se poate porni şi închide serviciul MySQL,
ceea ce am făcut într-una din lecţiile precedente, folosind consola.

Următoarea secţiune, Performance, este legată de opţiunile şi


funcţionalităţile care ne asigură monitorizarea performanţelor la
diferite operaţii care se execută pe server.

Desigur, pentru noi, cea mai importantă secţiune în acest moment este
secţiunea Schemas, care afişează bazele de date existente pe server.

Partea centrală a ferestrei de lucru a editorului SQL este ocupată de


spațiul pentru introducerea interogării, respectiv a codului SQL pentru
manipularea bazelor şi a datelor.

Sub partea destinată introducerii interogării, avem Output panel, în


care se afişează mesajele referitoare la succesul comenzilor pe care le
atribuim serverului. Dacă se ajunge la vreo eroare în timpul executării
unei interogări, aceasta este secţiunea în care va fi afişat textul erorii.

În partea dreaptă a spaţiului de lucru se găseşte SQL Additions, un


panou care se foloseşte pentru afişarea unui tip de ajutor în timpul
scrierii interogării. Aici puteţi să găsiţi documentaţia legată de modul în
care se scriu interogările SQL şi alte lucruri similare, ceea ce va fi util în
munca ce urmează.

Lucrul în SQL editor va fi abordat în timpul întregului curs, aşadar


aceasta era doar o mică introducere în posibilităţile şi funcţionalităţile
pe care le posedă SQL Editor şi care vă pot facilita semnificativ munca.
Vom folosi intensiv această secţiune în modulul 3, când vom studia
sintaxa limbajului SQL şi când vom scrie interogări pentru manipularea
datelor, precum şi a bazelor.

© Copyright Link group 12 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

Lucrul cu modele

În lecţia precedentă ne-am familiarizat cu procedurile de proiectare a


unei baze de date calitative, iar apoi am menţionat şi modelele ER,
cum se creează acestea şi din ce sunt alcătuite.

Folosind instrumentul MySQL Workbench pentru modelare, se poate


crea modelul EER al bazei de date, care se poate converti apoi, în mod
automat, într-o bază de date reală. Aceasta, practic, înseamnă că
modelul pe care l-am creat în lecţia precedentă se poate converti într-o
bază de date reală. Un astfel de procedeu, unde dintr-un model
obţinem un cod concret, se numeşte Forward Engineering. Desigur,
este posibil şi un scenariu invers, adică crearea unui model din baza de
date existentă. Un astfel de proces se numeşte Reverse Engineering.

Reverse Engineering

Deoarece încă nu am creat nicio bază de date, nu putem să executăm


Reverse Engineering (fiindcă, de fapt, avem nevoie de o bază existentă
pentru a obţine din ea un model).

Vom observa cum ar arăta un proces de Reverse Engineering,


respectiv cum ar fi arătat crearea unui model conform acestei baze de
date.

Iniţial, secţiunea pentru manipularea modelelor are următorul aspect:

© Copyright Link group 13 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

Imaginea 4.10. Secţiunea pentru manipularea modelelor

Observăm trei butoane. Acestea sunt butoanele standard pentru


manipularea modelelor, şi anume pentru crearea, deschiderea şi
generarea modelului din bazele sau scripturile existente.

Dacă am fi vrut să creăm un model dintr-o bază existentă, am fi ales


ultimul buton dintre aceste trei.

Imaginea 4.11. Crearea modelului conform bazei sau a scriptului


existent

În următoarele ferestre, este necesar să alegem doar baza dorită şi să


urmăm instrucţiunile, dar fiindcă, după cum am spus deja, până acum
nu am creat nicio bază, nu vom putea să terminăm acest proces.

© Copyright Link group 14 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

Forward Engineering

Cel mai des, veţi dori să creaţi mai întâi un model şi apoi să creaţi o
bază de date din acesta. Desigur, după cum am spus, acest lucru se
poate face prin Forward Engineering. Știm din lecția anterioară că
prioritatea este acordată, în primul rând, analizei cerinţelor şi
proiectării funcţionale, pe baza cărora creăm un design logic. Sfatul
este să respectăm această comandă atunci când lucrăm.

Pentru a testa Forward Engineering, putem descărca şi instala o


bază de date concepută pentru învăţare şi testare, care, cu siguranţă,
ne va fi de folos în viitor.

Această bază de date se numeşte Sakila şi o putem descărca


(modelul, structura şi datele) de la următorul link:
https://dev.mysql.com/doc/index-other.html.

Imaginea 4.12. Aspectul paginii pentru descărcarea bazei de date


Sakila

După ce descărcaţi fişierul .zip şi îl dezarhivaţi, ar trebui să primiţi trei


fişiere:

1. mwb (fişierul care conţine modelul bazei de date Sakila);


2. sakila-schema.sql (fişierul care conţine structura bazei de date
Sakila);
3. sakila-data.sql (fişierul care conţine datele bazei de date
Sakila).

© Copyright Link group 15 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

Imaginea 4.13. Fişierele obţinute prin dezarhivarea fişierului .zip

După ce aţi dezarhivat fişierul .zip, deschideţi Workbench şi din meniu


selectaţi File, apoi Open Model. După ce aţi făcut asta, găsiţi folderul în
care aţi dezarhivat fişierul vostru .zip, daţi clic pe fişierul sakila.mwb şi
apăsați Open.

Dacă vă apare o fereastră asemănătoare celei de mai jos, daţi clic pe


opţiunea Rename.

Imaginea 4.14. Fereastra în care trebuie să dăm clic pe Rename pentru


redenumirea indexurilor

După ce am făcut aceasta, ar trebui să obţinem ceva similar cu ce


avem în imaginea de mai jos (diagrama ER a întregii baze de date

© Copyright Link group 16 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

Sakila).

Imaginea 4.15. Diagrama Entity-Relationship a bazei de date Sakila

Vom folosi baza de date Sakila pentru a demonstra utilizarea


interogărilor, deci, este foarte important să o creăm corect acum.

Pentru a obţine o bază de date specifică din acest model, rulăm


opţiunea Forward Engineering.

© Copyright Link group 17 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

Imaginea 4.16. Opțiunea Forward Engineering

În fereastra care se deschide, trebuie să stabilim mai întâi prin ce


conexiune (ce server) vom crea baza de date din diagramă sau unde
va fi ea localizată în final. Această fereastră este identică cu cea pe
care o obţinem atunci când creăm o nouă conexiune. După ce dăm clic
pe Next, în a doua fereastră putem selecta unele dintre opţiunile
pentru baza de date creată, pe care, în acest caz, le vom lăsa în starea
implicită. După următorul Next, în fereastra care se deschide, dialogul
Select objects este important, iar acolo putem alege ce elemente din
diagramă dorim să convertim în anumite părţi ale bazei de date.

© Copyright Link group 18 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

Imaginea 4.17. Selectarea elementelor modelului pentru generare

Aici vedem că sunt selectate toate elementele, şi anume tabelele,


vizualizările, rutinele şi declanşatorii/triggers.

Următorul dialog va prezenta, de fapt, un script generat care va crea o


bază de date cu toate elementele auxiliare. Este important să
înţelegeţi că procesul de Forward Engineering traduce diagramele
modelului într-un cod adecvat al limbajului SQL, care, atunci când este
executat pe server, creează o bază de date cu tabele, vizualizări,
declanşatoare etc.

Dând clic pe butonul Next, se generează baza de date.

© Copyright Link group 19 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

După finalizarea cu succes a Forward Engineering-ului, baza de date


creată, Sakila, poate fi găsită în secţiunea bazelor de date.

Imaginea 4.18. Baza de date Sakila în cadrul secţiunii Schemas

Baza de date Sakila, pe care am creat-o în acest fel, nu conţine date.


Pentru a afla mai multe informaţii despre baza Sakila propriu-zisă,
puteţi accesa următoarea adresă web:

http://dev.mysql.com/doc/sakila/en/

Pentru introducerea datelor necesare în cadrul bazei de date Sakila, în


folderul dezarhivat trebuie să găsim fişierul cu numele sakila-
data.sql.

© Copyright Link group 20 / 21


Curs: Programarea și administrarea MySQL
Module: Introduction to MySQL
Unitate: MySQL Workbench

Fişierele cu extensia .sql sunt, de fapt, documente care conţin


interogări SQL complete sau aşa-numitele scripturi SQL. Documentul
sakila-schema.sql conţine interogări pentru crearea unei baze de date
cu o structură completă, adică genul de baze de date pe care le avem
acum (baze de date fără date). Documentul sakila-data.sql conţine
informaţiile din tabelele bazei de date Sakila, de care avem nevoie
acum, întrucât am creat deja structura bazei de date prin modelul
acesteia.

Pentru a executa o interogare deja definită cu extensia .sql, trebuie să


alegeţi opţiunea Open a script file in this editor, care se află deasupra
spaţiului de inserare a interogării editorului SQL. Este prima iconiţă din
seria de iconiţe prezentate în imaginea 4.17.

Imaginea 4.19. Opţiunea pentru încărcarea scriptului extern

După selectarea acestei opţiuni, trebuie să găsiţi un fişier cu interogări


definite; în cazul nostru, acesta va fi un fişier sakila-data.sql.

Când selectăm un fişier, în spaţiul pentru inserarea interogărilor putem


vedea un set de comenzi încărcate din fişier. Executăm scriptul dând
clic pe iconiţa în formă de fulger, respectiv .

După aceasta, datele vor fi încărcate în baza de date Sakila. În al


treilea modul vom folosi, în mare parte, baza de date Sakila, modul în
care vom studia sintaxa de bază a dialectului MySQL al limbajului SQL.

© Copyright Link group 21 / 21

Powered by TCPDF (www.tcpdf.org)

S-ar putea să vă placă și