Cum să construiți o diagramă în bancul de lucru. De la model la baza de date fizică în MySQL WorkBench. Crearea și editarea unui model de date

Toți webmasterii trebuie să se aprofundeze în tehnologiile de programare și baze de date după ce își dezvoltă resursele.


Treptat începi să aprofundezi în fiecare subtilitate, dar materialul de instruire nu este întotdeauna ușor de găsit. În plus, nu toată lumea știe despre existență programe utile.

Cum se creează o bază de date MySQL? Puteți crea tabele manual și puteți stabili relații între ele, dar acest lucru nu este atât de convenabil.

Creat special pentru asta program gratuit Banc de lucru. Cu acesta, puteți crea vizual baze de date MySQL. Modelarea lor cu ajutorul software-ului este mai ușoară, mai convenabilă și de multe ori mai rapidă.

Workbench vă va ajuta să creați o bază de date MySQL

Cu un singur instrument simplu, nu mai trebuie să descrii structura. Programul generează cod automat. Descărcați utilitarul de pe acest site, este potrivit pentru orice sistem de operare.

După instalarea normală a programului, Pentru a crea o bază de date MySQL, urmați acești pași:

  1. Mai întâi trebuie să deschideți model nou, acest lucru se face prin meniu sau combinația de taste Ctrl+N:

  2. Primul pas în crearea unei baze de date este adăugarea unui tabel, așa că selectăm funcția corespunzătoare:

  3. Apoi, tabelul este populat. Specificați numele și atributele, rețineți că unul dintre atribute este cheia principală marcată. Gândiți-vă dinainte cum vor fi apoi legate tabelele între ele:

  4. După completarea datelor necesare, creați o diagramă pentru a determina relațiile dintre subiecți:
  5. Veți vedea tabelul în spațiul de lucru. Pentru comoditate, puteți extinde structurile tabelului:

  6. Acum trebuie să setați legăturile dintre elemente, acest lucru se face cu un instrument special pe panoul de lucru:
  7. Ca rezultat, ar trebui să aveți tabele în spațiul de lucru și legături între ele:

  8. Făcând dublu clic pe o conexiune se deschide o fereastră în care sunt setați parametri suplimentari:

Un dezvoltator web crește odată cu proiectele pe care le creează și le dezvoltă. Odată cu creșterea proiectelor, complexitatea părții software crește, cantitatea de date procesate de aceasta crește inevitabil, precum și complexitatea schemei de date. Comunicarea cu alți dezvoltatori web arată că bazele de date MySQL sunt foarte populare printre noi și bine-cunoscute PHPMyAdmin. Trecând de la proiecte mici la cele mari, de la cms la cadre, mulți, ca mine, rămân fideli MySQL. Cu toate acestea, pentru proiectarea unei baze de date complexe cu un număr mare de tabele și relații, capacitățile PHPMyAdmin lipsesc foarte mult. Așa că am decis să scriu o recenzie MySQL Workbench este un minunat program de desktop gratuit pentru lucrul cu MySQL.

În prima parte a revizuirii, voi acoperi elementele de bază ale lucrului cu programul, astfel încât să puteți folosi acest articol ca ghid de utilizare pentru începători. A doua parte va fi dedicată folosind Workbenchîn luptă când lucrezi cu un server la distanță. În ea voi da elementele de bază instrucțiuniși recomandări pentru configurarea unei conexiuni la server și sincronizarea cu acesta.

MySQL Workbench- un instrument vizual de proiectare a bazei de date care integrează proiectarea, modelarea, crearea și operarea unei baze de date într-un singur mediu fără întreruperi pentru sistemul de baze de date MySQL.

Trebuie să spun că programul este cu adevărat grozav. Vă permite să aruncați rapid și cu plăcere scheme de date ale proiectului, design entități și relațiiîntre ei, fără durere implementează modificăriîn schemă și la fel de repede și fără durere sincroniza cu un server la distanță. A editor grafic EER-diagrame, care seamănă cu gândaci amuzanți, vă permite să vedeți imaginea de ansamblu a modelului de date și să vă bucurați de ușurința și eleganța acestuia :) După prima încercare, acest instrument devine un asistent indispensabil în arsenalul de luptă al programatorului web.

Descărcați MySQL Workbench

Distribuția MySQL Workbench este disponibilă pe această pagină. Cea mai recentă versiune a programului la momentul scrierii acestui articol este Versiunea 6.1. Înainte de a descărca, trebuie să selectați una dintre următoarele platforme:

După ce ați ales o platformă, vi se solicită să vă înregistrați sau să vă conectați la Oracle. Dacă nu vrei, există un link mai jos. „Nu, mulțumesc, începe doar descărcarea”- apasa pe el ;)

Începutul lucrării

Ecranul de pornire al programului reflectă principalele domenii ale funcționalității sale - proiectarea modelelor de baze de date și administrarea acestora:

În partea de sus a ecranului este o listă de conexiuni către Servere MySQL proiectele dvs. și o listă de modele de date deschise recent în partea de jos a ecranului. Munca începe de obicei cu crearea unei scheme de date sau încărcarea unei structuri existente în MySQL Workbench. Sa trecem la treaba!

Crearea și editarea unui model de date

Pentru a adăuga un model, dați clic pe semnul plus de lângă titlul „Modele” sau selectați „Fișier → Model nou” (Ctrl + N):

Pe acest ecran, introduceți numele bazei de date, selectați codificarea implicită și, dacă este necesar, completați câmpul de comentarii. Puteți începe să creați tabele.

Adăugarea și editarea unui tabel

Lista bazelor de date de proiect și lista tabelelor din baza de date vor fi localizate în filă „Scheme fizice”. Pentru a crea un tabel, faceți dublu clic pe „+Adăugați tabel”:

Se va deschide o interfață convenabilă pentru editarea listei de câmpuri și a proprietăților acestora. Aici putem seta numele câmpului, tipul de date, precum și diverse atribute pentru câmpuri: atribuiți un câmp cheie primară (PK), marcheaza Nu este nul (NN), binar (BIN), unic (UQ) iar altele, pregătite pentru câmp incrementare automată (AI)Și valoare implicită.

Managementul indexului

Puteți adăuga, șterge și edita indecși de tabel în filă „Indici” interfata de gestionare a tabelelor:

Introducem numele indexului, selectăm tipul acestuia, apoi bifăm lista câmpurilor care participă la acest index în ordinea necesară. Ordinea câmpurilor va corespunde cu ordinea în care au fost bifate casetele de selectare. În acest exemplu, am adăugat un index unic câmpului nume de utilizator.

Relațiile dintre tabele

Setarea cheilor externe și legarea tabelelor este posibilă numai pentru tabele InnoDB(acest sistem de stocare este selectat implicit). Pentru a gestiona relațiile din fiecare tabel există o filă „Chei străine”:

Pentru a adăuga un link, deschideți fila „Chei străine” masa pentru copii, introduceți numele cheii străine și selectați masa părinte. Mai departe, în partea de mijloc a filei din coloană Coloană selectați câmpul cheie din tabelul copil și în coloană Coloana la care se face referire- câmpul corespunzător din tabelul părinte (tipurile de câmpuri trebuie să se potrivească). La crearea cheilor externe indecșii corespunzători sunt creați automat în tabelul copil.

În capitolul Opțiuni de cheie străină configurați comportamentul cheii externe atunci când câmpul corespunzător se modifică (ÎN ACTUALIZARE)și îndepărtarea (ON DELETE) intrare părinte:

  • RESTRICȚI- arunca o eroare la modificarea/stergerea inregistrarii parentale
  • CASCADĂ- actualizați cheia străină când se modifică înregistrarea părintelui, ștergeți înregistrarea copilului când părintele este șters
  • SET NULL- setați valoarea cheii străine NUL la schimbarea/ștergerea unui părinte (inacceptabil pentru câmpurile care au marcajul setat NU NUL!)
  • FARA ACTIUNE- nu faceți nimic, dar de fapt efectul este similar cu RESTRICT

În exemplul de mai sus, am adăugat la tabelul copil Profil utilizator cheie străină pentru a conecta la tabelul părinte utilizator. La editarea unui câmp ID-ul de utilizatorși eliminarea pozițiilor de pe masă utilizator schimbări similare vor automat se întâmplă cu înregistrările aferente din tabel Profil utilizator.

Când creați un proiect, este adesea necesar să adăugați date de pornire în baza de date. Acestea pot fi categorii rădăcină, utilizatori administratori și așa mai departe. Există o filă pentru aceasta în gestionarea tabelelor MySQL Workbench „Inserții”:

După cum puteți vedea din exemplu, dacă trebuie să aplicați o funcție MySQL datelor înainte de a scrie în baza de date, acest lucru se face folosind sintaxa \func functionName("date"), De exemplu, \func md5(„parolă”).

Crearea unei diagrame EER (diagrama entitate-relație)

Pentru a reprezenta schema de date, entitățile și relațiile lor într-o formă grafică, MySQL Workbench are un editor de diagrame EER. Pentru a crea o diagramă în partea de sus a ecranului de gestionare a bazei de date, faceți dublu clic pe pictogramă „+AddDiagram”:

În interfața sa, puteți crea și edita tabele, adăugați legături între ele tipuri variate. Pentru a adăuga un tabel care există deja în diagramă la diagramă, pur și simplu trageți-l din panou arbore de catalog.

Pentru a exporta o schemă de date în fisier grafic Selectați „Fișier → Export”și apoi una dintre opțiuni (PNG, SVG, PDF, fișier PostScript).

Importați schema de date existentă (din dump SQL)

Dacă avem deja o schemă de date, aceasta poate fi importată cu ușurință în MySQL Workbench pentru lucrări ulterioare. Pentru a importa modelul din fișierul SQL, selectați „Fișier → Import → Reverse Engineer MySQL Create Script...”, apoi selectați fișierul SQL dorit și faceți clic „Execută>”

MySQL Workbench oferă, de asemenea, importarea și sincronizarea modelului de date direct cu un server la distanță. Pentru aceasta trebuie să creați conexiune de acces la distanță la MySQL, despre care voi vorbi în continuarea acestei recenzii.

Proiectul demo din articol este disponibil pentru descărcare la acest link. Vă doresc succes și scheme frumoase de gândaci!


Oricare ar fi dezvoltatorul bazei de date: un începător (în special) sau un profesionist cu barbă, îi este întotdeauna mai ușor și mai vizual să-și imagineze la ce lucrează, ce dezvoltă. Personal, ma pun in prima categorie si pentru a intelege materialul as vrea sa vad vizual ce proiectez/dezvolt.

Până în prezent, există diverse programeși instrumente care fac față unei sarcini similare: unele mai bune, altele mai rele. Dar astăzi aș dori să vorbesc puțin despre MySQL WorkBench - un instrument vizual de proiectare a bazelor de date care integrează proiectarea, modelarea, crearea și operarea bazei de date într-un singur mediu perfect pentru sistemul de baze de date MySQL, care este succesorul DBDesigner 4 de la FabForce.( c) Wikipedia. MySQL WorkBench este distribuit în două variante: Ediția OSS-Community(distribuit sub LGPL) și SE - Editie Standard- versiune pentru care dezvoltatorii cer bani. Dar cred că pentru mulți va fi suficient și OSS versiuni (mai ales pentru începători și cei care nu doresc sau consideră nepotrivit să plătească pentru software, precum și adepții programelor open source), Mai ales că versiunea OSS are o funcționalitate bogată.

Deci, după cum sugerează și numele, acest instrument este proiectat să funcționeze cu MySQL baze de date și acceptă un număr mare de tipuri diferite de modele MySQL (vezi captura de ecran de mai jos) și va deveni un instrument indispensabil pentru o mai bună înțelegere și studiere a bazelor de date relaționale (în special MySQL) pentru începători:

Astfel, orice dezvoltator MySQL va găsi ceea ce are nevoie. in afara de asta MySQL Workbench vă permite să conectați o bază de date existentă, efectuați interogări SQLși scripturi SQL, editați și gestionați obiectele bazei de date.Dar pentru cei care abia încep să stăpânească bazele de date relaționale, cel mai interesant, după părerea mea, este capacitatea de a crea Modele EER Bază de date. Cu alte cuvinte, aceasta este o reprezentare vizuală a tuturor relațiilor dintre tabelele din baza de date, care, dacă este necesar, poate fi prezentată cu ușurință ca un script SQL, editată sau creată o nouă vizualizare. Dar mai multe despre asta mai târziu. Mai întâi, să vedem cum arată ochiul principal. MySQL Workbench(5.2.33 rev 7508):
Pentru a crea un model EER al bazei de date, selectați „ Creați un nou model EER„. Ca urmare, vom avea o filă în care putem adăuga/crea diagrame, tabele, vederi, proceduri; setați diverse drepturi de acces pentru utilizatori; creați un model folosind scripturi SQL. Această filă arată astfel:
Nu vom lua în considerare procesul de creare a tabelelor și a bazelor de date, deoarece totul este simplu aici. Voi oferi doar versiunea finală a modelului finit (vezi capturile de ecran de mai jos). Mai mult, dacă treci cu mouse-ul peste linia de legătură (linia întreruptă) a tabelelor, atunci „linkul”, cheia primară și cheia externă vor fi evidențiate într-o culoare diferită. Dacă treceți cu mouse-ul peste un tabel, tabelul în sine va fi evidențiat, precum și toate linkurile aparținând tabelului selectat.

Pentru a edita tabelul, faceți clic dreapta pe tabelul de care avem nevoie și selectați „ Editați tabelul...". Ca urmare, în partea de jos a ferestrei va apărea o zonă suplimentară de editare a tabelului, în care puteți schimba numele tabelului, coloanele, cheile externe și multe altele. Pentru a exporta un tabel într-un SQL script, faceți clic dreapta pe tabelul de care avem nevoie și alegeți „ Copiați SQL în Clipboard", apoi inserați din clipboard în locația / programul / fișierul dorit.

Și acum direct despre instalare MySQL Workbench. Desigur, mai întâi trebuie să descărcați MySQL WorkBench. Pentru a face acest lucru, accesați pagina de descărcare MySQL WorkBench, în partea de jos a paginii din lista derulantă, selectați-l pe cel de care avem nevoie sistem de operare. Drept urmare, ni se vor oferi mai multe opțiuni de descărcare:

  • pentru OS Windows puteți descărca programul de instalare MSI, arhiva zip a programului, precum și arhiva cu codul sursă. Pentru acest sistem de operare MySQL Workbench poate fi descărcat numai pentru Windows pe 32 de biți;
  • pentru utilizatori ubuntu alegerea este puțin mai bogată decât pentru utilizatorii de Windows - ni se oferă descărcarea MySQL Workbench pentru versiunile Ubuntu 10.04, 10.10 (la momentul scrierii) și versiunile pe 32 sau 64 de biți ale pachetelor deb;
  • Pentru bazat pe rpm distribuții, și în acest caz este Fedora, Suse Linux și RedHat/Oracle Linux, MySQL Workbench sunt prezentate ansambluri pentru OS pe 32 și 64 de biți;
  • Nici utilizatorii de Macintosh nu au fost uitați - pentru ei există un ansamblu doar pentru un sistem de operare pe 32 de biți;
  • și bineînțeles că poți descărca sursă programe;

Deci, selectați opțiunea de descărcare dorită și faceți clic Descarca. Apoi, vom fi rugați să ne prezentăm: pentru utilizatorii înregistrați - să introduceți un login și o parolă, pentru începători - să vă înregistrăm. Dacă nu doriți să vă prezentați, atunci selectați opțiunea de mai jos " "Nu, mulțumesc, du-mă doar la descărcări!" și alegeți cea mai apropiată oglindă pentru descărcare. În plus, înainte de instalare, asigurați-vă că ați instalat mysqlclient,.altfel MySQL WorkBench va refuza instalarea.

Lucruri de reținut și de știut pentru utilizatorii Linux:

Desigur, ca și în cazul Windows, nu uitați de clientul MySQL. Pentru utilizatorii Ubuntu - trebuie să descărcați versiunea programului, în conformitate cu versiunea Ubuntu dvs. În timpul instalării, uitați-vă cu atenție la mesajele de eroare, dacă există, care cel mai probabil vă vor spune ce pachete lipsesc din sistemul de operare. Citiți mai jos despre asta.

Cum stau lucrurile cu distribuțiile rmp-base, nu știu, din păcate, pentru că. Nu am folosit niciodată astfel de distribuții, dar cred că este cam la fel ca în cazul debian.

Poate ați observat că nu există asamblare MySQL Workbench pentru OS Debian GNU/Linux. Dar, după cum a arătat practica, este în regulă. Pentru instalare MySQL Workbenchîn Debian 6.0 (Squeeze) vom folosi deb- pachet pt Ubuntu 10.04(nu uitați de bitness-ul sistemului dvs. de operare: x86 sau x64). Permiteți-mi să vă reamintesc că pentru a instala pachetul deb descărcat, puteți utiliza utilitarul gdebi sau introduceți următoarea comandă în consolă ca root:

# dpkg -i mysql-workbench-gpl-5.2.33b-1ubu1004-amd64.deb De exemplu, am primit următoarea eroare la instalarea MySQL WorkBench:
dpkg: dependențele de pachete împiedică personalizarea pachetului mysql-workbench-gpl:
mysql-workbench-gpl depinde de libcairomm-1.0-1 (>= 1.6.4), totuși:
Pachetul libcairomm-1.0-1 nu este instalat.
mysql-workbench-gpl depinde de libctemplate0, totuși:
Pachetul libctemplate0 nu este instalat.
mysql-workbench-gpl depinde de libgtkmm-2.4-1c2a (>= 1:2.20.0), totuși:
Pachetul libgtkmm-2.4-1c2a nu este instalat.
mysql-workbench-gpl depinde de libpangomm-1.4-1 (>= 2.26.0), totuși:
Pachetul libpangomm-1.4-1 nu este instalat.
mysql-workbench-gpl depinde de libzip1 (>= 0.9), totuși:
Pachetul libzip1 nu este instalat.
mysql-workbench-gpl depinde de python-paramiko, totuși:
Pachetul python-paramiko nu este instalat.
mysql-workbench-gpl depinde de python-pysqlite2, totuși:
Pachetul python-pysqlite2 nu este instalat.
dpkg: nu a reușit să proceseze opțiunea mysql-workbench-gpl (--install):
probleme de dependență -- lăsați neconfigurat
Au apărut erori la procesarea următoarelor pachete:
mysql-workbench-gpl

Pentru a remedia această eroare, a trebuit doar să introduc o comandă în consolă pentru a instala câteva pachete:

# aptitude install libzip1 libcairomm-1.0-dev libctemplate0 libgtkmm-2.4-1c2a

Pentru a instala pachetele de mai sus, veți avea nevoie de pachete suplimentare pe care managerul apt Vă rugăm să oferiți descărcare. După instalarea tuturor pachetelor necesare, MySQL WorkBench se instalează fără probleme.

Totul: MySQL WorkBench este instalat cu succes și gata să învețe cum să lucreze.

upd:
Dacă nu mă înșel, deoarece Ubuntu 12.04 MySQL WorkBench poate fi găsit în depozitele distribuției. Prin urmare, procesul de instalare este mult mai ușor și fără cârje.
Pentru a instala MySQL WorkBench, trebuie doar să introduceți următoarea comandă în terminal:
sudo aptitude instalează mysql-workbench

Atenție, deoarece WorkBench a fost actualizat, am scris acest articol, care constă în teoria și practica construirii unei baze de date din WorkBench.

În capitolul „Opțiuni cheie străină” configurați comportamentul cheii externe atunci când câmpul corespunzător se modifică (ÎN ACTUALIZARE)și îndepărtarea (ON DELETE) intrare părinte:

  • RESTRICȚI– aruncați o eroare la modificarea/ștergerea înregistrării părintelui
  • CASCADĂ– actualizați cheia străină când se modifică înregistrarea părintelui, ștergeți înregistrarea copilului când părintele este șters
  • SET NULL- setați valoarea cheii străine NUL la schimbarea/ștergerea unui părinte (inacceptabil pentru câmpurile care au marcajul setat NU NUL!)
  • FARA ACTIUNE– nu faceți nimic, dar de fapt efectul este similar cu RESTRICT

Salvare de la model la baza de date reală/fizică

„Fișier → Export → Forward Engineer MySQL Create Script…”

Bifăm casetele de selectare necesare, aveam nevoie de o singură generare de instrucțiuni INSERT pentru tabele. Dacă trebuie să salvați scriptul într-un fișier, introduceți directorul în câmpul de mai sus.

În fereastra următoare, puteți configura ce obiecte vom exporta. Dacă te uiți cu atenție, avem doar 2 tabele create.

Executarea unui script - crearea unei baze de date și a tabelelor

Faceți clic pe „casă” din colțul din stânga sus al programului...

Apoi faceți dublu clic pe MyConnection....

Avem o filă ca asta...

Aceasta este conexiunea noastră la server, aici vom executa scriptul. Vă rugăm să rețineți, în stânga, bazele de date care au fost create în programul WorkBench ....

Acum, trebuie să dați comanda pentru a executa acest script, pentru aceasta, faceți clic în meniul de sus, Query Execute (Toate sau Selecție)

Deci, dacă totul este bine, atunci în fereastra de ieșire inferioară, veți vedea toate „marcajele verzi”. Și când apăsați pe Reîmprospătare meniul contextualîn lista de baze de date, veți vedea baza de date nou creată mydatabase1.

În cele din urmă, să construim o diagramă ER. ER înseamnă Entity Relation - un model de succes Entity-Relationship, care, în special, a fost dezvoltat de Peter Chen. Deci, reveniți la fila model și faceți clic pe Adăugare diagramă...

Am creat o relație unu-la-mulți. Mai mulți studenți pot studia la aceeași facultate. Rețineți că linkul de lângă tabelul Studenți este împărțit - aceasta înseamnă „la mulți”.

Așadar, am creat un model, din acesta, prin execuția unui script, o adevărată bază de date cu tabele. Și a creat, de asemenea, o diagramă ER.




Top