Comment construire un circuit dans Workbench. Du modèle à la base de données physique dans MySQL WorkBench. Création et modification d'un modèle de données

Tous les webmasters doivent se plonger dans les technologies de programmation et de création de bases de données après avoir développé leurs ressources.


Petit à petit, vous commencez à approfondir chaque détail, mais le matériel de formation n'est pas toujours facile à trouver. De plus, tout le monde ne connaît pas l'existence programmes utiles.

Comment créer une base de données MySQL ? Vous pouvez créer des tables manuellement et établir des relations entre elles, mais ce n'est pas si pratique.

Il a été créé spécialement pour cela programme gratuit Table de travail. Avec son aide, vous pouvez créer visuellement des bases de données MySQL. Les modéliser à l’aide d’un logiciel est plus simple, plus pratique et beaucoup plus rapide.

Workbench vous aidera à créer une base de données MySQL

Avec un outil simple, vous n'avez plus besoin de décrire la structure. Le programme génère le code automatiquement. Téléchargez l'utilitaire depuis ce site, il convient à n'importe quel système d'exploitation.

Après l'installation normale du programme, pour créer une base de données MySQL, vous devez procéder comme suit :

  1. Vous devez d'abord ouvrir nouveau modèle, cela se fait via le menu ou la combinaison de touches Ctrl+N :

  2. La première étape lors de la création d'une base de données est d'ajouter une table, nous sélectionnons donc la fonction appropriée :

  3. Ensuite, le tableau est rempli. Spécifiez le nom et les attributs, gardez à l'esprit que l'un des attributs est la clé principale, marquée d'une case à cocher. Réfléchissez à l'avance à la manière dont les tables seront ensuite connectées les unes aux autres :

  4. Après avoir rempli les données requises, créez un diagramme pour identifier les relations entre les sujets :
  5. Vous verrez une table dans la zone de travail. Pour plus de commodité, vous pouvez développer les structures des tables :

  6. Vous devez maintenant définir les connexions entre les éléments ; cela se fait avec un outil spécial sur le panneau de travail :
  7. En conséquence, vous devriez avoir des tableaux présentés dans l'espace de travail et des relations établies entre eux :

  8. Un double-clic sur une connexion ouvre une fenêtre dans laquelle des paramètres supplémentaires sont définis :

Un développeur Web grandit avec les projets qu'il crée et développe. À mesure que les projets se développent, la complexité du logiciel augmente, la quantité de données qu'il traite augmente inévitablement, ainsi que complexité du schéma de données. La communication avec d'autres développeurs Web montre que les bases de données MySQL sont très populaires parmi nous et que pour les gérer, il est bien connu PHPMonAdmin. Passant des petits projets aux grands, des cms aux frameworks, beaucoup, comme moi, restent fidèles à MySQL. Cependant, pour concevoir une base de données complexe comportant un grand nombre de tables et de relations, les capacités de PHPMyAdmin font cruellement défaut. J'ai donc décidé d'écrire une critique MySQL Workbench est un excellent programme de bureau gratuit pour travailler avec MySQL.

Dans la première partie de la revue, je parlerai des bases mêmes du travail avec le programme, vous pouvez donc utiliser cet article comme Guide du débutant. La deuxième partie sera consacrée à l'utilisation de Workbench en combat lorsque vous travaillez avec un serveur distant. Dans ce document, je donnerai les bases instructions et des recommandations pour configurer une connexion au serveur et la synchronisation avec celui-ci.

Établi MySQL- un outil de conception visuelle de bases de données qui intègre la conception, la modélisation, la création et l'exploitation d'une base de données dans un environnement unique et transparent pour le système de base de données MySQL.

Je dois dire que le programme est vraiment génial. Il permet de lancer rapidement et avec plaisir schémas de données de projet, conception entités et connexions entre eux, sans douleur mettre en œuvre des changements dans le schéma et tout aussi rapidement et sans douleur synchroniser avec un serveur distant. UN éditeur graphique Diagrammes EER, qui rappelle de drôles de cafards, permet d'avoir une vue d'ensemble du modèle de données et de profiter de sa légèreté et de son élégance :) Après le premier essai, cet outil devient un assistant indispensable dans l'arsenal de combat d'un programmeur web.

Télécharger MySQL Workbench

La distribution MySQL Workbench est disponible sur cette page. La dernière version du programme au moment de la rédaction est Version 6.1. Avant de télécharger, vous devez sélectionner l'une des plateformes suivantes :

Après avoir choisi une plateforme, vous êtes invité à vous inscrire ou à vous connecter à Oracle. Si vous ne le souhaitez pas, il y a un lien ci-dessous. "Non merci, lancez simplement mon téléchargement"- Clique dessus ;)

Début des travaux

L'écran de démarrage du programme reflète les principaux domaines de ses fonctionnalités - la conception de modèles de bases de données et leur administration :

En haut de l'écran se trouve une liste de connexions à Serveurs MySQL de vos projets, et une liste des derniers modèles de données ouvertes se trouve en bas de l'écran. Le travail commence généralement par créer un schéma de données ou charger une structure existante dans MySQL Workbench. Mettons-nous au travail!

Création et modification d'un modèle de données

Pour ajouter un modèle, cliquez sur le signe plus à côté de l'en-tête "Modèles" ou sélectionnez "Fichier → Nouveau modèle" (Ctrl + N) :

Sur cet écran, saisissez le nom de la base de données, sélectionnez l'encodage par défaut et, si nécessaire, remplissez le champ commentaire. Vous pouvez commencer à créer des tableaux.

Ajouter et modifier un tableau

La liste des bases de données du projet et la liste des tables au sein de la base de données se trouveront dans l'onglet "Schémas physiques". Pour créer un tableau, double-cliquez sur "+Ajouter un tableau" :

Une interface pratique s'ouvrira pour modifier la liste des champs et leurs propriétés. Ici, nous pouvons définir le nom du champ, le type de données, ainsi que divers attributs pour les champs : attribuer un champ clé primaire (PK), note le Non nul (NN), binaire (BIN), unique (UQ) et d'autres, définis pour le terrain incrémentation automatique (IA) Et valeur par défaut.

Gestion des index

Vous pouvez ajouter, supprimer et modifier des index de table dans l'onglet "Index" interface de gestion des tables :

Saisissez le nom de l'index, sélectionnez son type, puis vérifiez la liste des champs participant à cet index dans l'ordre souhaité. L'ordre des champs correspondra à l'ordre dans lequel les cases ont été cochées. Dans cet exemple, j'ai ajouté indice unique sur le terrain nom d'utilisateur.

Relations entre les tables

La définition de clés étrangères et la liaison de tables ne sont possibles que pour les tables InnoDB(ce système de stockage est sélectionné par défaut). Pour gérer les relations, chaque table possède un onglet "Clés étrangères" :

Pour ajouter une connexion, ouvrez l'onglet "Clés étrangères" table enfant, saisissez le nom de la clé étrangère et sélectionnez table parent. Plus loin au milieu de l'onglet dans la colonne Colonne sélectionnez le champ clé de la table enfant, et dans la colonne Colonne référencée- le champ correspondant de la table parent (les types de champs doivent correspondre). Lors de la création de clés étrangères les index correspondants sont automatiquement créés dans la table enfant.

Au chapitre "Options de clé étrangère" configurer le comportement de la clé étrangère lorsque le champ correspondant change (SUR MISE À JOUR) et retrait (SUR SUPPRIMER) enregistrement parent :

  • LIMITER- génère une erreur lors de la modification/suppression d'un enregistrement parent
  • CASCADE- mettre à jour la clé étrangère lorsque l'enregistrement parent change, supprimer l'enregistrement enfant lorsque le parent est supprimé
  • FIXER NULL- définir la valeur de la clé étrangère NUL lors du changement/suppression du parent (non acceptable pour les champs dont l'indicateur est défini PAS NUL !)
  • PAS D'ACTION- ne rien faire, mais en fait l'effet est similaire à RESTRICT

Dans l'exemple ci-dessus, j'ai ajouté à la table enfant Profil de l'utilisateur clé étrangère pour créer un lien vers la table parent Utilisateur. Lors de la modification d'un champ ID de l'utilisateur et supprimer des positions du tableau Utilisateur des changements similaires seront apportés automatiquement se produisent également avec les enregistrements associés de la table Profil de l'utilisateur.

Lors de la création d'un projet, vous devez souvent ajouter des données de démarrage à la base de données. Il peut s'agir de catégories racine, d'utilisateurs administratifs, etc. Dans la gestion des tables MySQL Workbench, il y a un onglet pour cela "Inserts" :

Comme le montre l'exemple, si une fonction MySQL doit être appliquée aux données avant d'écrire dans la base de données, cela se fait en utilisant la syntaxe \func functionName("données"), Par exemple, \func md5("mot de passe").

Création d'un diagramme EER (diagramme entité-relation)

Pour présenter le schéma de données, les entités et leurs relations sous forme graphique, MySQL Workbench dispose d'un éditeur de diagramme EER. Pour créer un diagramme en haut de l'écran de gestion de la base de données, double-cliquez sur l'icône "+Ajouter un diagramme" :

Dans son interface, vous pouvez créer et éditer des tableaux, ajouter des relations entre eux divers types. Pour ajouter un tableau qui existe déjà dans le diagramme au diagramme, faites-le simplement glisser depuis le panneau "Arbre du catalogue".

Pour exporter un schéma de données vers fichier graphique sélectionner "Fichier → Exporter" et puis une des options (PNG, SVG, PDF, fichier PostScript).

Importation d'un schéma de données existant (à partir d'un dump SQL)

Si nous disposons déjà d'un schéma de données, il peut être facilement importé dans MySQL Workbench pour un travail ultérieur. Pour importer un modèle à partir d'un fichier SQL, sélectionnez "Fichier → Importer → Reverse Engineer MySQL Créer un script...", puis sélectionnez le fichier SQL requis et cliquez sur "Exécuter >"

MySQL Workbench permet également l'importation et la synchronisation du modèle de données directement avec un serveur distant. Pour ce faire, vous devrez créer connexion accès à distance vers MySQL, dont je parlerai dans la suite de cette revue.

Le projet de démonstration de l'article est disponible en téléchargement sur ce lien. Je vous souhaite du succès et de beaux projets de cafards !


Quel que soit le développeur de base de données : débutant (surtout) ou professionnel barbu, il est toujours plus simple et plus visuel pour lui de présenter ce sur quoi il travaille et développe. Personnellement, je me considère comme faisant partie de la première catégorie et pour comprendre le matériel, j'aimerais voir visuellement ce que je conçois/développe.

Il y a aujourd'hui divers programmes et des outils qui font face à une tâche similaire : certains sont meilleurs, d'autres sont pires. Mais aujourd'hui, je voudrais parler un peu de MySQL WorkBench - un outil de conception de base de données visuelle qui intègre la conception, la modélisation, la création et le fonctionnement de bases de données dans un seul environnement transparent pour le système de base de données MySQL, qui est le successeur de DBDesigner 4 de FabForce.( c) Wikipédia. MySQL WorkBench est distribué en deux versions : OSS - Édition communautaire(distribué sous licence LGPL) et S.E. - édition standard- la version pour laquelle les développeurs demandent de l'argent. Mais je pense que pour beaucoup ce sera suffisant O.S.S. version (en particulier pour les débutants et ceux qui ne veulent pas ou considèrent qu'il est inapproprié de payer pour un logiciel, ainsi que les partisans des programmes open source), de plus, la version OSS possède de riches fonctionnalités.

Ainsi, comme son nom l'indique, cet outil est conçu pour fonctionner avec MySQL des bases de données, et prend en charge un grand nombre de types différents de modèles MySQL (voir capture d'écran ci-dessous) et deviendra un outil indispensable pour mieux comprendre et apprendre les bases de données relationnelles (notamment MySQL) pour les débutants :

Ainsi, tout développeur MySQL trouvera ce dont il a besoin. En plus MySQL Workbench permet de connecter une base de données existante, d'effectuer Requêtes SQL et des scripts SQL, éditer et gérer des objets de bases de données. Mais pour ceux qui commencent tout juste à maîtriser les bases de données relationnelles, le plus intéressant, à mon avis, est la possibilité de créer Modèles EER Base de données. En d'autres termes, il s'agit d'une représentation visuelle de toutes les relations entre les tables de votre base de données, qui, si nécessaire, peut facilement être présentée sous la forme d'un script SQL, éditée ou créée une nouvelle vue. Mais nous en reparlerons un peu plus tard. Voyons d’abord à quoi ressemble l’œil principal MySQL Workbench(5.2.33 rév 7508):
Afin de créer un modèle EER de votre base de données, sélectionnez " Créer un nouveau modèle EER" En conséquence, nous aurons un onglet dans lequel nous pourrons ajouter/créer des graphiques, des tableaux, des vues, des procédures ; définir divers droits d'accès pour les utilisateurs ; créer un modèle à l'aide de scripts SQL. Cet onglet ressemble à ceci :
Nous ne considérerons pas le processus de création de tables et de bases de données, car tout est simple ici. Je ne donnerai que la version finale du modèle fini (voir les captures d'écran ci-dessous). De plus, si vous passez le curseur sur la ligne de connexion (ligne pointillée) des tables, alors la « relation », la clé primaire, ainsi que la clé étrangère seront mises en évidence dans une couleur différente. Si vous passez le curseur sur un tableau, le tableau lui-même sera mis en surbrillance, ainsi que toutes les relations appartenant au tableau sélectionné.

Pour modifier un tableau, faites un clic droit sur le tableau dont nous avons besoin et sélectionnez " Modifier le tableau... ". En conséquence, une zone d'édition de table supplémentaire apparaîtra en bas de la fenêtre, dans laquelle vous pourrez modifier le nom de la table, les colonnes, les clés étrangères et bien plus encore. Afin d'exporter une table vers un script SQL , faites un clic droit sur le tableau dont nous avons besoin et choisissez " Copier SQL dans le Presse-papiers", puis collez-le depuis le presse-papiers vers l'emplacement/programme/fichier souhaité.

Et maintenant directement à propos installation MySQL WorkBench. Naturellement, vous devez d’abord télécharger MySQL WorkBench. Pour ce faire, rendez-vous sur la page de téléchargement de MySQL WorkBench, en bas de page dans la liste déroulante, sélectionnez celui dont nous avons besoin système opérateur. De ce fait, plusieurs options de téléchargement nous seront proposées :

  • pour le système d'exploitation les fenêtres vous pouvez télécharger le programme d'installation MSI, l'archive zip du programme, ainsi qu'une archive avec le code source. Pour ce système d'exploitation MySQL Workbench ne peut être téléchargé que pour la version 32 bits de Windows ;
  • pour les utilisateurs Ubuntu le choix est un peu plus riche que pour les utilisateurs de Windows OS - on nous propose de télécharger MySQL Workbench pour les versions Ubuntu 10.04, 10.10 (au moment de la rédaction) et les versions 32 ou 64 bits des packages deb ;
  • Pour basé sur le régime distributions, et dans ce cas il s'agit de Fedora, Suse Linux et RedHat/Oracle Linux, MySQL Workbench des assemblys pour les systèmes d'exploitation 32 et 64 bits sont présentés ;
  • Les utilisateurs de Macintosh n'ont pas oublié non plus : pour eux, il existe un assemblage uniquement pour le système d'exploitation 32 bits ;
  • Eh bien, bien sûr, vous pouvez télécharger source programmes;

Alors, sélectionnez l’option de téléchargement requise et cliquez sur Télécharger. Ensuite, il nous sera demandé de nous présenter : pour les utilisateurs enregistrés - entrez votre identifiant et votre mot de passe, pour les nouveaux arrivants - inscrivez-vous. Si vous ne souhaitez pas vous présenter, alors sélectionnez l'option juste en dessous " "Non merci, emmenez-moi simplement vers les téléchargements !" et sélectionnez le miroir le plus proche pour le téléchargement. De plus, avant l'installation, assurez-vous d'avoir installé Client MySQL,.sinon MySQL WorkBench refusera de s'installer.

Ce que les utilisateurs de Linux doivent retenir et savoir :

Naturellement, comme dans le cas du système d'exploitation Windows, nous n'oublions pas le client MySQL. Pour les utilisateurs d'Ubuntu, vous devez télécharger la version du programme en fonction de la version de votre Ubuntu. Lors de l'installation, regardez attentivement les messages d'erreur, le cas échéant, qui vous indiqueront probablement quels packages manquent dans votre système d'exploitation. Lisez à ce sujet ci-dessous.

Malheureusement, je ne sais pas comment ça se passe avec les distributions rmp-base, parce que... Je n’ai jamais utilisé de telles distributions, mais je pense que c’est à peu près la même chose qu’avec les distributions basées sur Debian.

Vous avez peut-être remarqué qu'il manque l'assemblage MySQL Workbench pour le système d'exploitation Debian GNU/Linux. Mais comme la pratique l’a montré, tout va bien. Pour l'installation MySQL Workbench dans Debian 6.0 (Squeeze), nous utiliserons déb- forfait pour Ubuntu 10.04(n'oubliez pas la profondeur de bits de votre système d'exploitation : x86 ou x64). Permettez-moi de vous rappeler que pour installer le package deb téléchargé, vous pouvez utiliser l'utilitaire gdebi ou entrez la commande dans la console en tant que root :

# dpkg -i mysql-workbench-gpl-5.2.33b-1ubu1004-amd64.deb Par exemple, j'ai eu l'erreur suivante lors de l'installation de MySQL WorkBench :
dpkg : les dépendances du package empêchent la configuration du package mysql-workbench-gpl :
mysql-workbench-gpl dépend de libcairomm-1.0-1 (>= 1.6.4), cependant :
Le package libcairomm-1.0-1 n'est pas installé.
mysql-workbench-gpl dépend cependant de libctemplate0 :
Le package libctemplate0 n'est pas installé.
mysql-workbench-gpl dépend de libgtkmm-2.4-1c2a (>= 1:2.20.0), cependant :
Le package libgtkmm-2.4-1c2a n'est pas installé.
mysql-workbench-gpl dépend de libpangomm-1.4-1 (>= 2.26.0), cependant :
Le package libpangomm-1.4-1 n'est pas installé.
mysql-workbench-gpl dépend de libzip1 (>= 0.9), cependant :
Le package libzip1 n'est pas installé.
mysql-workbench-gpl dépend cependant de python-paramiko :
Le package python-paramiko n'est pas installé.
mysql-workbench-gpl dépend cependant de python-pysqlite2 :
Le package python-pysqlite2 n'est pas installé.
dpkg : échec du traitement de l'option mysql-workbench-gpl (--install) :
problèmes de dépendance - laisser non configuré
Des erreurs se sont produites lors du traitement des packages suivants :
mysql-workbench-gpl

Pour résoudre cette erreur, il me suffisait de taper la commande dans la console pour installer certains packages :

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

Pour installer les packages ci-dessus, vous aurez besoin de packages supplémentaires, que le gestionnaire apte vous proposera gentiment de télécharger. Après avoir installé tous les packages nécessaires, MySQL WorkBench s'installe sans problème.

Voilà : MySQL WorkBench est installé en toute sécurité et prêt à apprendre.

mise à jour :
Si je ne me trompe pas, à partir d'Ubuntu 12.04, MySQL WorkBench peut être trouvé dans les référentiels de distribution. Par conséquent, le processus d’installation est beaucoup plus simple et sans aucune béquille.
Pour installer MySQL WorkBench, entrez simplement la commande dans le terminal :
sudo aptitude installer mysql-workbench

Attention, depuis que WorkBench a été mis à jour, j'ai écrit, qui consiste en la théorie et la pratique de la construction d'une base de données à partir de WorkBench.

Au chapitre « Options de clé étrangère » configurer le comportement de la clé étrangère lorsque le champ correspondant change (SUR MISE À JOUR) et retrait (SUR SUPPRIMER) enregistrement parent :

  • LIMITER– génère une erreur lors de la modification/suppression d'un enregistrement parent
  • CASCADE– mettre à jour la clé étrangère lorsque l'enregistrement parent change, supprimer l'enregistrement enfant lorsque le parent est supprimé
  • FIXER NULL– définir la valeur de la clé étrangère NUL lors du changement/suppression du parent (non acceptable pour les champs dont l'indicateur est défini PAS NUL !)
  • PAS D'ACTION– ne rien faire, mais en fait l’effet est similaire à RESTRICT

Sauvegarde du modèle vers la base de données réelle/physique

« Fichier → Exporter → Forward Engineer MySQL Créer un script... »

Nous cochons les cases nécessaires, je n'en avais besoin que d'une seule Générer des instructions INSERT pour les tables. Si vous devez enregistrer le script dans un fichier, écrivez le répertoire dans le champ ci-dessus.

Dans la fenêtre suivante, vous pouvez configurer les objets que nous exporterons. Si vous regardez bien, nous n'avons créé que 2 tableaux.

Exécution du script - création d'une base de données et de tables

Cliquez sur « maison » dans le coin supérieur gauche du programme...

Double-cliquez ensuite sur MyConnection….

Cet onglet s'ouvre devant nous...

C'est notre connexion au serveur, c'est ici que nous allons exécuter notre script. Veuillez noter sur la gauche les bases de données qui ont été créées dans le programme WorkBench….

Maintenant, vous devez donner la commande pour exécuter ce script, pour ce faire, cliquez dans le menu du haut, Query Execute (All ou Selection)

Donc, si tout va bien, dans la fenêtre de sortie inférieure, vous verrez toutes les « coches vertes ». Et lorsque vous cliquez sur Actualiser dans menu contextuel dans la liste des bases de données, vous verrez la base de données nouvellement créée mydatabase1.

Enfin, construisons un diagramme ER. ER signifie Entity Relation - un modèle réussi « Entity-Relationship », qui a notamment été développé par Peter Chen. Revenez donc à l'onglet modèle et cliquez sur Ajouter un diagramme...

Nous avons créé une relation un-à-plusieurs. Plusieurs étudiants peuvent étudier dans une même faculté. Veuillez noter que la relation près de la table des étudiants est divisée – cela signifie « à plusieurs ».

Nous avons donc créé un modèle à partir duquel, grâce à l'exécution de scripts, une véritable base de données avec des tables. Et j'ai également créé un diagramme ER.




Haut