Hur man bygger en krets i arbetsbänken. Från modell till fysisk databas i MySQL WorkBench. Skapa och redigera en datamodell

Alla webbansvariga måste fördjupa sig i programmering och teknik för att skapa databas efter att ha utvecklat sina resurser.


Efter hand börjar man fördjupa sig i varje detalj, men utbildningsmaterial är inte alltid lätt att hitta. Dessutom vet inte alla om existensen användbara program.

Hur skapar man en MySQL-databas? Du kan skapa tabeller manuellt och upprätta relationer mellan dem, men det är inte så bekvämt.

Den skapades speciellt för detta gratis program Arbetsbänk. Med dess hjälp kan du visuellt skapa MySQL-databaser. Att modellera dem med programvara är enklare, bekvämare och mycket snabbare.

Workbench hjälper dig att skapa en MySQL-databas

Med ett enkelt verktyg behöver du inte längre beskriva strukturen. Programmet genererar koden automatiskt. Ladda ner verktyget från den här webbplatsen, det är lämpligt för alla operativsystem.

Efter normal installation av programmet, för att skapa en MySQL-databas måste du göra följande:

  1. Först måste du öppna ny modell, görs detta via menyn eller tangentkombinationen Ctrl+N:

  2. Det första steget när du skapar en databas är att lägga till en tabell, så vi väljer lämplig funktion:

  3. Därefter fylls tabellen i. Ange namn och attribut, tänk på att ett av attributen är huvudnyckeln, markerad med en kryssruta. Tänk i förväg på hur borden sedan kommer att kopplas till varandra:

  4. Efter att ha fyllt i de nödvändiga uppgifterna, skapa ett diagram för att identifiera relationer mellan ämnen:
  5. Du kommer att se en tabell i arbetsområdet. För enkelhetens skull kan du utöka tabellstrukturerna:

  6. Nu måste du ställa in anslutningar mellan element; detta görs med ett specialverktyg på arbetspanelen:
  7. Som ett resultat bör du ha tabeller presenterade i arbetsytan och relationer etablerade mellan dem:

  8. Genom att dubbelklicka på en anslutning öppnas ett fönster där ytterligare parametrar ställs in:

En webbutvecklare växer med de projekt han skapar och utvecklar. När projekten växer ökar komplexiteten i programvaran, mängden data som den bearbetar ökar oundvikligen, liksom dataschemats komplexitet. Kommunikation med andra webbutvecklare visar att MySQL-databaser är mycket populära bland oss, och att hantera dem - den välkända PHPMyAdmin. Genom att flytta från små projekt till stora, från cms till ramverk, är många, som jag, trogna MySQL. Men för att designa en komplex databas med ett stort antal tabeller och relationer, saknas funktionerna i PHPMyAdmin starkt. Så jag bestämde mig för att skriva en recension MySQL Workbench är ett fantastiskt gratis skrivbordsprogram för att arbeta med MySQL.

I den första delen av recensionen kommer jag att prata om grunderna för att arbeta med programmet, så du kan använda den här artikeln som nybörjarguide. Den andra delen kommer att ägnas åt att använda Workbench i strid när man arbetar med en fjärrserver. I den kommer jag att ge det grundläggande instruktioner och rekommendationer för att konfigurera en serveranslutning och synkronisera med den.

MySQL Workbench- ett verktyg för visuell databasdesign som integrerar design, modellering, skapande och drift av en databas i en enda sömlös miljö för MySQL-databassystemet.

Jag måste säga att programmet är riktigt bra. Det låter dig kasta snabbt och med nöje projektdatascheman, design enheter och förbindelser mellan dem, smärtfritt genomföra förändringar in i schemat och lika snabbt och smärtfritt synkronisera det med en fjärrserver. A grafikredigerare EER-diagram, som påminner om roliga kackerlackor, låter dig se den övergripande bilden av datamodellen och njuta av dess lätthet och elegans :) Efter det första försöket blir det här verktyget en oumbärlig assistent i stridsarsenalen för en webbprogrammerare.

Ladda ner MySQL Workbench

MySQL Workbench-distributionen är tillgänglig på den här sidan. Den senaste versionen av programmet i skrivande stund är Version 6.1. Innan du laddar ner måste du välja en av följande plattformar:

När du har valt en plattform uppmanas du att registrera dig eller logga in på Oracle. Om du inte vill finns det en länk nedan. "Nej tack, starta bara min nedladdning"- Klicka på det ;)

Början av arbetet

Programmets startskärm återspeglar huvudområdena för dess funktionalitet - design av databasmodeller och deras administration:

Överst på skärmen finns en lista med anslutningar till MySQL-servrar av dina projekt, och en lista över de senaste öppna datamodellerna finns längst ner på skärmen. Arbetet börjar vanligtvis med skapa ett dataschema eller ladda en befintlig struktur i MySQL Workbench. Låt oss börja jobba!

Skapa och redigera en datamodell

För att lägga till en modell, klicka på plustecknet bredvid rubriken "Modeller" eller välj "Arkiv → Ny modell" (Ctrl + N):

På den här skärmen anger du databasnamnet, väljer standardkodning och fyller vid behov i kommentarsfältet. Du kan börja skapa tabeller.

Lägga till och redigera en tabell

Listan över projektdatabaser och listan över tabeller i databasen kommer att finnas på fliken "Fysiska scheman". För att skapa en tabell, dubbelklicka på "+Lägg till tabell":

Ett bekvämt gränssnitt öppnas för att redigera listan över fält och deras egenskaper. Här kan vi ställa in fältnamn, datatyp och även ställa in olika attribut för fälten: tilldela fält primärnyckel (PK), markera det Inte null (NN), binär (BIN), unik (UQ) och andra, inställda för fält automatisk ökning (AI) Och standardvärde.

Indexhantering

Du kan lägga till, ta bort och redigera tabellindex på fliken "Index" gränssnitt för tabellhantering:

Ange namnet på indexet, välj dess typ och kontrollera sedan listan över fält som deltar i detta index i önskad ordning. Ordningen på fälten kommer att motsvara den ordning i vilken kryssrutorna markerades. I det här exemplet lade jag till unikt index till fältet Användarnamn.

Relationer mellan tabeller

Att ställa in främmande nycklar och länka tabeller är endast möjligt för tabeller InnoDB(detta lagringssystem är valt som standard). För att hantera relationer har varje tabell en flik "Främmande nycklar":

För att lägga till en anslutning, öppna fliken "Främmande nycklar" barn bord, ange namnet på den främmande nyckeln och välj föräldrabord. Längre i mitten av fliken i kolumnen Kolumn välj nyckelfältet från den underordnade tabellen och i kolumnen Refererad kolumn- motsvarande fält från den överordnade tabellen (fälttyper måste matcha). När du skapar främmande nycklar motsvarande index skapas automatiskt i den underordnade tabellen.

I kapitel "Alternativ för främmande nyckel" konfigurera beteendet för den främmande nyckeln när motsvarande fält ändras (PÅ UPPDATERING) och avlägsnande (PÅ DELETE) föräldrarekord:

  • BEGRÄNSA- kasta ett fel när du ändrar/tar bort en överordnad post
  • KASKAD- uppdatera främmande nyckel när föräldraposten ändras, radera underordnad post när föräldern raderas
  • SÄTT NULL- ställ in den främmande nyckelns värde NULL när du byter/tar bort förälder (inte acceptabelt för fält som har flaggan inställd INTE NULL!)
  • INGEN ACTION- gör ingenting, men i själva verket liknar effekten RESTRICT

I exemplet ovan lade jag till underordnade tabellen Användarprofil främmande nyckel för att länka till överordnad tabell Användare. När du redigerar ett fält användar ID och ta bort positioner från tabellen Användare liknande ändringar kommer att göras automatiskt förekommer även med relaterade poster från tabellen Användarprofil.

När du skapar ett projekt behöver du ofta lägga till startdata till databasen. Dessa kan vara rotkategorier, administrativa användare, etc. I MySQL Workbench-tabellhantering finns en flik för detta "Infogar":

Som framgår av exemplet, om någon MySQL-funktion behöver appliceras på data innan du skriver till databasen, görs detta med syntaxen \func funktionsnamn("data"), Till exempel, \func md5("lösenord").

Skapa ett EER-diagram (entity-relationship diagram)

För att presentera dataschemat, entiteter och deras relationer i grafisk form har MySQL Workbench en EER-diagramredigerare. För att skapa ett diagram överst på databashanteringsskärmen, dubbelklicka på ikonen "+Lägg till diagram":

I dess gränssnitt kan du skapa och redigera tabeller, lägga till relationer mellan dem olika typer. För att lägga till en tabell som redan finns i diagrammet till diagrammet, dra den helt enkelt från panelen "Katalogträd".

Att exportera ett dataschema till grafisk fil Välj "Arkiv → Exportera" och sedan ett av alternativen (PNG, SVG, PDF, PostScript-fil).

Importera ett befintligt dataschema (från SQL-dump)

Om vi ​​redan har ett dataschema kan det enkelt importeras till MySQL Workbench för vidare arbete. För att importera en modell från en SQL-fil, välj "File → Import → Reverse Engineer MySQL Create Script...", välj sedan önskad SQL-fil och klicka "Kör >"

MySQL Workbench tillhandahåller även import och synkronisering av datamodellen direkt med en fjärrserver. För att göra detta måste du skapa förbindelse Fjärranslutning till MySQL, som jag kommer att tala om i fortsättningen av denna recension.

Demoprojektet från artikeln finns tillgängligt för nedladdning på denna länk. Jag önskar dig framgång och vackra kackerlackascheman!


Oavsett vad databasutvecklaren är: nybörjare (särskilt) eller skäggig proffs, är det alltid lättare och mer visuellt för honom att presentera vad han arbetar med och utvecklar. Personligen anser jag mig vara i den första kategorin och för att förstå materialet skulle jag vilja se visuellt vad jag designar/utvecklar.

Idag finns det olika program och verktyg som klarar en liknande uppgift: vissa är bättre, andra är sämre. Men idag skulle jag vilja prata lite om MySQL WorkBench - ett visuellt databasdesignverktyg som integrerar databasdesign, modellering, skapande och drift i en enda sömlös miljö för MySQL-databassystemet, som är efterföljaren till DBDesigner 4 från FabForce.( c) Wikipedia. MySQL WorkBench distribueras i två smaker: OSS - Community Edition(distribueras under LGPL-licens) och S.E. - standard utgåva- versionen som utvecklarna ber om pengar för. Men jag tror att det för många kommer att räcka O.S.S. version (särskilt för nybörjare och de som inte vill eller anser att det är olämpligt att betala för programvara, såväl som anhängare av program med öppen källkod), Dessutom har OSS-versionen rik funktionalitet.

Så, som namnet antyder, är det här verktyget utformat för att fungera med MySQL databaser och stöder ett stort antal olika typer av MySQL-modeller (se skärmdump nedan) och kommer att bli ett oumbärligt verktyg för att bättre förstå och lära sig relationsdatabaser (särskilt MySQL) för nybörjare:

Således kommer vilken MySQL-utvecklare som helst att hitta vad han behöver. Förutom MySQL WorkBench låter dig ansluta en befintlig databas, utför SQL-frågor och SQL-skript, redigera och hantera databasobjekt. Men för de som precis har börjat bemästra relationsdatabaser är det mest intressanta, enligt min mening, möjligheten att skapa EER-modeller Databas. Med andra ord är detta en visuell representation av alla relationer mellan tabellerna i din databas, som vid behov enkelt kan presenteras i form av ett SQL-skript, redigeras eller skapa en ny vy. Men mer om det lite senare. Låt oss först se hur huvudögat ser ut MySQL WorkBench(5.2.33 rev 7508):
För att skapa en EER-modell av din databas, välj " Skapa ny EER-modell" Som ett resultat kommer vi att ha en flik där vi kan lägga till/skapa diagram, tabeller, vyer, procedurer; ställa in olika åtkomsträttigheter för användare; skapa en modell med SQL-skript. Den här fliken ser ut så här:
Vi kommer inte att överväga processen att skapa tabeller och databaser, eftersom allt är enkelt här. Jag kommer bara att ge den slutliga versionen av den färdiga modellen (se skärmdumparna nedan). Dessutom, om du håller markören över anslutningslinjen (streckad linje) i tabellerna, kommer "relationen", den primära nyckeln, såväl som den främmande nyckeln att markeras i en annan färg. Om du för markören över en tabell kommer själva tabellen att markeras, liksom alla relationer som hör till den valda tabellen.

För att redigera en tabell, högerklicka bara på den tabell vi behöver och välj " Redigera tabell... ". Som ett resultat kommer ytterligare ett tabellredigeringsområde att visas längst ner i fönstret, där du kan ändra tabellnamn, kolumner, främmande nycklar och mycket mer. För att exportera en tabell till ett SQL-skript , högerklicka bara på bordet vi behöver och välj " Kopiera SQL till Urklipp", och klistra sedan in från klippbordet till önskad plats/program/fil.

Och nu direkt om installation MySQL WorkBench. Naturligtvis måste du först ladda ner MySQL WorkBench. För att göra detta, gå till MySQL WorkBench nedladdningssida, längst ner på sidan i rullgardinsmenyn, välj den vi behöver operativ system. Som ett resultat kommer vi att erbjudas flera nedladdningsalternativ:

  • för OS Windows du kan ladda ner MSI-installationsprogrammet, zip-arkivet för programmet, samt ett arkiv med källkod. För detta OS MySQL WorkBench kan endast laddas ner för 32-bitarsversionen av Windows;
  • för användare Ubuntu valet är lite rikare än för Windows OS-användare - vi erbjuds att ladda ner MySQL WorkBench för Ubuntu versioner 10.04, 10.10 (i skrivande stund) och 32- eller 64-bitarsversioner av deb-paket;
  • För rpm-baserad distributioner, och i det här fallet är dessa Fedora, Suse Linux och RedHat/Oracle Linux, MySQL WorkBench sammanställningar för 32- och 64-bitars OS presenteras;
  • Macintosh-användare har inte heller glömt - för dem finns det en montering endast för 32-bitars OS;
  • Jo, självklart kan du ladda ner källa program;

Så välj önskat nedladdningsalternativ och klicka Ladda ner. Då kommer vi att bli ombedda att presentera oss: för registrerade användare - ange ditt användarnamn och lösenord, för nykomlingar - registrera dig. Om du inte vill presentera dig själv, välj alternativet precis nedanför " "Nej tack, ta mig bara till nedladdningarna!" och välj närmaste spegel för nedladdning. Dessutom, innan installation, se till att du har installerat MySQL-klient,.annars vägrar MySQL WorkBench att installera.

Vad Linux-användare behöver komma ihåg och veta:

Naturligtvis, som i fallet med Windows OS, glömmer vi inte MySQL Client. För Ubuntu-användare måste du ladda ner versionen av programmet i enlighet med versionen av din Ubuntu. Under installationen, titta noga på eventuella felmeddelanden som förmodligen kommer att berätta vilka paket som saknas i ditt operativsystem. Läs om detta nedan.

Tyvärr vet jag inte hur det är med rmp-basdistributioner, eftersom... Jag har aldrig använt sådana distributioner, men jag tror att det är ungefär detsamma som med debianbaserade.

Du kanske har märkt att monteringen saknas MySQL WorkBench för OS Debian GNU/Linux. Men som praktiken har visat är det okej. För installation MySQL WorkBench i Debian 6.0 (Squeeze) kommer vi att använda deb- paket för Ubuntu 10.04(glöm inte bitdjupet på ditt operativsystem: x86 eller x64). Låt mig påminna dig om att du kan använda verktyget för att installera det nedladdade deb-paketet gdebi eller ange kommandot i konsolen som root:

# dpkg -i mysql-workbench-gpl-5.2.33b-1ubu1004-amd64.deb Till exempel fick jag följande fel när jag installerade MySQL WorkBench:
dpkg: paketberoende hindrar paketet mysql-workbench-gpl från att konfigureras:
mysql-workbench-gpl beror på libcairomm-1.0-1 (>= 1.6.4), dock:
Paketet libcairomm-1.0-1 är inte installerat.
mysql-workbench-gpl beror på libctemplate0, dock:
Paketet libctemplate0 är inte installerat.
mysql-workbench-gpl beror på libgtkmm-2.4-1c2a (>= 1:2.20.0), dock:
Paketet libgtkmm-2.4-1c2a är inte installerat.
mysql-workbench-gpl beror på libpangomm-1.4-1 (>= 2.26.0), dock:
Paketet libpangomm-1.4-1 är inte installerat.
mysql-workbench-gpl beror på libzip1 (>= 0.9), dock:
Paketet libzip1 är inte installerat.
mysql-workbench-gpl beror på python-paramiko, dock:
Paketet python-paramiko är inte installerat.
mysql-workbench-gpl beror på python-pysqlite2, dock:
Paketet python-pysqlite2 är inte installerat.
dpkg: misslyckades med att bearbeta alternativet mysql-workbench-gpl (--install):
beroendeproblem - lämna okonfigurerad
Fel uppstod under bearbetningen av följande paket:
mysql-workbench-gpl

För att lösa det här felet behövde jag bara skriva kommandot i konsolen för att installera några paket:

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

För att installera ovanstående paket behöver du ytterligare paket, som chefen benägen erbjuder dig att ladda ner. Efter att ha installerat alla nödvändiga paket installeras MySQL WorkBench utan problem.

Det var allt: MySQL WorkBench är säkert installerat och redo att lära sig.

upd:
Om jag inte har fel, från och med Ubuntu 12.04 kan MySQL WorkBench hittas i distributionsförråden. Följaktligen är installationsprocessen mycket enklare och utan kryckor.
För att installera MySQL WorkBench, skriv bara in kommandot i terminalen:
sudo aptitude installera mysql-workbench

Observera, eftersom WorkBench har uppdaterats, skrev jag, som består av teorin och praktiken att bygga en databas från WorkBench.

I kapitel "Alternativ för främmande nyckel" konfigurera beteendet för den främmande nyckeln när motsvarande fält ändras (PÅ UPPDATERING) och avlägsnande (PÅ DELETE) föräldrarekord:

  • BEGRÄNSA– skicka ett fel när du ändrar/tar bort en överordnad post
  • KASKAD– uppdatera främmande nyckel när föräldraposten ändras, radera underordnad post när föräldern raderas
  • SÄTT NULL– ställ in den främmande nyckelns värde NULL när du byter/tar bort förälder (inte acceptabelt för fält som har flaggan inställd INTE NULL!)
  • INGEN ACTION– gör ingenting, men i själva verket liknar effekten RESTRICT

Spara från modell till verklig/fysisk databas

"File → Export→ Forward Engineer MySQL Create Script..."

Vi kryssar i de nödvändiga rutorna, jag behövde bara en Generera INSERT-satser för tabeller. Om du behöver spara skriptet till en fil, skriv in katalogen i fältet ovan.

I nästa fönster kan du konfigurera vilka objekt vi ska exportera. Om du tittar noga har vi bara skapat 2 tabeller.

Exekvera skriptet - skapa en databas och tabeller

Klicka på "hus" i programmets övre vänstra hörn...

Dubbelklicka sedan på MyConnection….

Den här fliken öppnas framför oss...

Det här är vår anslutning till servern, det är här vi kommer att köra vårt skript. Observera att till vänster finns databaserna som skapades i WorkBench-programmet...

Nu måste du ge kommandot för att köra det här skriptet, för att göra detta, klicka i toppmenyn, Fråga Execute (Alla eller Urval)

Så om allt är bra, kommer du att se alla "gröna bockar" i det nedre utmatningsfönstret. Och när du klickar på Uppdatera in innehållsmeny i listan över databaser kommer du att se den nyskapade databasen mydatabase1.

Slutligen, låt oss bygga ett ER-diagram. ER står för Entity Relation - en framgångsrik "Entity-Relationship"-modell, som i synnerhet utvecklades av Peter Chen. Så, gå tillbaka till modellfliken och klicka på Lägg till diagram...

Vi har skapat en en-till-många-relation. Flera studenter kan studera vid en fakultet. Observera att förhållandet nära Elevtabellen är delat - detta betyder "för många".

Så vi skapade en modell, från vilken, genom skriptkörning, en riktig databas med tabeller. Och skapade också ett ER-diagram.




Topp