Mysql arbeidsbenk handler om operatører. Rask start: Visuell databasedesign i MySQL Workbench. Legge til og redigere data

MySQL Workbench - programvare, laget for databasedesign. Det er en katalog med verktøy for drift og modellering av databasen. Produktet er preget av høy ytelse.

Bruk av programvaren anbefales under en kompleks overgang. Tabellene viser lagrede prosesser og fremmednøkler. Et integrert skall støttes som lar deg skrive skript. Først av alt er programmet et designverktøy for visuell grafisk presentasjon. Det er en editor som lar deg justere forespørsler og deretter sende dem gjennom serveren. Aksepterte svar presenteres i form av tabeller. Når visningen er gjengitt, har brukeren fortsatt muligheten til å gjøre endringer.

Last ned den fullstendige russiske versjonen av MySQL Workbench gratis fra den offisielle nettsiden uten registrering og SMS.

Systemkrav

  • Støttet operativsystem: Windows 10, Vista, 8.1, XP, 7, 8
  • Bitdybde: 64 bit, 32 bit, x86

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 ved hjelp 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-serverne til prosjektene dine, og en liste over de siste å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 relasjoner av ulike typer mellom dem. 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 forbindelse fjerntilgang 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!

Med bruken av MySQL Workbench-programmet som en del av MySQL, har prosessen med å lage databaser (DB-er) blitt betydelig forenklet. Tross alt, det som tidligere måtte gjøres manuelt ved hjelp av et SQL-skript og kommandolinje, kan nå gjøres "i visuell modus" ved hjelp av en vennlig GUI.

La oss se på prosessen med å lage en database ved hjelp av MySQL Workbench mer detaljert.

Skjermbildet nedenfor viser en generell visning av MySQL Workbench-programvinduet.

For å opprette en database må du høyreklikke i venstre panel i området med databaselisten (angitt som SCHEMAS) og i kontekstmenyen velg "Opprett skjema".

Etter dette vil det dukke opp en fane der du skal angi navnet på den nye databasen og angi sorteringsparametrene. Databasen vil for eksempel få navnet min nye database. Du kan enten velge sorteringsalternativer fra rullegardinlisten eller la de som tilbys som standard (i dette eksemplet er standardalternativene igjen).

Etter dette, for å fortsette å opprette databasen, klikk på "Bruk"-knappen. Dialogboksen som vises vil vise databaseopprettingsskriptet generert av MySQL Workbench. Om nødvendig kan dette skriptet redigeres direkte i dette vinduet.

Øverst i vinduet er det et Online DDL-område. Det er ment å angi parametere for utførelse av skript. Disse parameterne kan være nyttige når du skal manipulere en eksisterende database. Når du oppretter en database, anbefales det å forlate standardverdiene ("Standard").

Hensikten med dette innlegget er å hjelpe en nybegynnerutvikler raskt å bli vant til og designe en enkel database ved å bruke det visuelle databasedesignverktøyet MySQL Workbench fra Oracle og få tak i ER-modellen og SQL-dumpen.

Vel, mindre ord og mer mening! Utseende programvinduet, ser delen "Datamodellering" slik ut:

For å åpne en eksisterende modell, klikk på lenken: Åpne eksisterende EER-modell, for å lage en ny modell – velg alternativet: Lag ny EER-modell For å lage en enhetsrelasjonsmodell fra en eksisterende database, klikk på parameteren: Lag EER-modell fra eksisterende database, og for å lage en EER-modell fra et SQL-skript må du velge: Lag EER-modell fra SQL-skript.
For å lage en ny modell, bruk koblingen Opprett ny EER-modell; etter å ha klikket på den, vil et vindu med parametere vises:

Først må du lage tabeller, for å gjøre dette, klikk på knappen Legg til tabell, vises følgende skjema:

La oss først lage en tabell brukere, som vil lagre brukerdata informasjon System, i felt tabellnavn skriv inn tabellnavnet i skjemadelen Kolonner La oss lage tabellfelt:
- Første felt id vil inneholde et unikt brukernummer, angi egenskapene: Automatisk økning, ikke null, primærnøkkel Og Unik, I kapittel Data-type velg en heltallstype heltall.
- Andre felt fio, hvor det skal lagres FULLT NAVN. bruker, angi egenskapsfeltet: Ikke null, Primærnøkkel, I kapittel Data-type velg strengtype VARCHAR 255 .
- Tredje felt Logg Inn, vil inneholde brukerinnloggingen, må den være unik, som feltet id, så la oss angi egenskapen Unik og angi antall tegn 255 .
- Følgende felt: passord som inneholder passordet, e_post som inneholder adressen E-post og felt type som inneholder brukertypen vil være uten spesielle egenskaper, med en strengtype VARCHAR lang inn 255 tegn bortsett fra det siste feltet type som har nok 45 tegn.
Etter de fullførte manipulasjonene, et skjema med tabellnavnet brukere vil se slik ut:

En tabell vil vises på diagrammet brukere med felt og indekser:

La oss lage en tabell på en lignende måte innstillinger med tilgangsinnstillinger til IS-databasen som inneholder felt id, vert for å spesifisere vertsnavnet (serveradresse), db– databasenavn, bruker Og passord med brukernavn og passord for å installere IS på en ekstern server.

Deretter, ved å bruke den allerede kjente metoden, vil vi lage en bordbutikk som vil lagre data om butikker i feltene: id type heltall– nøkkel, ikke-null, unik med automatisk inkrementfelt Navn lagrer butikknavnet, felt adresse– hans fysiske adresse, felt tlf- lagre telefonnummer, nettstedet– nettbutikk nettside og felt e-post med butikkens e-postadresse.

La oss så lage en tabell Produkter lagring av data om butikkprodukter i feltene: id type heltall– nøkkel, ikke-null, unik med automatisk økning, navnefelt som lagrer navnet på butikken, nøkkel, ikke-null-felt av heltallstype shop_id lagre butikknummeret, felt type_id med informasjon om produktnummer fra tabellen over produkttyper. Merkefelt – produsentens merke, 255 tegn langt, felt modell– med produktmodell, felt data– med data og egenskaper for produkttypen Liten tekst, felt img med den fullstendige adressen til produktbildet, 255 tegn langt, og prisfeltet med prisen på produktet og garanti med informasjon om garantiperioden for produktet, 45 tegn lang.

Tabeller vi laget innstillinger, butikker Og Produkter se slik ut:

Deretter trenger vi et bord som lagrer typen produkter Produkttype, består den av et unikt nøkkelfelt uten null id med automatisk økning av en heltallstype, og et unikt navnefelt på 255 tegn, som inneholder navnet på produkttypen.

Tabellen ser slik ut:

De to siste tabellene er bestillinger Og leveranser, den første inneholder informasjon om kundebestillinger, og den siste inneholder informasjon om produktlevering.

Tabellfelt bestillinger: id nøkkel, ikke-null, unikt felt av heltallstype med automatisk økning, felt shop_id som inneholder butikknummeret - et nøkkelfelt som ikke er null Produkt ID lagring av produktnummeret - et nøkkelfelt som ikke er null heltall fio Dato med bestillingsdato – type DATO, felt mengde med antall bestilte varer – heltallstype, felt tlf med kundens telefonnummer – en strengtype på 255 tegn og et bekreftelsesfelt som inneholder informasjon om ordrebekreftelse – en logisk type.

Tabellfelt leveranser: Bestillings ID med ordrenummer - nøkkel, ikke-null, unikt felt av heltallstype med automatisk økning, feltfelt fio med nummeret til brukeren som foretok bestillingen - et nøkkelfelt som ikke er null adresse lagring av leveringsadressen til varene spesifisert av klienten - en streng type 255 tegn lang, felt tid lagring av ønsket leveringstid for varene - en streng type 255 tegn lang, felt Dato med datoen kunden la inn bestillingen - type DATO og et boolsk felt bekrefte lagring av informasjon om levering av varer.

Tabeller bestillinger Og leveranser se slik ut:

Tabellforhold

Vi har laget en database som består av syv tabeller, nå må vi koble sammen tabellene, vi har allerede laget nøkkelfelt av heltallstypen, de vil bli grunnlaget for kobling.
For eksempel å koble sammen to tabeller Produkter Og Produkttype, må du dobbeltklikke med venstre museknapp på diagrammet med produkttabellen og velge fanen fremmednøkler(fremmednøkler), lenger inn i feltet Navn på utenlandsk nøkkel skriv inn et unikt navn for fremmednøkkelen, dobbeltklikk på fanen Referert tabell og velg tabellen Produkttype, og velg deretter referansefeltet i skjemaet til høyre type_id og velg feltet fra popup-listen id.

Dermed er begge feltene i tabellen koblet sammen, da må du angi type forhold mellom tabellene, åpne et vindu ved å klikke på forholdet mellom tabellene som vises, og velg fanen Utenlandsk nøkkel og i seksjonen Kardinalitet Velg en-til-mange-tilkoblingstypen og lukk vinduet. Diagrammet viser forholdet mellom tabellene:

På lignende måte kobler vi alle nøkkelfeltene i tabellene slik at de er logisk sammenkoblet, så må vi sørge for at den utformede databasen tilsvarer den tredje normal form.

Normal form- en egenskap ved en relasjon i en relasjonsdatamodell, som karakteriserer den fra et redundanssynspunkt, som potensielt kan føre til logisk feilaktige resultater av sampling eller endring av data. Normalform er definert som et sett med krav som en relasjon skal tilfredsstille.

I relasjonsmodellen er en relasjon alltid i første normalform etter definisjon av begrepet relasjon. Når det gjelder de forskjellige tabellene, kan det hende at de ikke er korrekte representasjoner av relasjoner, og de kan følgelig ikke være i første normalform. En relasjonsvariabel er i andre normalform hvis og bare hvis den er i første normalform og hvert ikke-nøkkelattributt er irreduserbart (funksjonelt komplett) avhengig av kandidatnøkkelen. En database vil være i tredje normalform hvis den reduseres til andre normalform og hver ikke-nøkkelkolonne er uavhengig av hverandre.

Dermed er vår base i tredje normalform, fordi Hver ikke-nøkkelkolonne er uavhengig av hverandre. Dette er tydelig synlig i databasediagrammet vårt:

De fleste tabeller er i en-til-mange-forhold, med unntak av tabeller leveranser Og bestillinger i et en-til-en forhold, fordi levert, kan det kun være én ordre, dvs. Én ordre har kun én levering. De resterende forbindelsene er tydelig angitt ovenfor.

La oss nå laste opp databasen vår til serveren. For å gjøre dette, opprette en ny tilkobling til databasen ved å klikke på lenken Ny tilkobling i programstartvinduet:

Fyll deretter ut feltene i vinduet som åpnes:

Angi tilkoblingsnavnet i feltet Tilkoblingsnavn, velg tilkoblingsmetoden fra listen Tilkoblingsmetode, angi vertsnavnet og porten i fanen Parametere, angi brukernavn og passord hvis du har et og klikk på OK-knappen. Åpne deretter fanen EER-diagram, velg elementet i panelet Database og klikk på parameteren Forward Engineer:

Etter at vinduet vises, klikk på knappen "Neste", velg parameteren Eksporter MySQL-tabellobjekter og trykk på knappen "Neste":

Etter å ha klikket på knappen vil en fane med SQL-kode vises, du kan lagre den ved å klikke på knappen "Lagre til fil" om nødvendig og trykk deretter på knappen "Neste". Et vindu med tilkoblingsparametere vises:

Vi sjekker om tilkoblingsparametrene er riktige og klikker på knappen "Henrette", hvis SQL-koden ikke inneholder feil, vil vi etter å ha kjørt koden se et vindu med en liste over tabeller, ellers vil en feilmelding vises. Nå er databasen vår lastet opp til serveren.

Takk for oppmerksomheten, last ned selve programmet.

UPD:

Noen innbyggere i Khabra var interessert i muligheten for å vise tabellforbindelseslinjer i felt-til-felt-modus

etter råd fra en av brukerne vil jeg gi en kort forklaring på hvordan du endrer utseendet til relasjoner og tabeller, for å gjøre dette må du velge følgende alternativ i menydelen Relasjonsnotasjon:

Etter dette vil tabellrelasjonene ha formen:

Det er også mulig å endre type tabeller; for å gjøre dette, må du merke av i boksen i delen ovenfor av menyen og i det følgende Objektnotasjon:

Slik ser tabellen på diagrammet ut justert til IDEF1X-standarden:

Takk for omtenksomme kommentarer!




Topp