Kā izveidot ķēdi darbagaldā. No modeļa līdz fiziskai datubāzei pakalpojumā MySQL WorkBench. Datu modeļa izveide un rediģēšana

Visiem tīmekļa pārziņiem pēc resursu izstrādes ir jāiedziļinās programmēšanas un datu bāzes izveides tehnoloģijās.


Pamazām jūs sākat iedziļināties katrā detaļā, taču mācību materiālu ne vienmēr ir viegli atrast. Turklāt ne visi zina par eksistenci noderīgas programmas.

Kā izveidot MySQL datu bāzi? Jūs varat izveidot tabulas manuāli un izveidot attiecības starp tām, taču tas nav tik ērti.

Tas tika izveidots īpaši šim nolūkam bezmaksas programma Darba galds. Ar tās palīdzību jūs varat vizuāli izveidot MySQL datu bāzes. To modelēšana, izmantojot programmatūru, ir vienkāršāka, ērtāka un daudz ātrāka.

Workbench palīdzēs jums izveidot MySQL datu bāzi

Izmantojot vienu vienkāršu rīku, jums vairs nav jāapraksta struktūra. Programma automātiski ģenerē kodu. Lejupielādējiet utilītu no šīs vietnes, tā ir piemērota jebkurai operētājsistēmai.

Pēc parastās programmas instalēšanas lai izveidotu MySQL datu bāzi, jums jāveic šādas darbības:

  1. Vispirms jums ir jāatver jauns modelis, tas tiek darīts, izmantojot izvēlni vai taustiņu kombināciju Ctrl+N:

  2. Pirmais solis, veidojot datubāzi, ir tabulas pievienošana, tāpēc mēs izvēlamies atbilstošo funkciju:

  3. Tālāk tiek aizpildīta tabula. Norādiet nosaukumu un atribūtus, paturiet prātā, ka viens no atribūtiem ir galvenā atslēga, kas atzīmēta ar izvēles rūtiņu. Iepriekš padomājiet par to, kā tabulas tiks savienotas viena ar otru:

  4. Pēc nepieciešamo datu aizpildīšanas izveidojiet diagrammu, lai noteiktu attiecības starp priekšmetiem:
  5. Darba zonā redzēsit tabulu. Ērtības labad varat paplašināt tabulas struktūras:

  6. Tagad jums ir jāiestata savienojumi starp elementiem; tas tiek darīts ar īpašu rīku darba panelī:
  7. Tā rezultātā darbvietā vajadzētu būt tabulām un starp tām izveidotām attiecībām:

  8. Veicot dubultklikšķi uz savienojuma, tiek atvērts logs, kurā tiek iestatīti papildu parametri:

Tīmekļa izstrādātājs aug līdz ar projektiem, ko viņš rada un attīsta. Projektiem augot, pieaug programmatūras sarežģītība, neizbēgami palielinās tās apstrādāto datu apjoms, kā arī datu shēmas sarežģītība. Komunikācija ar citiem tīmekļa izstrādātājiem liecina, ka MySQL datu bāzes mūsu vidū ir ļoti populāras, un to pārvaldībai - labi zināmā PHPMyAdmin. Pārejot no maziem projektiem uz lieliem, no cms uz ietvariem, daudzi, tāpat kā es, paliek uzticīgi MySQL. Tomēr, lai izveidotu sarežģītu datu bāzi ar lielu skaitu tabulu un relāciju, PHPMyAdmin iespēju ļoti pietrūkst. Tāpēc es nolēmu uzrakstīt atsauksmi MySQL Workbench ir lieliska bezmaksas darbvirsmas programma darbam ar MySQL.

Pārskata pirmajā daļā es runāšu par pašiem pamatiem darbam ar programmu, lai jūs varētu izmantot šo rakstu kā iesācēja rokasgrāmata. Otrā daļa būs veltīta Workbench izmantošanai cīņā, strādājot ar attālo serveri. Tajā es došu pamata instrukcijas un ieteikumi servera savienojuma iestatīšanai un sinhronizācijai ar to.

MySQL darbgalds- rīks vizuālai datu bāzu projektēšanai, kas integrē datu bāzes projektēšanu, modelēšanu, izveidi un darbību vienā viengabalainā vidē MySQL datu bāzes sistēmai.

Man jāsaka, ka programma ir patiešām lieliska. Tas ļauj mest ātri un ar prieku projekta datu shēmas, dizains entītijas un savienojumi starp tām, nesāpīgi ieviest izmaiņas shēmā un tikpat ātri un nesāpīgi sinhronizēt to ar attālo serveri. A grafiskais redaktors EER diagrammas, kas atgādina smieklīgus tarakānus, ļauj redzēt datu modeļa kopējo ainu un izbaudīt tā vieglumu un eleganci :) Pēc pirmā mēģinājuma šis rīks kļūst par neaizstājamu palīgu tīmekļa programmētāja kaujas arsenālā.

Lejupielādējiet MySQL Workbench

MySQL Workbench izplatīšana ir pieejama šajā lapā. Programmas jaunākā versija rakstīšanas laikā ir Versija 6.1. Pirms lejupielādes ir jāizvēlas viena no šīm platformām:

Pēc platformas izvēles jums tiek piedāvāts reģistrēties vai pieteikties Oracle. Ja nevēlaties, zemāk ir saite. "Nē, paldies, vienkārši sāciet manu lejupielādi"- noklikšķiniet uz tā ;)

Darba sākums

Programmas sākuma ekrāns atspoguļo tās galvenās funkcionalitātes jomas - datu bāzes modeļu projektēšanu un to administrēšanu:

Ekrāna augšdaļā ir saraksts ar savienojumiem ar MySQL serveri jūsu projektiem, un jaunāko atvērto datu modeļu saraksts atrodas ekrāna apakšā. Darbs parasti sākas ar izveidojot datu shēmu vai esošās struktūras ielāde MySQL Workbench. Sāksim strādāt!

Datu modeļa izveide un rediģēšana

Lai pievienotu modeli, noklikšķiniet uz pluszīmes blakus virsrakstam "Modeļi" vai atlasiet "Fails → Jauns modelis" (Ctrl + N):

Šajā ekrānā ievadiet datu bāzes nosaukumu, atlasiet noklusējuma kodējumu un, ja nepieciešams, aizpildiet komentāra lauku. Varat sākt veidot tabulas.

Tabulas pievienošana un rediģēšana

Projektu datu bāzu saraksts un tabulu saraksts datubāzē atradīsies cilnē "Fiziskās shēmas". Lai izveidotu tabulu, veiciet dubultklikšķi uz "+Pievienot tabulu":

Tiks atvērts ērts interfeiss lauku saraksta un to rekvizītu rediģēšanai. Šeit mēs varam iestatīt lauka nosaukumu, datu veidu, kā arī iestatīt dažādus atribūtus laukiem: piešķirt lauku primārā atslēga (PK), atzīmējiet to Nav nulles (NN), binārs (BIN), unikāls (UQ) un citi, kas iestatīti laukam automātiska palielināšana (AI) Un noklusējuma vērtība.

Indeksu vadība

Cilnē varat pievienot, dzēst un rediģēt tabulu indeksus "Indeksi" tabulas pārvaldības saskarne:

Ievadiet indeksa nosaukumu, atlasiet tā veidu un pēc tam pārbaudiet šajā indeksā iesaistīto lauku sarakstu vajadzīgajā secībā. Lauku secība atbildīs secībai, kādā tika atzīmētas izvēles rūtiņas. Šajā piemērā es pievienoju unikāls indekss uz lauku lietotājvārds.

Attiecības starp tabulām

Ārējo atslēgu iestatīšana un tabulu saistīšana ir iespējama tikai tabulām InnoDB(šī uzglabāšanas sistēma ir atlasīta pēc noklusējuma). Lai pārvaldītu attiecības, katrai tabulai ir cilne "Svešās atslēgas":

Lai pievienotu savienojumu, atveriet cilni "Svešās atslēgas" bērnu galds, ievadiet ārējās atslēgas nosaukumu un atlasiet vecāku tabula. Tālāk kolonnas cilnes vidusdaļā Kolonna atlasiet atslēgas lauku pakārtotajā tabulā un kolonnā Atsauces kolonna- atbilstošais lauks no vecāktabulas (lauku veidiem ir jāsakrīt). Veidojot svešās atslēgas atbilstošie indeksi tiek automātiski izveidoti bērnu tabulā.

Nodaļā "Ārvalstu atslēgu iespējas" konfigurējiet ārējās atslēgas uzvedību, kad mainās attiecīgais lauks (ATJAUNINĀT) un noņemšana (IZDZĒŠANU) vecāku ieraksts:

  • IEROBEŽOT- izdod kļūdu, mainot/dzēšot vecāku ierakstu
  • KASKĀDE- atjaunināt ārējo atslēgu, kad mainās vecāku ieraksts, dzēst bērna ierakstu, kad vecāks ir izdzēsts
  • SET NULL- iestatīt ārējās atslēgas vērtību NULL mainot/dzēšot vecākus (nav pieņemams laukiem, kuriem ir iestatīts karogs NAV NULL!)
  • NEKĀDA DARBĪBA- nedarīt neko, bet patiesībā efekts ir līdzīgs IEROBEŽOT

Iepriekš minētajā piemērā es pievienoju bērnu tabulai Lietotāja profilsārējā atslēga saitei uz vecāku tabulu Lietotājs. Rediģējot lauku Lietotāja ID un pozīciju dzēšana no tabulas Lietotājs tiks veiktas līdzīgas izmaiņas automātiski notiek arī ar saistītajiem ierakstiem no tabulas Lietotāja profils.

Veidojot projektu, bieži datu bāzei jāpievieno starta dati. Tās varētu būt saknes kategorijas, administratīvie lietotāji utt. MySQL Workbench tabulu pārvaldībā tam ir cilne "Ievietojumi":

Kā redzams no piemēra, ja kāda MySQL funkcija ir jāpiemēro datiem pirms ierakstīšanas datu bāzē, tas tiek darīts, izmantojot sintaksi \func functionName("dati"), Piemēram, \func md5("parole").

EER diagrammas (entītijas attiecību diagrammas) izveide

Lai parādītu datu shēmu, entītijas un to attiecības grafiskā formā, MySQL Workbench ir EER diagrammu redaktors. Lai izveidotu diagrammu datu bāzes pārvaldības ekrāna augšdaļā, veiciet dubultklikšķi uz ikonas "+Pievienot diagrammu":

Savā saskarnē varat izveidot un rediģēt tabulas, pievienot savienojumus starp tām dažādi veidi. Lai diagrammai pievienotu tabulu, kas jau pastāv diagrammā, vienkārši velciet to no paneļa "Katalogu koks".

Lai eksportētu datu shēmu uz grafiskais fails izvēlieties "Fails → Eksportēt" un pēc tam vienu no iespējām (PNG, SVG, PDF, PostScript fails).

Esošas datu shēmas importēšana (no SQL dump)

Ja mums jau ir datu shēma, to var viegli importēt MySQL Workbench turpmākam darbam. Lai importētu modeli no SQL faila, atlasiet "Fails → Importēt → Reversā inženierija MySQL Izveidot skriptu...", pēc tam atlasiet vajadzīgo SQL failu un noklikšķiniet uz "Izpildīt >"

MySQL Workbench nodrošina arī datu modeļa importēšanu un sinhronizāciju tieši ar attālo serveri. Lai to izdarītu, jums būs jāizveido savienojums attālā piekļuve uz MySQL, par ko es runāšu šī apskata turpinājumā.

Demonstrācijas projekts no raksta ir pieejams lejupielādei šajā saitē. Novēlu veiksmi un skaistas tarakānu shēmas!


Lai kāds būtu datu bāzes izstrādātājs: iesācējs (īpaši) vai bārdains profesionālis, viņam vienmēr ir vieglāk un vizuālāk prezentēt to, pie kā strādā un attīsta. Es personīgi uzskatu sevi par pirmo kategoriju un, lai saprastu materiālu, ko es vēlētos redzēt vizuāli, ko es projektēju/attīstu.

Šodien tādas ir dažādas programmas un rīki, kas tiek galā ar līdzīgu uzdevumu: daži ir labāki, daži ir sliktāki. Bet šodien es vēlos nedaudz parunāt par MySQL WorkBench — vizuālu datu bāzes projektēšanas rīku, kas integrē datu bāzes projektēšanu, modelēšanu, izveidi un darbību vienā viengabalainā vidē MySQL datu bāzes sistēmai, kas ir FabForce DBDesigner 4 pēctece.( c) Wikipedia. MySQL WorkBench tiek izplatīts divās versijās: OSS — kopienas izdevums(izplatīts saskaņā ar LGPL licenci) un S.E. - Standarta izdevums- versija, par kuru izstrādātāji prasa naudu. Bet domāju, ka daudziem ar to pietiks O.S.S. versija (īpaši iesācējiem un tiem, kuri nevēlas vai uzskata par nepiemērotu maksāt par programmatūru, kā arī atvērtā pirmkoda programmu atbalstītājiem), Turklāt OSS versijai ir bagātīga funkcionalitāte.

Tātad, kā norāda nosaukums, šis rīks ir paredzēts darbam ar MySQL datu bāzes un atbalsta lielu skaitu dažādu veidu MySQL modeļu (skatiet zemāk redzamo ekrānuzņēmumu) un kļūs par neaizstājamu rīku, lai labāk izprastu un apgūtu relāciju datu bāzes (jo īpaši MySQL) iesācējiem:

Tādējādi jebkurš MySQL izstrādātājs atradīs sev nepieciešamo. Turklāt MySQL WorkBenchļauj savienot esošu datu bāzi, veikt SQL vaicājumi un SQL skriptus, rediģēt un pārvaldīt datu bāzes objektus.Bet tiem, kas tikai sāk apgūt relāciju datu bāzes, visinteresantākā, manuprāt, ir iespēja izveidot EER modeļi Datu bāze. Citiem vārdiem sakot, tas ir vizuāls visu attiecību attēlojums starp jūsu datu bāzes tabulām, kuras, ja nepieciešams, var viegli parādīt SQL skripta veidā, rediģēt vai izveidot jaunu skatu. Bet par to vairāk nedaudz vēlāk. Vispirms redzēsim, kā izskatās galvenā acs MySQL WorkBench(5.2.33, rev 7508):
Lai izveidotu savas datu bāzes EER modeli, atlasiet " Izveidojiet jaunu EER modeli" Rezultātā mums būs cilne, kurā varēsim pievienot/izveidot diagrammas, tabulas, skatus, procedūras; iestatīt dažādas piekļuves tiesības lietotājiem; izveidot modeli, izmantojot SQL skriptus. Šī cilne izskatās šādi:
Mēs neapsvērsim tabulu un datu bāzu izveides procesu, jo šeit viss ir vienkārši. Es sniegšu tikai gatavā modeļa galīgo versiju (skatiet zemāk esošos ekrānuzņēmumus). Turklāt, ja novietojat kursoru virs tabulu savienojuma līnijas (punktētās līnijas), tad “attiecības”, primārā atslēga, kā arī ārējā atslēga tiks iezīmēta citā krāsā. Novietojot kursoru virs tabulas, tiks izcelta pati tabula, kā arī visas relācijas, kas pieder atlasītajai tabulai.

Lai rediģētu tabulu, ar peles labo pogu noklikšķiniet uz vajadzīgās tabulas un atlasiet " Rediģēt tabulu... ". Rezultātā loga apakšā parādīsies papildu tabulas rediģēšanas apgabals, kurā varat mainīt tabulas nosaukumu, kolonnas, ārējās atslēgas un daudz ko citu. Lai eksportētu tabulu uz SQL skriptu , vienkārši ar peles labo pogu noklikšķiniet uz vajadzīgās tabulas un izvēlieties " Kopējiet SQL starpliktuvē", un pēc tam ielīmējiet no starpliktuves vajadzīgajā vietā/programmā/failā.

Un tagad tieši par uzstādīšana MySQL WorkBench. Protams, vispirms ir nepieciešams lejupielādēt MySQL WorkBench. Lai to izdarītu, dodieties uz MySQL WorkBench lejupielādes lapu, lapas apakšā nolaižamajā sarakstā atlasiet vajadzīgo. operētājsistēma. Rezultātā mums tiks piedāvātas vairākas lejupielādes iespējas:

  • OS Windows Jūs varat lejupielādēt MSI instalētāju, programmas zip arhīvu, kā arī arhīvu ar pirmkodu. Šai OS MySQL WorkBench var lejupielādēt tikai Windows 32 bitu versijai;
  • lietotājiem Ubuntu izvēle ir nedaudz bagātāka nekā Windows OS lietotājiem - mums tiek piedāvāts lejupielādēt MySQL WorkBench Ubuntu versijām 10.04, 10.10 (rakstīšanas laikā) un deb pakotņu 32 vai 64 bitu versijām;
  • Priekš pamatojoties uz apgr./min izplatījumi, un šajā gadījumā tie ir Fedora, Suse Linux un RedHat/Oracle Linux, MySQL WorkBench tiek prezentēti komplekti 32 un 64 bitu OS;
  • Arī Macintosh lietotāji nav aizmirsuši - viņiem ir montāža tikai 32 bitu OS;
  • Nu, protams, jūs varat lejupielādēt avots programmas;

Tātad, atlasiet vajadzīgo lejupielādes opciju un noklikšķiniet uz Lejupielādēt. Tad lūgsim iepazīstināt ar sevi: reģistrētiem lietotājiem - ievadiet savu pieteikumvārdu un paroli, jaunpienācējiem - reģistrējieties. Ja nevēlaties iepazīstināt ar sevi, atlasiet opciju tieši zemāk " "Nē, paldies, vienkārši aizvediet mani uz lejupielādi!" un lejupielādei atlasiet tuvāko spoguli. Turklāt pirms instalēšanas pārliecinieties, ka esat instalējis MySQL klients, Pretējā gadījumā MySQL WorkBench atteiksies instalēt.

Kas jāatceras un jāzina Linux lietotājiem:

Protams, tāpat kā Windows OS gadījumā, mēs neaizmirstam par MySQL klientu. Ubuntu lietotājiem ir jālejupielādē programmas versija atbilstoši jūsu Ubuntu versijai.Instalēšanas laikā uzmanīgi apskatiet kļūdu ziņojumus, ja tādi ir, kas, iespējams, pateiks, kuras pakotnes jūsu operētājsistēmā trūkst. Par to lasiet tālāk.

Diemžēl es nezinu, kā ir ar rmp bāzes izplatīšanu, jo... Es nekad neesmu izmantojis šādus izplatījumus, bet es domāju, ka tas ir aptuveni tāds pats kā ar debian bāzes.

Jūs, iespējams, pamanījāt, ka trūkst montāžas MySQL WorkBench OS Debian GNU/Linux. Bet, kā liecina prakse, tas ir labi. Uzstādīšanai MySQL WorkBench Debian 6.0 (Squeeze) mēs izmantosim deb- iepakojums priekš Ubuntu 10.04(neaizmirstiet par savas OS bitu dziļumu: x86 vai x64). Atgādināšu, ka, lai instalētu lejupielādēto deb pakotni, varat izmantot utilītu gdebi vai ievadiet komandu konsolē kā root:

# dpkg -i mysql-workbench-gpl-5.2.33b-1ubu1004-amd64.deb Piemēram, instalējot MySQL WorkBench, man radās šāda kļūda:
dpkg: pakotnes atkarības neļauj konfigurēt pakotni mysql-workbench-gpl:
mysql-workbench-gpl ir atkarīgs no libcairomm-1.0-1 (>= 1.6.4), tomēr:
Pakotne libcairomm-1.0-1 nav instalēta.
mysql-workbench-gpl ir atkarīgs no libctemplate0, tomēr:
Pakotne libctemplate0 nav instalēta.
mysql-workbench-gpl ir atkarīgs no libgtkmm-2.4-1c2a (>= 1:2.20.0), tomēr:
Pakotne libgtkmm-2.4-1c2a nav instalēta.
mysql-workbench-gpl ir atkarīgs no libpangomm-1.4-1 (>= 2.26.0), tomēr:
Pakotne libpangomm-1.4-1 nav instalēta.
mysql-workbench-gpl ir atkarīgs no libzip1 (>= 0,9), tomēr:
Libzip1 pakotne nav instalēta.
mysql-workbench-gpl ir atkarīgs no python-paramiko, tomēr:
Python-paramiko pakotne nav instalēta.
mysql-workbench-gpl ir atkarīgs no python-pysqlite2, tomēr:
Python-pysqlite2 pakotne nav instalēta.
dpkg: neizdevās apstrādāt opciju mysql-workbench-gpl (--install):
atkarības problēmas — atstājiet nekonfigurētu
Apstrādājot šādas pakotnes, radās kļūdas:
mysql-workbench-gpl

Lai atrisinātu šo kļūdu, man bija tikai jāievada komanda konsolē, lai instalētu dažas pakotnes:

# aptitude instalēt libzip1 libcairomm-1.0-dev libctemplate0 libgtkmm-2.4-1c2a

Lai instalētu iepriekš minētās pakotnes, jums būs nepieciešamas papildu pakotnes, kuras pārvaldnieks apt laipni piedāvās lejupielādēt. Pēc visu nepieciešamo pakotņu instalēšanas MySQL WorkBench instalē bez problēmām.

Tas arī viss: MySQL WorkBench ir droši instalēts un gatavs mācībām.

upd:
Ja nemaldos, tad sākot no Ubuntu 12.04 MySQL WorkBench var atrast distribūcijas krātuvēs. Līdz ar to uzstādīšanas process ir daudz vienkāršāks un bez kruķiem.
Lai instalētu MySQL WorkBench, vienkārši ievadiet komandu terminālī:
sudo aptitude instalējiet mysql-workbench

Uzmanību, kopš WorkBench tika atjaunināts, es uzrakstīju, kas sastāv no WorkBench datu bāzes veidošanas teorijas un prakses.

Nodaļā “Ārvalstu atslēgu iespējas” konfigurējiet ārējās atslēgas uzvedību, kad mainās attiecīgais lauks (ATJAUNINĀT) un noņemšana (IZDZĒŠANU) vecāku ieraksts:

  • IEROBEŽOT– izdod kļūdu, mainot/dzēšot vecāku ierakstu
  • KASKĀDE- atjaunināt ārējo atslēgu, kad mainās vecāku ieraksts, dzēst bērna ierakstu, kad vecāks ir izdzēsts
  • SET NULL– iestatīt ārējās atslēgas vērtību NULL mainot/dzēšot vecākus (nav pieņemams laukiem, kuriem ir iestatīts karogs NAV NULL!)
  • NEKĀDA DARBĪBA– nedarīt neko, bet patiesībā efekts ir līdzīgs IEROBEŽOT

Saglabāšana no modeļa uz reālu/fizisku datu bāzi

“Fails → Eksportēt → Pārsūtīt inženieris MySQL Izveidot skriptu...”

Mēs atzīmējam vajadzīgās rūtiņas, man vajadzēja tikai vienu Generate INSERT Statements for Tables. Ja skripts ir jāsaglabā failā, ievadiet direktoriju laukā iepriekš.

Nākamajā logā varat konfigurēt, kurus objektus mēs eksportēsim. Ja paskatās uzmanīgi, mēs esam izveidojuši tikai 2 tabulas.

Skripta izpilde - datu bāzes un tabulu izveide

Noklikšķiniet uz "māja" programmas augšējā kreisajā stūrī...

Pēc tam veiciet dubultklikšķi uz MyConnection….

Šī cilne tiek atvērta mūsu priekšā...

Šis ir mūsu savienojums ar serveri, šeit mēs izpildīsim savu skriptu. Lūdzu, ņemiet vērā, ka kreisajā pusē ir datu bāzes, kas tika izveidotas programmā WorkBench….

Tagad jums ir jādod komanda izpildīt šo skriptu, lai to izdarītu, augšējā izvēlnē noklikšķiniet uz Vaicājums Izpildīt (viss vai atlase)

Tātad, ja viss ir kārtībā, tad apakšējā izvades logā redzēsit visas “zaļās atzīmes”. Un, noklikšķinot uz Atsvaidzināt konteksta izvēlne datu bāzu sarakstā redzēsiet jaunizveidoto datubāzi mydatabase1.

Visbeidzot, izveidosim ER diagrammu. ER nozīmē Entity Relation — veiksmīgs “vienības attiecību” modelis, kuru īpaši izstrādāja Pīters Čens. Tātad, dodieties atpakaļ uz modeļa cilni un noklikšķiniet uz Pievienot diagrammu...

Mēs esam izveidojuši attiecības viens pret daudziem. Vienā fakultātē var studēt vairāki studenti. Lūdzu, ņemiet vērā, ka attiecības pie Studentu tabulas ir sadalītas - tas nozīmē “daudziem”.

Tātad, mēs izveidojām modeli, no kura, izpildot skriptu, tika izveidota reāla datu bāze ar tabulām. Un arī izveidoja ER diagrammu.




Tops