Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
issue66:tutoriel_-_libreoffice_p._19 [2012/11/21 17:40] – [build] auntiee | issue66:tutoriel_-_libreoffice_p._19 [2012/11/21 18:50] (Version actuelle) – [UML] auntiee |
---|
Cartographie de la base de données | Cartographie de la base de données |
| |
C'est une bonne idée de poser votre base de données sur papier, ou en utilisant un diagramme, avant de commencer à travailler dans la base. J'ai utilisé le programme Dia Open Source, car il a un module Unified Modeling Langage (UML) conçu justement pour les diagrammes de programmation. Dia est disponible dans les dépôts Ubuntu. Vous n'avez pas besoin de savoir beaucoup de choses sur UML pour dessiner une base de données. Je vais vous guider à travers le processus dans cette section. | C'est une bonne idée de poser votre base de données sur papier, ou en utilisant un logiciel de diagramme, avant de commencer à travailler dans Base. J'ai utilisé le programme Open Source Dia, car il a un module Unified Modeling Langage (UML) conçu justement pour la programmation de diagrammes. Dia est disponible dans les dépôts Ubuntu. Vous n'avez pas besoin de savoir beaucoup de choses sur UML pour dessiner une base de données. Dans cette section, je vais vous guider tout au long du processus. |
| |
La table principale de notre base de données est la table Books. Nous savons que nous devons avoir les champs Titre et Date de publication, mais nous avons aussi besoin d'un champ unique pour identifier chaque enregistrement. Puisque deux livres pourraient avoir le même titre, nous allons créer un champ auto-généré nommé BookID. | La table principale de notre base de données est la table Livres. Nous savons que nous devons avoir les champs Titre et Date de publication, mais nous avons aussi besoin d'un champ unique pour identifier chaque enregistrement. Puisque deux livres pourraient avoir le même titre, nous allons créer un champ auto-généré nommé LivreID. |
| |
Pour la table des auteurs, nous avons besoin d'un champ pour le nom de l'auteur (name) et un champ unique généré automatiquement (AuthorID). Deux champs pour la table médias, ainsi: MediaID et Type. | Pour la table des auteurs, nous avons besoin d'un champ pour le nom de l'auteur (Nom) et un champ unique généré automatiquement (AuteurID). Deux champs pour la table médias, aussi : MédiaID et Type. |
| |
Maintenant que nous avons nos trois tables, nous avons besoin de les relier entre elles. La liaison est effectuée par ce qui est connu sous le nom de clés étrangères. Une clé étrangère est un champ utilisé pour créer une relation avec un enregistrement dans une autre table. Étant donné que nos relations sont Un à plusieurs, nous ne pouvons pas simplement coller un champ dans la table Livres pour référencer les auteurs et les types de médias. Nous allons utiliser des tables intermédiaires pour relier les auteurs et les types de médias ensemble. Ces tables intermédiaires contiennent les clés étrangères pour que les ID créent le lien. | Maintenant que nous avons nos trois tables, nous avons besoin de les relier ensemble. La liaison est effectuée par ce qui est connu sous le nom de clés étrangères. Une clé étrangère est un champ utilisé pour créer une relation avec un enregistrement dans une autre table. Étant donné que nos deux relations sont Un à plusieurs, nous ne pouvons pas simplement coller un champ dans la table Livres pour référencer les auteurs et les types de médias. Nous allons utiliser des tables intermédiaires pour relier les auteurs et les types de médias ensemble. Ces tables intermédiaires contiendront les clés étrangères pour que les ID puissent créer le lien. |
| |
Nous aurons besoin de deux tables intermédiaires. Nous allons les nommer BooksAuthors et BooksMedia. BooksAuthors aura deux champs nommés BookID et AuthorID, qui relient en retour les champs ID dans les tables Books et Authors. Nous faisons la même chose avec la table BooksMedia. Deux champs nommé BookID et MediaID, pointant vers les ID dans Books et les Media. | Nous aurons besoin de deux tables intermédiaires. Nous allons les nommer LivresAuteurs et LivresMédias. LivresAuteurs aura deux champs nommés LivreID et AuteurID, qui relient en retour les champs ID dans les tables Livres et Auteurs. Nous faisons la même chose avec la table LivresMédias. Deux champs nommé LivreID et MédiaID, pointant vers les ID dans Livres et les Médias. |
===== UML ===== | ===== UML ===== |
** | ** |
** | ** |
| |
J'ai créé un diagramme UML montrant les relations entre nos cinq tables. Chaque boîte contient une table. Le nom de la table apparaît dans la partie supérieure de la boîte. En dessous, nous énumérons tous les champs de la table et leurs types. Nous discuterons des types dans la prochaine partie de ce tutoriel. Les lignes entre les cases représentent les relations d'une table à l'autre. La notation 1..1 montre que le champ a une relation Un pour un avec le champ de l'autre table. La notation 1..n montre que le champ a une relation Un à plusieurs avec le champ de l'autre table. Par exemple, BookID dans la table Books est relié à BookID dans la table BooksAuthors. Dans la table Books, la notation est 1..n pour BookID, ce qui signifie qu'un livre peut faire référence à plus d'un enregistrement de la table BooksAuthors. Pour BooksAuthors, BookID a une notation de 1..1, ce qui signifie que c'est une référence à un enregistrement spécifique dans Books. | J'ai créé un diagramme UML montrant les relations entre nos cinq tables. Chaque case contient une table. Le nom de la table apparaît dans la partie supérieure de la case. En dessous, nous énumérons tous les champs de la table et leurs types. Nous discuterons des types dans la prochaine partie de ce tutoriel. Les lignes entre les cases signalent les relations d'une table à l'autre. La notation 1..1 montre que le champ a une relation Un pour un avec le champ de l'autre table. La notation 1..n montre que le champ a une relation Un à plusieurs avec le champ de l'autre table. Par exemple, LivreID dans la table Livres est relié à LivreID dans la table LivresAuteurs. Dans la table Livres, la notation est 1..n pour LivreID, ce qui signifie qu'un livre peut faire référence à plus d'un enregistrement de la table LivreAuteurs. Pour LivresAuteurs, LivreID a une notation de 1..1, ce qui signifie que cela fait référence à un enregistrement spécifique dans Livres. |
| |
Avec toute cette conception, nous pouvons facilement créer notre base de données sans avoir à faire beaucoup de changements. Nous connaissons les tables dont nous avons besoin et comment elles se relient les unes aux autres. Même si cela peut sembler beaucoup de travail, cela nous permet d'économiser beaucoup de temps à la fin, parce que nous avons effectivement pensé à la façon dont nous construisons notre base de données et comment elle va fonctionner. | Grâce à notre travail de conception, nous pouvons facilement créer notre base de données sans avoir à faire beaucoup de changements. Nous connaissons les tables dont nous avons besoin et comment elles se relient les unes aux autres. Même si vous avez l'impression que cela représente beaucoup de travail, le faire nous permet, en fin de compte, d'économiser beaucoup de temps, parce que nous avons effectivement pensé à la façon dont nous construirons notre base de données et comment elle va fonctionner. |
| |
La prochaine fois, nous construirons nos tables et créerons des relations dans Base de LibreOffice. En raison de notre conception, le processus est rapide et facile. | La prochaine fois, nous construirons nos tables et créerons des relations dans Base de LibreOffice. En raison de notre conception, le processus sera rapide et facile. |
| |