Kako sestaviti diagram v delovni mizi. Od modela do fizične baze podatkov v MySQL WorkBench. Ustvarjanje in urejanje podatkovnega modela

Vsi spletni skrbniki se morajo po razvoju svojih virov poglobiti v programiranje in tehnologije podatkovnih baz.


Postopoma se začnete poglabljati v vsako tankost, vendar gradiva za usposabljanje ni vedno lahko najti. Poleg tega vsi ne vedo za obstoj uporabni programi.

Kako ustvariti bazo podatkov MySQL? Tabele lahko ustvarite ročno in med njimi vzpostavite razmerja, vendar to ni tako priročno.

Ustvarjen posebej za to brezplačen program delovna miza. Z njim lahko vizualno ustvarite baze podatkov MySQL. Njihovo modeliranje s pomočjo programske opreme je lažje, bolj priročno in večkrat hitreje.

Workbench vam bo pomagal ustvariti bazo podatkov MySQL

Z enim preprostim orodjem vam ni več treba opisovati strukture. Program samodejno ustvari kodo. Prenesite pripomoček s tega mesta, primeren je za kateri koli operacijski sistem.

Po normalni namestitvi programa, Če želite ustvariti bazo podatkov MySQL, sledite tem korakom:

  1. Najprej morate odpreti nov model, to storite z menijem ali kombinacijo tipk Ctrl+N:

  2. Prvi korak pri ustvarjanju podatkovne baze je dodajanje tabele, zato izberemo ustrezno funkcijo:

  3. Nato je tabela izpolnjena. Določite ime in atribute, ne pozabite, da je eden od atributov označen glavni ključ. Vnaprej razmislite, kako bodo mize med seboj povezane:

  4. Po izpolnitvi zahtevanih podatkov izdelajte diagram za določitev odnosov med predmeti:
  5. V delovnem prostoru boste videli tabelo. Za udobje lahko razširite strukture tabel:

  6. Zdaj morate nastaviti povezave med elementi, to naredite s posebnim orodjem na delovni plošči:
  7. Posledično bi morali imeti tabele v delovnem prostoru in povezave med njimi:

  8. Z dvojnim klikom na povezavo se odpre okno, v katerem nastavimo dodatne parametre:

Spletni razvijalec raste s projekti, ki jih ustvarja in razvija. Z rastjo projektov se povečuje kompleksnost programskega dela, neizogibno se povečuje količina podatkov, ki jih le-ta obdeluje, pa tudi kompleksnost podatkovne sheme. Komunikacija z drugimi spletnimi razvijalci kaže, da so baze podatkov MySQL pri nas zelo priljubljene in znane PHPMyAdmin. Pri prehodu od majhnih projektov k velikim, od cms do ogrodij mnogi, tako kot jaz, ostajajo zvesti MySQL. Vendar za načrtovanje kompleksne baze podatkov z velikim številom tabel in odnosov zmogljivosti PHPMyAdmin močno primanjkuje. Zato sem se odločil napisati oceno MySQL Workbench je čudovit brezplačen namizni program za delo z MySQL.

V prvem delu pregleda bom obravnaval same osnove dela s programom, tako da lahko ta članek uporabite kot uporabniški priročnik za začetnike. Drugi del bo posvečen uporabo Workbench v boju pri delu z oddaljenim strežnikom. V njej bom podal osnovno navodila in priporočila za nastavitev povezave s strežnikom in sinhronizacijo z njim.

MySQL Workbench- vizualno orodje za načrtovanje baze podatkov, ki združuje načrtovanje, modeliranje, ustvarjanje in delovanje baze podatkov v eno samo brezhibno okolje za sistem baze podatkov MySQL.

Moram reči, da je program res super. Omogoča hitro in z užitkom metanje podatkovne sheme projekta, oblikovanje entitete in razmerja med njima, neboleče izvajati spremembe v shemo ter prav tako hitro in neboleče sinhronizirati z oddaljenim strežnikom. A grafični urejevalnik EER-diagrami, ki spominja na smešne ščurke, vam omogoča, da vidite celotno sliko podatkovnega modela in uživate v njegovi lahkotnosti in eleganci :) Po prvem poskusu postane to orodje nepogrešljiv pomočnik v bojnem arzenalu spletnega programerja.

Prenesite MySQL Workbench

Distribucija MySQL Workbench je na voljo na tej strani. Najnovejša različica programa v času tega pisanja je Različica 6.1. Pred prenosom morate izbrati eno od naslednjih platform:

Po izbiri platforme boste pozvani, da se registrirate ali prijavite v Oracle. Če ne želite, je spodnja povezava. "Ne, hvala, samo začni moj prenos"- klikni nanj ;)

Začetek dela

Začetni zaslon programa odraža glavna področja njegove funkcionalnosti - načrtovanje modelov baz podatkov in njihovo upravljanje:

Na vrhu zaslona je seznam povezav do strežniki MySQL vaše projekte in seznam nedavno odprtih podatkovnih modelov na dnu zaslona. Delo se običajno začne z ustvarjanje podatkovne sheme oz nalaganje obstoječe strukture v MySQL Workbench. Gremo na delo!

Ustvarjanje in urejanje podatkovnega modela

Če želite dodati model, kliknite znak plus poleg naslova »Modeli« ali izberite "Datoteka → Nov model" (Ctrl + N):

Na tem zaslonu vnesite ime baze podatkov, izberite privzeto kodiranje in po potrebi izpolnite polje za komentar. Lahko začnete ustvarjati tabele.

Dodajanje in urejanje tabele

V zavihku se nahaja seznam projektnih baz podatkov in seznam tabel znotraj baze "Fizične sheme".Če želite ustvariti tabelo, dvokliknite na "+Dodaj tabelo":

Odpre se priročen vmesnik za urejanje seznama polj in njihovih lastnosti. Tukaj lahko nastavimo ime polja, vrsto podatkov, kot tudi nastavimo različne atribute za polja: dodelimo polje primarni ključ (PK), označite Ni nič (NN), dvojiško (BIN), edinstven (UQ) in drugi, nastavljeni za teren samodejno povečevanje (AI) in privzeta vrednost.

Upravljanje indeksa

V zavihku lahko dodajate, brišete in urejate indekse tabel "Indeksi" vmesnik za upravljanje tabele:

Vnesemo ime indeksa, izberemo njegovo vrsto, nato v zahtevanem vrstnem redu označimo seznam polj, ki sodelujejo v tem indeksu. Vrstni red polj bo ustrezal vrstnemu redu, v katerem so bila označena potrditvena polja. V tem primeru sem polju dodal edinstven indeks uporabniško ime.

Odnosi med tabelami

Nastavitev tujih ključev in povezovanje tabel je možno samo za tabele InnoDB(ta sistem shranjevanja je izbran privzeto). Za upravljanje odnosov v vsaki tabeli je zavihek "Tuji ključi":

Če želite dodati povezavo, odprite zavihek "Tuji ključi" otroška miza, vnesite ime tujega ključa in izberite nadrejena tabela. Nadalje v srednjem delu zavihka v stolpcu Stolpec izberite ključno polje iz podrejene tabele in v stolpcu Referenčni stolpec- ustrezno polje iz nadrejene tabele (vrste polj se morajo ujemati). Pri ustvarjanju tujih ključev ustrezni indeksi se samodejno ustvarijo v podrejeni tabeli.

V poglavju Možnosti tujega ključa konfigurirajte vedenje tujega ključa, ko se ustrezno polje spremeni (PO POSODOBITVI) in odstranitev (OB IZBRISU) nadrejeni vnos:

  • OMEJITEV- sproži napako pri spreminjanju/brisanju nadrejenega zapisa
  • KASKADA- posodobi tuji ključ, ko se nadrejeni zapis spremeni, izbriše podrejeni zapis, ko je nadrejeni izbrisan
  • NASTAVI NIČ- nastavite vrednost tujega ključa NIČ pri menjavi/brisanju starša (nesprejemljivo za polja, ki imajo nastavljeno zastavico NI NULL!)
  • BREZ AKCIJE- storiti ničesar, dejansko pa je učinek podoben OMEJITVI

V zgornjem primeru sem dodal v podrejeno tabelo Uporabniški profil tuji ključ za povezavo z nadrejeno tabelo uporabnik. Pri urejanju polja Uporabniško ime in odstranjevanje pozicij iz tabele uporabnik podobne spremembe bodo samodejno zgodijo s povezanimi zapisi iz tabele Uporabniški profil.

Pri ustvarjanju projekta je pogosto treba v bazo podatkov dodati začetne podatke. To so lahko korenske kategorije, skrbniški uporabniki itd. Za to obstaja zavihek v upravljanju tabel MySQL Workbench "Vstavki":

Kot lahko vidite iz primera, če morate uporabiti neko funkcijo MySQL za podatke pred pisanjem v bazo podatkov, to storite s sintakso \func functionName("podatki"), na primer \func md5("geslo").

Ustvarjanje diagrama EER (diagram entiteta-odnos)

Za predstavitev podatkovne sheme, entitet in njihovih odnosov v grafični obliki ima MySQL Workbench urejevalnik diagramov EER. Če želite ustvariti diagram na vrhu zaslona za upravljanje baze podatkov, dvokliknite ikono "+Dodaj diagram":

V njegovem vmesniku lahko ustvarjate in urejate tabele, dodajate povezave med njimi različne vrste. Če želite v diagram dodati tabelo, ki že obstaja v diagramu, jo preprosto povlecite s plošče kataloško drevo.

Če želite izvoziti podatkovno shemo v grafično datoteko izberite "Datoteka → Izvozi" in nato eno od možnosti (PNG, SVG, PDF, datoteka PostScript).

Uvoz obstoječe podatkovne sheme (iz izpisa SQL)

Če že imamo podatkovno shemo, jo lahko enostavno uvozimo v MySQL Workbench za nadaljnje delo. Če želite uvoziti model iz datoteke SQL, izberite "Datoteka → Uvoz → Skript za ustvarjanje obratnega inženiringa MySQL ...", nato izberite želeno datoteko SQL in kliknite "Izvedi >"

MySQL Workbench omogoča tudi uvoz in sinhronizacijo podatkovnega modela neposredno z oddaljenim strežnikom. Za to morate ustvariti povezava z oddaljenim dostopom do MySQL, o katerem bom govoril v nadaljevanju tega pregleda.

Demo projekt iz članka je na voljo za prenos na tej povezavi. Želim vam uspeh in lepe sheme ščurkov!


Ne glede na to, kateri razvijalec baze podatkov je: začetnik (zlasti) ali bradati profesionalec, mu je vedno lažje in bolj vizualno predstavljati, na čem dela, kaj razvija. Osebno se uvrščam v prvo kategorijo in da bi razumel snov, bi rad vizualno videl, kaj oblikujem/razvijam.

Do danes obstajajo različne programe in orodja, ki so kos podobni nalogi: nekatera bolje, druga slabše. Danes pa bi rad nekaj spregovoril o MySQL WorkBench - vizualnem orodju za načrtovanje baz podatkov, ki združuje načrtovanje, modeliranje, ustvarjanje in delovanje baze podatkov v eno samo brezhibno okolje za sistem baz podatkov MySQL, ki je naslednik DBDesigner 4 iz FabForce.( c) Wikipedia. MySQL WorkBench je razdeljen v dveh različicah: Izdaja skupnosti OSS(razdeljeno pod LGPL) in SE - Standardna izdaja- različica, za katero razvijalci zahtevajo denar. Ampak mislim, da bo za mnoge dovolj in OSS različice (zlasti za začetnike in tiste, ki ne želijo ali se jim zdi neprimerno plačevati za programsko opremo, pa tudi privržence odprtokodnih programov), Še posebej, ker ima različica OSS bogato funkcionalnost.

Torej, kot že ime pove, je to orodje zasnovano za delo MySQL baze podatkov, in podpira veliko število različnih vrst modelov MySQL (glej sliko zaslona spodaj) in bo postalo nepogrešljivo orodje za boljše razumevanje in študij relacijskih baz podatkov (zlasti MySQL) za začetnike:

Tako bo vsak razvijalec MySQL našel tisto, kar potrebuje. Poleg tega MySQL Workbench omogoča povezovanje obstoječe baze podatkov, izvedba SQL poizvedbe in skripte SQL, urejanje in upravljanje objektov baze podatkov. Toda za tiste, ki šele začenjajo obvladovati relacijske baze podatkov, je po mojem mnenju najbolj zanimiva možnost ustvarjanja Modeli EER Baza podatkov. Z drugimi besedami, to je vizualna predstavitev vseh relacij med tabelami v vaši podatkovni bazi, ki jo lahko po potrebi preprosto predstavite kot SQL skript, uredite ali ustvarite nov pogled. A več o tem kasneje. Najprej poglejmo, kako izgleda glavno oko. MySQL Workbench(5.2.33 rev. 7508):
Če želite ustvariti EER-model vaše baze podatkov, izberite " Ustvari nov model EER". Posledično bomo imeli zavihek, v katerem lahko dodamo / ustvarimo diagrame, tabele, poglede, postopke; nastavimo različne pravice dostopa za uporabnike; ustvarimo model z uporabo skriptov SQL. Ta zavihek izgleda takole:
Ne bomo upoštevali postopka ustvarjanja tabel in baz podatkov, ker tukaj je vse preprosto. Podal bom samo končno različico končnega modela (glejte spodnje posnetke zaslona). Poleg tega, če miškin kazalec premaknete nad črto povezave (črtkano črto) tabel, bodo »povezava«, primarni ključ in tuji ključ označeni z drugo barvo. Če miškin kazalec premaknete nad tabelo, bo tabela sama označena in vse povezave, ki pripadajo izbrani tabeli.

Če želite urediti tabelo, z desno miškino tipko kliknite tabelo, ki jo potrebujemo, in izberite " Uredi tabelo...". Posledično se bo na dnu okna pojavilo dodatno območje za urejanje tabele, v katerem lahko spremenite ime tabele, stolpce, tuje ključe in še veliko več. Če želite izvoziti tabelo v SQL skript, z desno miškino tipko kliknite tabelo, ki jo potrebujemo, in izberite " Kopiraj SQL v odložišče", in nato prilepite iz odložišča na želeno mesto / program / datoteko.

In zdaj neposredno o namestitev MySQL Workbench. Seveda morate najprej prenesti MySQL WorkBench. Če želite to narediti, pojdite na stran za prenos MySQL WorkBench, na dnu strani na spustnem seznamu izberite tisto, ki jo potrebujemo operacijski sistem. Posledično nam bo na voljo več možnosti prenosa:

  • za OS Windows lahko prenesete namestitveni program MSI, zip arhiv programa, kot tudi arhiv z izvorno kodo. Za ta OS MySQL Workbench mogoče prenesti samo za 32-bitni Windows;
  • za uporabnike ubuntu izbira je nekoliko bogatejša kot pri uporabnikih sistema Windows - ponuja se nam prenos MySQL Workbench za Ubuntu različice 10.04, 10.10 (v času pisanja) in 32- ali 64-bitne različice paketov deb;
  • Za vrtljajev na minuto distribucij in v tem primeru so to Fedora, Suse Linux in RedHat/Oracle Linux, MySQL Workbench predstavljeni so sklopi za 32-bitni in 64-bitni OS;
  • Uporabniki Macintosha tudi niso bili pozabljeni - zanje obstaja samo montaža za 32-bitni OS;
  • in seveda lahko prenesete vir programi;

Torej, izberite želeno možnost prenosa in kliknite Prenesi. Nato vas bomo vljudno prosili, da se predstavimo: za registrirane uporabnike - vnesite prijavo in geslo, za začetnike - za registracijo. Če se ne želite predstaviti, izberite spodnjo možnost " "Ne, hvala, samo popelji me na prenose!" in izberite najbližje ogledalo za prenos. Poleg tega se pred namestitvijo prepričajte, da ste namestili mysqlclient,.sicer MySQL WorkBench zavrne namestitev.

Stvari, ki si jih morajo zapomniti in vedeti uporabniki Linuxa:

Seveda, kot v primeru sistema Windows, ne pozabite na odjemalca MySQL. Za uporabnike Ubuntuja - morate prenesti različico programa, v skladu z različico vašega Ubuntuja.Med namestitvijo natančno preglejte sporočila o napakah, če obstajajo, ki vam bodo najverjetneje povedala, kateri paketi manjkajo v vašem OS. Preberite o tem spodaj.

Kako je z distribucijami rmp-base, žal ne vem, ker. Nikoli nisem uporabljal takšnih distribucij, vendar mislim, da je približno enako kot pri debian baziranih.

Morda ste opazili, da ni montaže MySQL Workbench za OS Debian GNU/Linux. Ampak, kot je praksa pokazala, je v redu. Za namestitev MySQL Workbench v Debianu 6.0 (Squeeze) bomo uporabili deb- paket za Ubuntu 10.04(ne pozabite na bitnost vašega OS: x86 ali x64). Naj vas spomnim, da lahko za namestitev prenesenega paketa deb uporabite pripomoček kjerbi ali vnesite naslednji ukaz v konzolo kot root:

# dpkg -i mysql-workbench-gpl-5.2.33b-1ubu1004-amd64.deb Na primer, med namestitvijo MySQL WorkBench sem dobil naslednjo napako:
dpkg: odvisnosti paketov preprečujejo prilagajanje paketa mysql-workbench-gpl:
mysql-workbench-gpl je odvisen od libcairomm-1.0-1 (>= 1.6.4), vendar:
Paket libcairomm-1.0-1 ni nameščen.
mysql-workbench-gpl je odvisen od libctemplate0, vendar:
Paket libctemplate0 ni nameščen.
mysql-workbench-gpl je odvisen od libgtkmm-2.4-1c2a (>= 1:2.20.0), vendar:
Paket libgtkmm-2.4-1c2a ni nameščen.
mysql-workbench-gpl je odvisen od libpangomm-1.4-1 (>= 2.26.0), vendar:
Paket libpangomm-1.4-1 ni nameščen.
mysql-workbench-gpl je odvisen od libzip1 (>= 0,9), vendar:
Paket libzip1 ni nameščen.
mysql-workbench-gpl pa je odvisen od python-paramiko:
Paket python-paramiko ni nameščen.
mysql-workbench-gpl pa je odvisen od python-pysqlite2:
Paket python-pysqlite2 ni nameščen.
dpkg: ni uspelo obdelati možnosti mysql-workbench-gpl (--install):
težave z odvisnostjo -- pustite nekonfigurirano
Med obdelavo naslednjih paketov je prišlo do napak:
mysql-workbench-gpl

Da bi popravil to napako, sem moral samo vnesti ukaz v konzolo za namestitev nekaterih paketov:

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

Za namestitev zgornjih paketov boste potrebovali dodatne pakete, ki jih upravitelj apt vljudno ponudite prenos. Po namestitvi vseh potrebnih paketov se MySQL WorkBench namesti brez težav.

Vse: MySQL WorkBench je uspešno nameščen in pripravljen za učenje dela.

posodobitev:
Če se ne motim, je Ubuntu 12.04 MySQL WorkBench mogoče najti v repozitorijih distribucije. Zato je postopek namestitve veliko lažji in brez bergel.
Če želite namestiti MySQL WorkBench, samo vnesite naslednji ukaz v terminal:
sudo aptitude namestite mysql-workbench

Pozor, ker je bil WorkBench posodobljen, sem napisal ta članek, ki vsebuje teorijo in prakso gradnje baze podatkov iz WorkBench.

V poglavju »Možnosti tujega ključa« konfigurirajte vedenje tujega ključa, ko se ustrezno polje spremeni (PO POSODOBITVI) in odstranitev (OB IZBRISU) nadrejeni vnos:

  • OMEJITEV– sproži napako pri spreminjanju/brisanju nadrejenega zapisa
  • KASKADA– posodobi tuji ključ, ko se nadrejeni zapis spremeni, izbriše podrejeni zapis, ko je nadrejeni izbrisan
  • NASTAVI NIČ- nastavite vrednost tujega ključa NIČ pri menjavi/brisanju starša (nesprejemljivo za polja, ki imajo nastavljeno zastavico NI NULL!)
  • BREZ AKCIJE– storiti ničesar, dejansko pa je učinek podoben OMEJITVI

Shranjevanje iz modela v realno/fizično bazo podatkov

»Datoteka → Izvozi → Forward Engineer MySQL Create Script ...«

Označimo potrebna potrditvena polja, potreboval sem samo eno Generate INSERT Statements for Tables. Če morate skript shraniti v datoteko, vnesite imenik v zgornje polje.

V naslednjem oknu lahko konfigurirate, katere predmete bomo izvozili. Če natančno pogledate, imamo ustvarjeni samo 2 tabeli.

Izvajanje skripte - izdelava baze podatkov in tabel

Kliknite na "hišo" v zgornjem levem kotu programa ...

Nato dvokliknite MyConnection….

Imamo tak zavihek...

To je naša povezava s strežnikom, tukaj bomo izvedli naš skript. Upoštevajte, na levi strani podatkovne baze, ki so bile ustvarjene v programu WorkBench ....

Zdaj morate podati ukaz za izvedbo tega skripta, za to v zgornjem meniju kliknite Izvedi poizvedbo (Vse ali Izbira)

Torej, če je vse v redu, boste v spodnjem izhodnem oknu videli vse "zelene kljukice". In ko pritisnete Osveži noter kontekstni meni na seznamu baz podatkov boste videli novo ustvarjeno bazo mydatabase1.

Končno sestavimo ER diagram. ER pomeni Entity Relation – uspešen model Entity-Relationship, ki ga je razvil predvsem Peter Chen. Torej, nazaj na zavihek modela in kliknite Dodaj diagram ...

Ustvarili smo odnos ena proti mnogo. Na isti fakulteti lahko študira več študentov. Upoštevajte, da je povezava zraven tabele Študenti razdeljena – to pomeni "na veliko".

Ustvarili smo torej model, iz njega, z izvajanjem skripte, pravo bazo podatkov s tabelami. In tudi ustvaril ER diagram.




Vrh