Mysql darbagalds ir saistīts ar operatoriem. Ātrais sākums: vizuālā datu bāzes dizains programmā MySQL Workbench. Datu pievienošana un rediģēšana

MySQL Workbench — programmatūra, kas izveidota datu bāzes projektēšanai. Ir pieejams datu bāzes darbības un modelēšanas rīku katalogs. Produktam ir raksturīga augsta veiktspēja.

Programmatūras izmantošana ir ieteicama sarežģītas pārejas laikā. Tabulās tiek parādīti saglabātie procesi un ārējās atslēgas. Tiek atbalstīts integrēts apvalks, kas ļauj rakstīt skriptus. Pirmkārt, programma ir dizaina rīks vizuālai grafiskai prezentācijai. Ir redaktors, kas ļauj pielāgot pieprasījumus un pēc tam nosūtīt tos caur serveri. Pieņemtās atbildes tiek parādītas tabulu veidā. Kad skats ir renderēts, lietotājs joprojām var veikt labojumus.

Lejupielādējiet MySQL Workbench pilno krievu versiju no oficiālās vietnes bez maksas bez reģistrācijas un SMS.

Sistēmas prasības

  • Atbalstītās operētājsistēmas: Windows 10, Vista, 8.1, XP, 7, 8
  • Bitu dziļums: 64 biti, 32 biti, x86

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 izmantojot Workbench 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āzes projektēšanai, kas integrē datu bāzes projektēšanu, modelēšanu, izveidi un darbību vienotā MySQL datu bāzes sistēmas vidē.

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 jūsu projektu MySQL serveriem, 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. Jūs 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 laukam pievienoju unikālu indeksu 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 starp tām dažāda veida attiecības. 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ālināta 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!

Līdz ar MySQL Workbench programmas parādīšanos kā daļu no MySQL datu bāzu (DB) izveides process ir ievērojami vienkāršots. Galu galā, kas iepriekš bija jādara manuāli, izmantojot SQL skriptu un komandrinda, tagad var veikt “vizuālajā režīmā”, izmantojot draudzīgu GUI.

Sīkāk aplūkosim datu bāzes izveides procesu, izmantojot MySQL Workbench.

Tālāk esošajā ekrānuzņēmumā ir parādīts MySQL Workbench programmas loga vispārējs skats.

Lai izveidotu datu bāzi, ar peles labo pogu noklikšķiniet kreisajā panelī apgabalā ar datu bāzes sarakstu (norādīts kā SHĒMAS) un konteksta izvēlne atlasiet "Izveidot shēmu".

Pēc tam parādīsies cilne, kurā jānorāda jaunās datu bāzes nosaukums un jānorāda kārtošanas parametri. Piemēram, datubāze tiks nosaukta par mynewdatabase. Varat atlasīt kārtošanas opcijas nolaižamajā sarakstā vai atstāt tās, kas tiek piedāvātas pēc noklusējuma (šajā piemērā noklusējuma opcijas ir atstātas).

Pēc tam, lai turpinātu datu bāzes izveidi, noklikšķiniet uz pogas “Lietot”. Parādītajā dialoglodziņā tiks parādīts MySQL Workbench ģenerētais datu bāzes izveides skripts. Ja nepieciešams, šo skriptu var rediģēt tieši šajā logā.

Loga augšdaļā ir tiešsaistes DDL apgabals. Tas ir paredzēts skripta izpildes parametru iestatīšanai. Šie parametri var būt noderīgi, manipulējot ar esošu datu bāzi. Veidojot datu bāzi, ieteicams atstāt noklusējuma vērtības (“Noklusējums”).

Šīs ziņas mērķis ir palīdzēt iesācējam izstrādātājam ātri pierast un izveidot vienkāršu datubāzi, izmantojot vizuālo datu bāzes dizaina rīku MySQL Workbench no Oracle, un iegūt tā ER modeli un SQL dump.

Nu mazāk vārdu un vairāk jēgas! Izskats programmas logā sadaļa “Datu modelēšana” izskatās šādi:

Lai atvērtu esošu modeli, noklikšķiniet uz saites: Atveriet esošo EER modeli, lai izveidotu jaunu modeli, atlasiet opciju: Izveidojiet jaunu EER modeli Lai izveidotu entītiju attiecību modeli no esošas datu bāzes, noklikšķiniet uz parametra: Izveidojiet EER modeli no esošās datu bāzes un, lai izveidotu EER modeli no SQL skripta, ir jāatlasa: Izveidojiet EER modeli no SQL skripta.
Lai izveidotu jaunu modeli, izmantojiet saiti Izveidot jaunu EER modeli, pēc noklikšķināšanas uz tā tiks parādīts logs ar parametriem:

Vispirms jums ir jāizveido tabulas, lai to izdarītu, noklikšķiniet uz pogas Pievienot tabulu, parādīsies šāda veidlapa:

Vispirms izveidosim tabulu lietotājiem, kurā tiks saglabāti lietotāja dati informācijas sistēma, laukā tabulas nosaukums formas sadaļā ievadiet tabulas nosaukumu Kolonnas Izveidosim tabulas laukus:
- Pirmais lauks id satur unikālu lietotāja numuru, iestatiet tā rekvizītus: Automātiska palielināšana, nevis nulle, primārā atslēga Un Unikāls, Nodaļā Datu tips izvēlieties vesela skaitļa veidu vesels skaitlis.
- Otrais lauks fio, kur tas tiks uzglabāts PILNAIS VĀRDS. lietotājs, iestatiet īpašuma lauku: Nav Null, Primārā atslēga, Nodaļā Datu tips izvēlieties virknes veidu VARCHAR 255 .
- Trešais lauks Pieslēgties, saturēs lietotāja pieteikumvārdu, tam jābūt unikālam, piemēram, laukam id, tāpēc iestatīsim to kā īpašumu Unikāls un iestatiet rakstzīmju skaitu 255 .
- Tālāk norādītie lauki: parole kas satur paroli, e_pasts kas satur adresi E-pasts un lauks veids kas satur lietotāja tipu, būs bez īpašiem rekvizītiem, ar virknes tipu VARCHAR ilgi iekšā 255 rakstzīmes, izņemot pēdējo lauku veids kam pietiek 45 rakstzīmes.
Pēc veiktajām manipulācijām veidlapa ar tabulas nosaukumu lietotājiem izskatīsies šādi:

Diagrammā parādīsies tabula lietotājiem ar laukiem un indeksiem:

Līdzīgi veidosim tabulu iestatījumi ar piekļuves iestatījumiem IS datubāzei, kurā ir lauki id, saimnieks lai norādītu resursdatora nosaukumu (servera adresi), db- datu bāzes nosaukums, lietotājs Un parole ar lietotājvārdu un paroli, lai instalētu IS attālajā serverī.

Tālāk, izmantojot jau zināmo metodi, izveidosim tabulu veikalus, kas glabās datus par veikaliem laukos: id veids vesels skaitlis– atslēga, kas nav nulle, unikāla ar automātiskās pieauguma lauku nosaukums saglabājot veikala nosaukumu, lauku adrese– viņa fiziskā adrese, lauks tālr- veikala tālruņa numuru, vietne– interneta veikala vietne un lauks e-pasts ar veikala e-pasta adresi.

Tad veidosim tabulu produktiem saglabājot datus par veikala produktiem laukos: id veids vesels skaitlis– atslēga, kas nav nulle, unikāls ar automātisku pieaugumu, nosaukuma lauks, kurā tiek saglabāts veikala nosaukums, atslēga, vesela skaitļa tipa lauks, kas nav nulles lauks veikala_id saglabājot veikala numuru, lauku type_id ar informāciju par preces numuru no preču veidu tabulas. Zīmola lauks – ražotāja zīmols, 255 rakstzīmes garš, lauks modelis– ar preces modeli, lauku datus– ar datiem un produkta veida īpašībām Tinytext, lauks img ar pilnu adresi pie preces attēla, 255 rakstzīmes garu un cenas lauku ar preces cenu un garantija ar informāciju par preces garantijas laiku, 45 rakstzīmes garš.

Mūsu izveidotās tabulas iestatījumi, veikali Un produktiem izskatās šādi:

Tālāk mums ir nepieciešama tabula, kurā tiek glabāti produktu veidi Produkta veids, tas sastāv no unikāla atslēgas lauka, kas nav nulle id ar vesela skaitļa veida automātisku palielināšanu un unikālu nosaukuma lauku, kura garums ir 255 rakstzīmes un kurā ir produkta veida nosaukums.

Tabula izskatās šādi:

Pēdējās divas tabulas ir pasūtījumus Un piegādes, pirmajā ir informācija par klientu pasūtījumiem, bet pēdējā ir informācija par preču piegādi.

Tabulas lauki pasūtījumus: id atslēga, kas nav nulle, unikāls vesela skaitļa tipa lauks ar automātisku palielināšanu, lauks veikala_id kas satur veikala numuru - atslēga, vesela skaitļa lauks, kas nav nulle product_id saglabājot preces numuru - atslēgas, vesela skaitļa lauks, kas nav nulle fio datums ar pasūtījuma datumu – veids DATUMS, lauks daudzums ar pasūtīto preču skaitu – vesela skaitļa veids, lauks tālr ar klienta tālruņa numuru – 255 rakstzīmju gara virkne un apstiprinājuma lauks, kurā ir informācija par pasūtījuma apstiprinājumu – loģisks veids.

Tabulas lauki piegādes: pasūtījuma_id ar pasūtījuma numuru - atslēga, kas nav nulle, unikāls vesela skaitļa tipa lauks ar automātisku palielināšanu, lauka lauks fio ar tā lietotāja numuru, kurš veica pasūtījumu - atslēga, vesela skaitļa lauks, kas nav nulle adrese uzglabājot klienta norādīto preču piegādes adresi - virknes tipa 255 rakstzīmes, lauks laiks vēlamā preču piegādes laika uzglabāšana - 255 zīmju gara virkne, lauks datums ar datumu, kad klients veica pasūtījumu - veids DATUMS un Būla lauks Apstiprināt informācijas glabāšana par preču piegādi.

Tabulas pasūtījumus Un piegādes izskatās šādi:

Tabulu attiecības

Mēs esam izveidojuši datu bāzi, kas sastāv no septiņām tabulām, tagad mums ir jāsaista tabulas, mēs jau esam izveidojuši galvenos vesela skaitļa laukus, tie kļūs par saistīšanas pamatu.
Piemēram, lai saistītu divas tabulas produktiem Un Produkta veids, jums ir jāveic dubultklikšķis ar peles kreiso pogu uz diagrammas ar produktu tabulu un jāatlasa cilne svešās atslēgas(svešās atslēgas), tālāk laukā Ārējās atslēgas nosaukums ievadiet unikālu ārējās atslēgas nosaukumu, veiciet dubultklikšķi uz cilnes Atsauces tabula un atlasiet tabulu Produkta veids, pēc tam labajā pusē esošajā veidlapā atlasiet atsauces lauku type_id un uznirstošajā sarakstā atlasiet lauku id.

Tādējādi abi tabulas lauki ir savienoti, tad jāiestata attiecību veids starp tabulām, jāatver logs, noklikšķinot uz parādīto tabulu attiecības un jāatlasa cilne Sveša atslēga un sadaļā Kardinalitāte Atlasiet savienojuma veidu viens pret daudziem un aizveriet logu. Diagrammā tiks parādīta attiecība starp tabulām:

Līdzīgā veidā tabulās saistām visus galvenos laukus, lai tie būtu loģiski savstarpēji saistīti, tad jāpārliecinās, vai noformētā datu bāze atbilst trešajai normāla forma.

Normāla forma- attiecības īpašība relāciju datu modelī, raksturojot to no redundances viedokļa, kas potenciāli var novest pie loģiski kļūdainiem datu izlases vai mainīšanas rezultātiem. Parastā forma ir definēta kā prasību kopums, kas relācijai ir jāatbilst.

Relāciju modelī relācija vienmēr ir pirmajā normālā formā pēc attiecības jēdziena definīcijas. Kas attiecas uz dažādām tabulām, tās var nebūt pareizi attiecību attēlojums un attiecīgi var nebūt pirmajā parastajā formā. Relāciju mainīgais ir otrajā normālā formā tad un tikai tad, ja tas ir pirmajā normālā formā un katrs bezatslēgas atribūts ir nereducējami (funkcionāli pilnīgs) atkarīgs no tā kandidātatslēgas. Datubāze būs trešajā parastajā formā, ja tā tiks reducēta uz otro parasto formu un katra bezatslēgas kolonna ir neatkarīga viena no otras.

Tādējādi mūsu bāze ir trešajā normālā formā, jo Katra bezatslēgas kolonna ir neatkarīga viena no otras. Tas ir skaidri redzams mūsu datu bāzes diagrammā:

Lielākajai daļai tabulu ir attiecības viens pret daudziem, izņemot tabulas piegādes Un pasūtījumus attiecībās viens pret vienu, jo piegādāts, var būt tikai viens pasūtījums, t.i. Vienam pasūtījumam ir tikai viena piegāde. Pārējie savienojumi ir skaidri norādīti iepriekš.

Tagad augšupielādēsim mūsu datu bāzi serverī. Lai to izdarītu, izveidojiet jaunu savienojumu ar datu bāzi, noklikšķinot uz saites Jauns savienojums programmas sākuma logā:

Pēc tam atvērtajā logā aizpildiet laukus:

Laukā norādiet savienojuma nosaukumu Savienojuma nosaukums, sarakstā atlasiet savienojuma metodi Savienojuma metode, cilnē iestatiet resursdatora nosaukumu un portu Parametri, norādiet lietotājvārdu un paroli, ja jums tāds ir, un noklikšķiniet uz pogas Labi. Pēc tam atveriet cilni EER diagramma, panelī atlasiet vienumu Datu bāze un noklikšķiniet uz parametra Uz priekšu inženieris:

Pēc loga parādīšanās noklikšķiniet uz pogas "Nākamais", atlasiet parametru Eksportējiet MySQL tabulas objektus un nospiediet pogu "Nākamais":

Pēc pogas nospiešanas parādīsies cilne ar SQL kodu, kuru varat saglabāt, noklikšķinot uz pogas “Saglabāt failā” ja nepieciešams, un pēc tam nospiediet pogu "Nākamais". Parādīsies logs ar savienojuma parametriem:

Mēs pārbaudām, vai savienojuma parametri ir pareizi, un noklikšķiniet uz pogas "Izpildīt", ja SQL kods nesatur kļūdas, tad pēc koda izpildes mēs redzēsim logu ar tabulu sarakstu, pretējā gadījumā tiks parādīts kļūdas ziņojums. Tagad mūsu datu bāze ir augšupielādēta serverī.

Paldies par uzmanību, lejupielādējiet pašu programmu.

UPD:

Dažus Habras iedzīvotājus interesēja iespēja parādīt tabulas savienojuma līnijas laukā-laukā režīmā

pēc viena lietotāja ieteikuma sniegšu īsu paskaidrojumu, kā mainīt relāciju un tabulu izskatu, lai to izdarītu, izvēlnes sadaļā jāizvēlas šāda opcija Attiecību apzīmējums:

Pēc tam tabulas attiecības būs šādā formā:

Ir iespējams arī mainīt tabulu veidus, lai to izdarītu, ir jāatzīmē izvēles rūtiņa augšējā izvēlnes sadaļā un turpmākajos Objekta apzīmējums:

Šādi izskatās tabula diagrammā, kas pielāgota IDEF1X standartam:

Paldies par pārdomātajiem komentāriem!




Tops