Hvordan bygge en krets i arbeidsbenken. Fra modell til fysisk database i MySQL WorkBench. Opprette og redigere en datamodell

Alle webmastere må fordype seg i programmerings- og databaseopprettingsteknologier etter å ha utviklet ressursene sine.


Gradvis begynner du å fordype deg i hver eneste detalj, men opplæringsmateriell er ikke alltid lett å finne. Dessuten vet ikke alle om eksistensen nyttige programmer.

Hvordan lage en MySQL-database? Du kan lage tabeller manuelt og etablere relasjoner mellom dem, men dette er ikke så praktisk.

Den ble laget spesielt for dette gratis program Arbeidsbenk. Med dens hjelp kan du visuelt lage MySQL-databaser. Å modellere dem ved hjelp av programvare er enklere, mer praktisk og mye raskere.

Workbench vil hjelpe deg med å lage en MySQL-database

Med ett enkelt verktøy trenger du ikke lenger å beskrive strukturen. Programmet genererer koden automatisk. Last ned verktøyet fra dette nettstedet, det passer for alle operativsystemer.

Etter normal installasjon av programmet, for å lage en MySQL-database må du gjøre følgende:

  1. Først må du åpne ny modell, dette gjøres gjennom menyen eller tastekombinasjonen Ctrl+N:

  2. Det første trinnet når du oppretter en database er å legge til en tabell, så vi velger riktig funksjon:

  3. Deretter fylles tabellen ut. Angi navn og attributter, husk at en av attributtene er hovednøkkelen, merket med en avkrysningsboks. Tenk på forhånd på hvordan bordene da blir koblet til hverandre:

  4. Etter å ha fylt ut de nødvendige dataene, lag et diagram for å identifisere forhold mellom fag:
  5. Du vil se en tabell i arbeidsområdet. For enkelhets skyld kan du utvide tabellstrukturene:

  6. Nå må du angi forbindelser mellom elementer; dette gjøres med et spesialverktøy på arbeidspanelet:
  7. Som et resultat bør du ha tabeller presentert i arbeidsområdet og relasjoner etablert mellom dem:

  8. Ved å dobbeltklikke på en tilkobling åpnes et vindu der flere parametere er satt:

En webutvikler vokser med prosjektene han lager og utvikler. Etter hvert som prosjekter vokser, øker kompleksiteten til programvaren, mengden data den behandler øker uunngåelig, samt dataskjemaets kompleksitet. Kommunikasjon med andre webutviklere viser at MySQL-databaser er veldig populære blant oss, og for å administrere dem - den velkjente PHPMyAdmin. Ved å flytte fra små prosjekter til store, fra cms til rammeverk, forblir mange, som meg, trofaste mot MySQL. Men for å designe en kompleks database med et stort antall tabeller og relasjoner, mangler funksjonene til PHPMyAdmin sårt. Så jeg bestemte meg for å skrive en anmeldelse MySQL Workbench er et flott gratis skrivebordsprogram for å jobbe med MySQL.

I den første delen av anmeldelsen vil jeg snakke om det helt grunnleggende ved å jobbe med programmet, så du kan bruke denne artikkelen som nybegynnerguide. Den andre delen vil bli viet til bruk av Workbench i kamp når du arbeider med en ekstern server. I den vil jeg gi det grunnleggende bruksanvisning og anbefalinger for å sette opp en servertilkobling og synkronisering med den.

MySQL arbeidsbenk- et verktøy for visuell databasedesign som integrerer design, modellering, opprettelse og drift av en database i ett enkelt sømløst miljø for MySQL-databasesystemet.

Jeg må si at programmet er veldig bra. Den lar deg kaste raskt og med glede prosjektdataskjemaer, design enheter og forbindelser mellom dem, smertefritt gjennomføre endringer inn i ordningen og like raskt og smertefritt synkronisere det med en ekstern server. EN grafikk editor EER-diagrammer, som minner om morsomme kakerlakker, lar deg se helhetsbildet av datamodellen og nyte dens letthet og eleganse :) Etter det første forsøket blir dette verktøyet en uunnværlig assistent i kamparsenalet til en webprogrammerer.

Last ned MySQL Workbench

MySQL Workbench-distribusjonen er tilgjengelig på denne siden. Den siste versjonen av programmet i skrivende stund er Versjon 6.1. Før du laster ned, må du velge en av følgende plattformer:

Etter at du har valgt en plattform, blir du bedt om å registrere deg eller logge på Oracle. Hvis du ikke vil, er det en lenke nedenfor. "Nei takk, bare start nedlastingen min"- klikk på den ;)

Begynnelsen av arbeidet

Programmets startskjerm gjenspeiler hovedområdene for funksjonaliteten - utforming av databasemodeller og deres administrasjon:

Øverst på skjermen er det en liste over tilkoblinger til MySQL-servere av prosjektene dine, og en liste over de nyeste åpne datamodellene er nederst på skjermen. Arbeidet starter vanligvis med lage et dataskjema eller laster en eksisterende struktur inn i MySQL Workbench. La oss sette i gang!

Opprette og redigere en datamodell

For å legge til en modell, klikk på plusstegnet ved siden av "Modeller"-overskriften eller velg "Fil → Ny modell" (Ctrl + N):

På dette skjermbildet skriver du inn databasenavnet, velger standardkodingen og fyller om nødvendig ut kommentarfeltet. Du kan begynne å lage tabeller.

Legge til og redigere en tabell

Listen over prosjektdatabaser og listen over tabeller i databasen vil være plassert i fanen "Fysiske ordninger". For å lage en tabell, dobbeltklikk på "+Legg til tabell":

Et praktisk grensesnitt åpnes for å redigere listen over felt og deres egenskaper. Her kan vi angi feltnavn, datatype, og også angi ulike attributter for feltene: tilordne felt primærnøkkel (PK), Marker det Ikke null (NN), binær (BIN), unik (UQ) og andre, satt for felt automatisk økning (AI) Og standardverdi.

Indeksstyring

Du kan legge til, slette og redigere tabellindekser i fanen "Indekser":

Skriv inn navnet på indeksen, velg dens type, og sjekk deretter listen over felt som deltar i denne indeksen i ønsket rekkefølge. Rekkefølgen på feltene vil samsvare med rekkefølgen avkrysningsboksene ble merket i. I dette eksemplet la jeg til en unik indeks i feltet brukernavn.

Forhold mellom tabeller

Innstilling av fremmednøkler og kobling av tabeller er kun mulig for tabeller InnoDB(dette lagringssystemet er valgt som standard). For å administrere relasjoner har hver tabell en fane "fremmednøkler":

For å legge til en tilkobling, åpne fanen "fremmednøkler" barnebord, skriv inn navnet på fremmednøkkelen og velg foreldretabell. Videre i midtre del av fanen i kolonnen Kolonne velg nøkkelfeltet fra den underordnede tabellen, og i kolonnen Referert kolonne- det tilsvarende feltet fra den overordnede tabellen (felttypene må samsvare). Når du oppretter fremmednøkler tilsvarende indekser opprettes automatisk i den underordnede tabellen.

I kapittel "Alternativer for utenlandske nøkkel" konfigurere virkemåten til fremmednøkkelen når det tilsvarende feltet endres (PÅ OPPDATERING) og fjerning (PÅ SLETT) foreldrerekord:

  • BEGRENSE- gi en feil når du endrer/sletter en overordnet post
  • CASCADE- oppdater fremmednøkkel når overordnet post endres, slett barnepost når forelder slettes
  • SET NULL- angi fremmednøkkelverdien NULL ved endring/sletting av forelder (ikke akseptabelt for felt som har flagget satt IKKE NULL!)
  • INGEN HANDLING- ikke gjør noe, men faktisk er effekten lik RESTRICT

I eksemplet ovenfor la jeg til underordnet tabell Brukerprofil fremmednøkkel for å koble til overordnet tabell Bruker. Når du redigerer et felt bruker-ID og slette posisjoner fra tabellen Bruker lignende endringer vil bli gjort automatisk forekommer også med relaterte poster fra tabellen Brukerprofil.

Når du oppretter et prosjekt, må du ofte legge til oppstartsdata til databasen. Dette kan være rotkategorier, administrative brukere osv. I MySQL Workbench table management er det en fane for dette "Innlegg":

Som man kan se fra eksempelet, hvis en MySQL-funksjon må brukes på dataene før skriving til databasen, gjøres dette ved å bruke syntaksen \func funksjonsnavn("data"), For eksempel, \func md5("passord").

Opprette et EER-diagram (entitetsforholdsdiagram)

For å presentere dataskjemaet, enhetene og deres relasjoner i grafisk form, har MySQL Workbench en EER-diagrameditor. For å lage et diagram øverst på skjermbildet for databasebehandling, dobbeltklikk på ikonet "+Legg til diagram":

I grensesnittet kan du opprette og redigere tabeller, legge til forbindelser mellom dem forskjellige typer. For å legge til en tabell som allerede finnes i diagrammet til diagrammet, drar du den fra panelet "Katalogtre".

For å eksportere et dataskjema til grafisk fil plukke ut "Fil → Eksporter" og deretter ett av alternativene (PNG, SVG, PDF, PostScript-fil).

Importere et eksisterende dataskjema (fra SQL dump)

Hvis vi allerede har et dataskjema, kan det enkelt importeres til MySQL Workbench for videre arbeid. For å importere en modell fra en SQL-fil, velg "Fil → Importer → Reverse Engineer MySQL Opprett skript...", velg deretter ønsket SQL-fil og klikk "Utfør >"

MySQL Workbench gir også import og synkronisering av datamodellen direkte med en ekstern server. For å gjøre dette må du lage kobler ekstern tilgang til MySQL, som jeg vil snakke om i fortsettelsen av denne anmeldelsen.

Demoprosjektet fra artikkelen er tilgjengelig for nedlasting på denne lenken. Jeg ønsker deg suksess og vakre kakerlakker!


Uansett hva databaseutvikleren er: en nybegynner (spesielt) eller en skjeggete profesjonell, er det alltid enklere og mer visuelt for ham å presentere det han jobber med og utvikler. Personlig anser jeg meg selv for å være i den første kategorien og for å forstå materialet jeg ønsker å se visuelt hva jeg designer/utvikler.

I dag er det ulike programmer og verktøy som takler en lignende oppgave: noen er bedre, noen er verre. Men i dag vil jeg gjerne snakke litt om MySQL WorkBench - et visuelt databasedesignverktøy som integrerer databasedesign, modellering, opprettelse og drift i ett enkelt sømløst miljø for MySQL-databasesystemet, som er etterfølgeren til DBDesigner 4 fra FabForce.( c) Wikipedia. MySQL WorkBench er distribuert i to smaker: OSS - Community Edition(distribuert under LGPL-lisens) og S.E. - Standardutgave- versjonen som utviklerne ber om penger for. Men jeg tror at for mange vil det være nok O.S.S. versjon (spesielt for nybegynnere og de som ikke ønsker eller anser det som upassende å betale for programvare, samt tilhengere av åpen kildekode-programmer), dessuten har OSS-versjonen rik funksjonalitet.

Så, som navnet antyder, er dette verktøyet designet for å fungere med MySQL databaser, og støtter et stort antall forskjellige typer MySQL-modeller (se skjermbilde nedenfor) og vil bli et uunnværlig verktøy for bedre forståelse og læring av relasjonsdatabaser (spesielt MySQL) for nybegynnere:

Dermed vil enhver MySQL-utvikler finne det han trenger. I tillegg MySQL arbeidsbenk lar deg koble til en eksisterende database, utføre SQL-spørringer og SQL-skript, redigere og administrere databaseobjekter. Men for de som akkurat har begynt å mestre relasjonsdatabaser, er det mest interessante, etter min mening, muligheten til å lage EER-modeller Database. Dette er med andre ord en visuell representasjon av alle relasjonene mellom tabellene i databasen din, som om nødvendig enkelt kan presenteres i form av et SQL-skript, redigeres eller opprette en ny visning. Men mer om det litt senere. La oss først se hvordan hovedøyet ser ut MySQL arbeidsbenk(5.2.33 rev 7508):
For å lage en EER-modell av databasen din, velg " Lag ny EER-modell" Som et resultat vil vi ha en fane der vi kan legge til/lage diagrammer, tabeller, visninger, prosedyrer; angi ulike tilgangsrettigheter for brukere; lage en modell ved hjelp av SQL-skript. Denne fanen ser slik ut:
Vi vil ikke vurdere prosessen med å lage tabeller og databaser, fordi alt er enkelt her. Jeg vil bare gi den endelige versjonen av den ferdige modellen (se skjermbildene nedenfor). Videre, hvis du holder markøren over tilkoblingslinjen (stiplet linje) til tabellene, vil "forholdet", primærnøkkelen, samt fremmednøkkelen bli uthevet i en annen farge. Holder du markøren over en tabell, vil selve tabellen bli uthevet, samt alle relasjonene som hører til den valgte tabellen.

For å redigere en tabell, høyreklikk på tabellen vi trenger og velg " Rediger tabell... ". Som et resultat vil et ekstra tabellredigeringsområde vises nederst i vinduet, der du kan endre tabellnavn, kolonner, fremmednøkler og mye mer. For å eksportere en tabell til et SQL-skript , bare høyreklikk på tabellen vi trenger og velg " Kopier SQL til utklippstavlen", og lim deretter inn fra utklippstavlen til ønsket plassering/program/fil.

Og nå direkte om installasjon MySQL arbeidsbenk. Naturligvis må du først laste ned MySQL WorkBench. For å gjøre dette, gå til MySQL WorkBench nedlastingssiden, nederst på siden i rullegardinlisten, velg den vi trenger operativsystem. Som et resultat vil vi bli tilbudt flere nedlastingsalternativer:

  • for OS Windows du kan laste ned MSI-installasjonsprogrammet, zip-arkivet til programmet, samt et arkiv med kildekode. For dette OS MySQL arbeidsbenk kan bare lastes ned for 32-biters versjonen av Windows;
  • for brukere Ubuntu valget er litt rikere enn for Windows OS-brukere - vi tilbys å laste ned MySQL arbeidsbenk for Ubuntu-versjoner 10.04, 10.10 (i skrivende stund) og 32- eller 64-biters versjoner av deb-pakker;
  • Til rpm-basert distribusjoner, og i dette tilfellet er disse Fedora, Suse Linux og RedHat/Oracle Linux, MySQL arbeidsbenk sammenstillinger for 32- og 64-biters OS er presentert;
  • Macintosh-brukere har heller ikke glemt - for dem er det en sammenstilling kun for 32-biters OS;
  • Vel, selvfølgelig kan du laste ned kilde programmer;

Så velg det nødvendige nedlastingsalternativet og klikk Nedlasting. Da vil vi bli bedt om å introdusere oss selv: for registrerte brukere - skriv inn login og passord, for nykommere - registrer deg. Hvis du ikke vil presentere deg selv, velg alternativet rett under " "Nei takk, bare ta meg til nedlastingene!" og velg det nærmeste speilet for nedlasting. I tillegg, før installasjon, sørg for at du har installert MySQL-klient,.ellers vil MySQL WorkBench nekte å installere.

Hva Linux-brukere trenger å huske og vite:

Naturligvis, som i tilfellet med Windows OS, glemmer vi ikke MySQL Client. For Ubuntu-brukere må du laste ned versjonen av programmet i samsvar med versjonen av Ubuntu. Under installasjonen, se nøye på feilmeldingene, hvis noen, som sannsynligvis vil fortelle deg hvilke pakker som mangler i operativsystemet ditt. Les om dette nedenfor.

Dessverre vet jeg ikke hvordan ting er med rmp-base distribusjoner, fordi... Jeg har aldri brukt slike distribusjoner, men jeg tror det er omtrent det samme som med debian-baserte.

Du har kanskje lagt merke til at sammenstillingen mangler MySQL arbeidsbenk for OS Debian GNU/Linux. Men som praksis har vist, er det greit. For installasjon MySQL arbeidsbenk i Debian 6.0 (Squeeze) vil vi bruke deb- pakke for Ubuntu 10.04(ikke glem bitdybden til operativsystemet ditt: x86 eller x64). La meg minne deg på at du kan bruke verktøyet for å installere den nedlastede deb-pakken gdebi eller skriv inn kommandoen i konsollen som root:

# dpkg -i mysql-workbench-gpl-5.2.33b-1ubu1004-amd64.deb For eksempel fikk jeg følgende feilmelding mens jeg installerte MySQL WorkBench:
dpkg: pakkeavhengigheter forhindrer at mysql-workbench-gpl-pakken blir konfigurert:
mysql-workbench-gpl avhenger imidlertid av libcairomm-1.0-1 (>= 1.6.4):
Pakken libcairomm-1.0-1 er ikke installert.
mysql-workbench-gpl avhenger imidlertid av libctemplate0:
Pakken libctemplate0 er ikke installert.
mysql-workbench-gpl avhenger av libgtkmm-2.4-1c2a (>= 1:2.20.0), men:
Pakken libgtkmm-2.4-1c2a er ikke installert.
mysql-workbench-gpl avhenger imidlertid av libpangomm-1.4-1 (>= 2.26.0):
Pakken libpangomm-1.4-1 er ikke installert.
mysql-workbench-gpl avhenger av libzip1 (>= 0.9), men:
libzip1-pakken er ikke installert.
mysql-workbench-gpl avhenger imidlertid av python-paramiko:
Python-paramiko-pakken er ikke installert.
mysql-workbench-gpl avhenger imidlertid av python-pysqlite2:
Python-pysqlite2-pakken er ikke installert.
dpkg: kunne ikke behandle alternativet mysql-workbench-gpl (--install):
avhengighetsproblemer - la være ukonfigurert
Det oppstod feil under behandling av følgende pakker:
mysql-workbench-gpl

For å løse denne feilen, alt jeg måtte gjøre var å skrive inn kommandoen i konsollen for å installere noen pakker:

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

For å installere pakkene ovenfor, trenger du flere pakker, som manageren apt vil vennligst tilby å laste ned. Etter å ha installert alle nødvendige pakker, installerer MySQL WorkBench uten problemer.

Det er det: MySQL WorkBench er trygt installert og klar til å lære.

oppdatering:
Hvis jeg ikke tar feil, starter med Ubuntu 12.04 MySQL WorkBench kan finnes i distribusjonens depoter. Følgelig er installasjonsprosessen mye enklere og uten krykker.
For å installere MySQL WorkBench, skriv inn kommandoen i terminalen:
sudo aptitude installer mysql-workbench

OBS, siden WorkBench ble oppdatert, skrev jeg, som består av teorien og praksisen med å bygge en database fra WorkBench.

I kapittel "Alternativer for utenlandsk nøkkel" konfigurere virkemåten til fremmednøkkelen når det tilsvarende feltet endres (PÅ OPPDATERING) og fjerning (PÅ SLETT) foreldrerekord:

  • BEGRENSE– gi en feil når du endrer/sletter en overordnet post
  • CASCADE– oppdater fremmednøkkel når overordnet post endres, slett barnepost når forelder slettes
  • SET NULL– still inn fremmednøkkelverdien NULL ved endring/sletting av forelder (ikke akseptabelt for felt som har flagget satt IKKE NULL!)
  • INGEN HANDLING– ikke gjør noe, men faktisk er effekten lik RESTRICT

Lagring fra modell til ekte/fysisk database

"Fil → Eksporter → Videresend ingeniør MySQL Opprett skript ..."

Vi krysser av for de nødvendige boksene, jeg trengte bare én Generer INSERT-setninger for tabeller. Hvis du trenger å lagre skriptet til en fil, skriv katalogen i feltet ovenfor.

I neste vindu kan du konfigurere hvilke objekter vi skal eksportere. Hvis du ser nøye etter, har vi kun laget 2 tabeller.

Utføre skriptet - lage en database og tabeller

Klikk på "hus" i øvre venstre hjørne av programmet...

Dobbeltklikk deretter på MyConnection….

Denne fanen åpnes foran oss...

Dette er vår tilkobling til serveren, det er her vi skal kjøre skriptet vårt. Vær oppmerksom på at til venstre er databasene som ble opprettet i WorkBench-programmet...

Nå må du gi kommandoen for å utføre dette skriptet, for å gjøre dette, klikk i toppmenyen, Query Execute (Alle eller Utvalg)

Så hvis alt er bra, vil du i det nedre utdatavinduet se alle de "grønne hakene". Og når du klikker på Oppdater inn kontekstmenyen i listen over databaser vil du se den nyopprettede databasen mindatabase1.

Til slutt, la oss bygge et ER-diagram. ER står for Entity Relation - en vellykket "Entity-Relationship"-modell, som spesielt ble utviklet av Peter Chen. Så gå tilbake til modellfanen og klikk på Legg til diagram...

Vi har skapt et en-til-mange forhold. Flere studenter kan studere ved ett fakultet. Vær oppmerksom på at forholdet nær Studenttabellen er delt - dette betyr "for mange".

Så vi opprettet en modell som, gjennom skriptutførelse, en ekte database med tabeller. Og også laget et ER-diagram.




Topp