Combien de fois vous êtes-vous interrogé sur la structure d'une base de données existante ? Il peut s'agir d'un système hérité de 5 ans ou d'un tout nouveau projet open source. Jetons un coup d'œil au diagramme ERD de la base de données derrière le système de gestion de contenu le plus célèbre :WordPress.
Qu'est-ce que WordPress et comment ça marche ?
WordPress est un CMS (système de gestion de contenu) open source qui a été initialement publié en 2003. Il a commencé comme une plateforme de blogs, mais il s'est tellement développé qu'il peut aujourd'hui être utilisé pour presque tout.
Parce que WordPress est un projet open source, de nombreux développeurs ont étendu ses fonctionnalités au fil des ans. Des milliers de widgets, thèmes et plugins développés pour WordPress peuvent être trouvés. Ainsi, comme l'indique WordPress.org, "WordPress n'est limité que par votre imagination. (Et des outils techniques.) » Dans les coulisses, le langage de script côté serveur PHP et la base de données MySQL fournissent la puissance.
Pour les besoins de cet article, j'ai installé WordPress localement en suivant ces étapes :
- J'ai téléchargé et installé WampServer, un environnement de développement Web Windows pour Apache, PHP et MySQL (Remarque :La ou les versions correctes de Visual C++ Redistributable doivent être installées en premier). Cette étape consistait principalement à cliquer sur le bouton "Suivant".
- Ensuite, j'ai créé une base de données MySQL nommée "wordpress_database" en utilisant phpMyAdmin; bien sûr, vous pouvez choisir n'importe quel nom et y faire ultérieurement référence.
- J'ai terminé en téléchargeant et en installant le programme WordPress actuel. Encore une fois, il s'agissait principalement de cliquer sur "Suivant".
Lors de l'installation de WordPress, il vous sera demandé de fournir un nom d'utilisateur, le nom de la base de données que WordPress utilisera et les détails de connexion. Vous devez fournir le nom d'une base de données MySQL existante. Vous pouvez également choisir le préfixe qui sera utilisé pour nommer les tables dans la base de données. (J'ai choisi "wp_".) Commencer les noms de table par un préfixe est une pratique courante dans MySQL. Si tout se passe bien, un mot de passe aléatoire sera généré pour votre projet et vous pourrez vous connecter. Une fois connecté, vous verrez le tableau de bord WordPress, qui ressemble à ceci :
[
Nous ne parlerons pas davantage des options de WordPress car elles ne sont pas liées à la conception de la base de données. Il existe des tonnes de documents en ligne – et dans les livres, bien sûr; lisez des livres ☺ – qui couvrent ces sujets de manière assez approfondie.
Le processus d'exportation/importation WordPress
Notre prochaine étape consiste à examiner la base de données MySQL qui se cache derrière notre page WordPress. Pour ce faire, nous devons ouvrir phpMyAdmin . L'écran principal est illustré ci-dessous.
Sur le côté gauche de l'écran, vous pouvez voir la base de données nommée "wordpress_database" avec sa liste de table élargie. Notez que toutes les tables ont le "wp_" préfixe. L'étape suivante consiste à exporter la structure de la base de données depuis phpMyAdmin et importez-le dans Vertabelo.
Pour ce faire, utilisez le bouton "Exporter", puis sélectionnez la méthode d'exportation "Personnalisée". Choisissez le nom de la base de données que vous souhaitez exporter et sélectionnez sa structure sous Options spécifiques au format. Dans ce cas, un fichier SQL avec des instructions DDL sera créé et enregistré sur le disque.
Après cela, connectez-vous à Vertabelo.com et importez votre fichier SQL dans le nouveau modèle de base de données. Dans le tableau de bord, cliquez sur le bouton "CRÉER UN NOUVEAU MODÈLE". Remplissez la zone de texte "Nom du modèle" avec le nom du modèle Vertabelo souhaité et choisissez MySQL 5.5 dans la liste "Moteur de base de données".
Dans la plupart des cas, nous voulons commencer avec une base de données vide, ce qui suffira en cliquant sur le bouton "START MODELING". Mais dans ce cas, nous voulons utiliser un fichier SQL existant. Pour y parvenir, nous devons :
- Sélectionnez "À partir de SQL" dans la section "Modèle initial".
- Cliquez sur le bouton "Choisir un fichier" et récupérez le fichier sur notre ordinateur à l'aide du bouton "Parcourir".
- Cliquez sur le bouton "Importer SQL".
Si tout s'est bien passé, vous verrez "Le modèle a été importé avec succès". De plus, le bouton "START MODELING" sera activé. Cliquez dessus et commencez à utiliser votre modèle existant.
Nous pouvons maintenant ajouter de nouvelles fonctionnalités, ou nous pouvons simplement être fiers de nous et de notre conception de base de données affichée avec goût. N'oubliez pas, cette image vaut mille mots !
À ce stade, le modèle s'ouvrira dans Vertabelo et nous verrons enfin nos tables - et pas seulement en tant que code SQL. Nous aurons quelque chose comme ça (j'ai un peu réarrangé les tableaux) :
La première chose que nous remarquons est l'absence de relations entre les tables. En effet, l'installation standard de WordPress n'applique pas l'intégrité référentielle. WordPress utilise le moteur de stockage MyISAM, qui offre plus de fonctionnalités et de meilleures performances mais ne prend pas en charge les clés étrangères.
Pour les besoins de cet article, j'ai créé un projet WordPress vide et la seule chose que je peux voir est une page vierge. Cela peut sembler idiot, mais cela suffit pour explorer le modèle de base de données WordPress. Peu importe la complexité d'un site WordPress, il utilise toujours les mêmes tableaux. L'utilisation du même code de base et des mêmes champs méta donne à WordPress suffisamment de flexibilité pour exécuter des sites, quelle que soit leur fonction, leur conception ou leur style.
Il y a encore plus de WordPress à voir
Nous avons fait de WordPress notre exemple car il est largement utilisé et réputé pour sa simplicité. Cependant, nous aurions pu utiliser n'importe quel autre CMS ou tout autre projet doté d'une base de données. Je parie que vous pouvez penser à de nombreuses situations où vous aimeriez déplacer votre projet de base de données existant dans un outil de conception de base de données. Vertabelo offre la possibilité d'importer des modèles précédemment conçus et de continuer à travailler dessus au sein du système. Lors de la rédaction de cet article, j'ai utilisé l'importation à partir du fichier avec les instructions DDL.
Dans notre prochain article, nous établirons des relations entre les tables et examinerons de plus près les définitions des tables. En attendant, n'hésitez pas à partager vos idées et vos commentaires dans la section des commentaires ci-dessous.