Outils pour utilisateurs

Outils du site


issue66:tutoriel_-_libreoffice_p._19

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue66:tutoriel_-_libreoffice_p._19 [2012/11/21 16:08] – [intro] andre_domenechissue66:tutoriel_-_libreoffice_p._19 [2012/11/21 18:50] (Version actuelle) – [UML] auntiee
Ligne 8: Ligne 8:
 ** **
  
-Beaucoup de gens collectionnent des choses comme les cartes de sport, les livres, les bandes dessinées ou les papillons. Parfois, il est utile d'inventorier ces collections, donc vous créez un catalogue.  Vous décidez quelles caractéristiques s'appliquent aux éléments que vous souhaitez suivre, vous constatez que certains éléments ont certaines de ces caractéristiques en communet vous créez un système pour identifier chaque élément de manière unique. Enfin, vous commencez à construire votre catalogue. On peut penser une base de données comme étant un catalogue d'articles similaires. Vous avez quelque chose à suivre et quelle meilleure façon de le suivre qu'à travers votre ordinateur ?+Beaucoup de gens collectionnent des choses comme les cartes de sport, les livres, les bandes dessinées ou les papillons. Parfois, il est utile d'inventorier ces collections et vous créez donc un catalogue.  Vous décidez quelles caractéristiques s'appliquent aux éléments que vous souhaitez suivre, vous constatez que certains éléments ont certaines de ces caractéristiques en commun et vous créez un système pour identifier chaque élément de manière unique. Enfin, vous commencez à construire votre catalogue. On peut considérer qu'une base de données est comme un catalogue d'articles similaires. Vous avez quelque chose à suivre quelle meilleure façon de le suivre qu'avec votre ordinateur ?
  
-Base est le module de base de données pour LibreOffice. Base n'est pas un moteur de base de données, mais une interface de présentation pour interagir avec les bases de données. Par défaut, Base utilise le moteur de base de données HSQL, qui est un moteur open source, mais vous pouvez vous connecter à d'autres moteurs comme MySQL ou Oracle. Vous pouvez même utiliser un tableur comme socle de base de données, comme nous l'avons fait dans la partie 7 de cette série (voir le numéro 52 du Full Circle).+Base est le module de base de données pour LibreOffice. Base n'est pas un moteur de base de données, mais une interface de présentation pour interagir avec les bases de données. Par défaut, Base utilise le moteur de base de données HSQL, qui est un moteur Open Source, mais vous pouvez vous connecter à d'autres moteurs comme MySQL ou Oracle. Vous pouvez même utiliser un tableur comme socle de base de données, comme nous l'avons fait dans la partie 7 de cette série (voir le numéro 52 du Full Circle).
  
-Lors de la création d'une base de données, vous obtiendrez de meilleurs résultats en vous asseyant et en prenant le temps de concevoir votre base de données et son comportement. Vous cartographiez les caractéristiques que vous souhaitez suivre, déterminez les relations communes et créez un moyen unique d'identifier chacun des éléments de la collection. Prendre le temps de concevoir vous permettra d'économiser du temps et des efforts plus tard dans le processus, lorsque vous commencerez à créer des rapports et des recherches pour votre base de données.+Lors de la création d'une base de données, vous obtiendrez de meilleurs résultats en vous asseyant et en prenant le temps de concevoir votre base de données et son comportement. Vous cartographiez les caractéristiques que vous souhaitez suivre, déterminez les relations en commun et créez un moyen unique d'identifier chacun des éléments de la collection. Prendre le temps de la concevoir vous permettra d'économiser du temps et des efforts plus tard, lorsque vous commencerez à créer des rapports et des recherches pour votre base de données.
  
 ===== Database ===== ===== Database =====
Ligne 27: Ligne 27:
 ** **
  
-Ce qui fait une base de données+Qu'est-ce qui fait une base de données
  
-Avant d'entrer dans la conception concrète d'une base de données, nous allons parler des parties constituant une base de données. Le plus petit élément d'une base de données est le champ. Pensez à un champ comme une caractéristique unique de l'objet que nous définissons dans la base de données. Un ensemble de champs est un enregistrement. Un enregistrement définit toutes les caractéristiques d'un objet unique que nous collectionnons. Nous créons des tables pour stocker les enregistrements. Les tables définissent les champs pour chaque enregistrement et contiennent la donnée pour chaque champ dans les enregistrements.+Avant d'entrer dans la conception concrète d'une base de données, nous allons parler de ses parties constituantes. Le plus petit élément d'une base de données est le champ. Pensez à un champ comme une caractéristique unique de l'objet que nous définissons dans la base de données. Un ensemble de champs est un enregistrement. Un enregistrement définit toutes les caractéristiques d'un objet unique dans notre collection. Nous créons des tables pour stocker les enregistrements. Les tables définissent les champs pour chaque enregistrement et contiennent la donnée pour chaque champ dans les enregistrements.
  
-Pensez à une table de base de données comme une feuille de calcul de Calc. En haut, vous avez des colonnes. Les colonnes sont les champs. Sur le côté, vous avez les lignes. Les lignes sont les enregistrements. La feuille de calcul entière, contenant toutes les données, c'est la table.+Pensez à une table de base de données comme une feuille de calcul de Calc. En haut, vous avez des colonnes. Les colonnes sont les champs. Sur le côté, vous avez les lignes. Les lignes sont les enregistrements. La feuille de calcul entière, contenant toutes les données, est la table.
  
 Concevoir notre base de données exemple Concevoir notre base de données exemple
  
-Dans cette série d'articles sur Base, nous allons utiliser une base de données que j'ai créée pour le suivi de ma bibliothèque. J'ai voulu cette base de données assez simple, mais contenant beaucoup d'éléments pour montrer la nature et les aspects des bases de données relationnelles, principalement la partie relationnelle. Dans cette partie, nous allons suivre les étapes de mon travail pour l'organisation de la création de la base de données. Nous suivrons les étapes que j'ai mentionnées.+Dans cette série d'articles sur Base, nous allons utiliser une base de données que j'ai créée pour le suivi de ma bibliothèque. J'ai voulu cette base de données assez simple, mais contenant beaucoup d'éléments pour montrer la nature et les aspects des base de données relationnelles, principalement la partie relationnelle. Dans cet article, nous allons suivre les étapes de mon travail pour la planification de la création de la base de données. Nous suivrons les étapes que j'ai mentionnées.
  
 ===== build ===== ===== build =====
Ligne 60: Ligne 60:
 Quelles caractéristiques inclure ? Quelles caractéristiques inclure ?
  
-Lorsque j'ai commencé à concevoir ma base de données Livres, je savais que je ne voulais pas une grosse chose compliquée avec des informations que je n'aurais jamais utilisées. Je savais que j'avais besoin des simples titre et auteur. Cependant, j'ai décidé d'y inclure aussi l'année de publication. Avec toutes les différentes façons de « lire » les livres aujourd'hui, j'ai décidé que j'avais besoin de tracer les différents types de médias. Donc, en fin de compte, j'ai décidé de retenir ces caractéristiques: +Lorsque j'ai commencé à concevoir ma base de données Livres, je savais que je ne voulais pas une grosse chose compliquée avec des informations que je n'utiliserais jamais. Je savais que j'avais besoin des trucs de base comme titre et auteur. Cependant, j'ai décidé d'y inclure aussi l'année de publication. Avec toutes les différentes façons de « lire » les livres aujourd'hui, j'ai décidé que j'avais également besoin de suivre les différents types de médias. Ainsi, en fin de compte, j'ai décidé de retenir ces caractéristiques : 
- • Titre + • Titre. 
- • Auteur + • Auteur. 
- • Année de publication + • Année de publication. 
- • Type de support + • Type de support. 
- • Relations+ • Relations.
  
-Relations va mettre du « relationnel » dans les bases de données relationnelleLorsque nous examinons d'abord notre liste de caractéristiques, nous pourrions penser que nous avons besoin d'une table avec quatre champs. Cependant, nous aurions des ennuis quand nous avons un livre qui a plus d'un auteur, ou que nous possédons un livre dans plus d'un format. Nous pourrions vous contenter d'auteurs multiples dans un seul domaine, mais ceci rendrait la recherche de livres d'un même auteur difficile. Nous pourrions créer des champs multiples pour plusieurs auteurs, mais combien en voulez-vous créer? S'il s'agit d'une anthologie, le livre pourrait avoir de nombreux auteurs. La même chose est vraie pour les types de médias.+Ce sont les relations qui mettent du « relationnel » dans les bases de données relationnellesLa première fois que nous examinons notre liste de caractéristiques, nous pourrions penser que nous avons besoin tout simplement d'une table avec quatre champs. Cependant, nous aurions des ennuis quand nous avons un livre qui a plus d'un auteur, ou que nous possédons un livre dans plus d'un format. Nous pourrions nous contenter d'auteurs multiples dans un seul champ, mais ceci rendrait la recherche de livres d'un même auteur difficile. Nous pourrions créer des champs multiples pour plusieurs auteurs, mais combien voulez-vous en créer ? S'il s'agit d'une anthologie, le livre pourrait avoir de nombreux auteurs. La même chose est vraie pour les types de médias.
  
-La réponse est la relation. Les relations nous aident à relier les données dans des tables différentes les unes aux autres. Il y a trois relations différentes définies pour les bases de données relationnelles. +La réponse est la relation. Les relations nous aident à relier les données dans des tables différentes les unes des autres. Il y a trois relations différentes définies pour les bases de données relationnelles. 
- Un à Un : Pour chaque caractéristique individuelle, vous avez une seule caractéristique correspondante. titre d'exemple, pour chaque personne, vous pouvez avoir un conjoint.+ Un à un : Pour chaque caractéristique individuelle, vous avez une seule caractéristique correspondante. À titre d'exemple, pour chaque personne, vous pouvez avoir un seul conjoint.
  Un à plusieurs : Pour chaque caractéristique individuelle, vous avez de nombreuses caractéristiques correspondantes. Dans notre cas, pour chaque livre, vous pouvez avoir plusieurs auteurs.  Un à plusieurs : Pour chaque caractéristique individuelle, vous avez de nombreuses caractéristiques correspondantes. Dans notre cas, pour chaque livre, vous pouvez avoir plusieurs auteurs.
  Plusieurs à plusieurs : Pour de nombreuses caractéristiques, vous avez de nombreuses caractéristiques correspondantes. A titre d'exemple, dans une école, vous avez beaucoup d'étudiants qui ont beaucoup de professeurs différents.  Plusieurs à plusieurs : Pour de nombreuses caractéristiques, vous avez de nombreuses caractéristiques correspondantes. A titre d'exemple, dans une école, vous avez beaucoup d'étudiants qui ont beaucoup de professeurs différents.
  
- Pour notre base de données, nous avons deux Un à plusieurs. Pour chaque livre individuel, nous pouvons avoir plusieurs auteurset pour chaque livre individuel, on peut avoir plusieurs types de supports. Nous allons prendre en considération ces relations quand nous commencerons à dessiner notre base de données. +Pour notre base de données, nous avons deux relations Un à plusieurs. Pour chaque livre individuel, nous pouvons avoir plusieurs auteurs etpour chaque livre individuel, nous pouvons avoir plusieurs types de supports. Nous allons prendre en considération ces relations quand nous commencerons à dessiner notre base de données.
 ===== DB ====== ===== DB ======
 ** **
Ligne 85: Ligne 84:
  
 For the Authors table, we need a field for the author's name (Name) and a unique auto generated field (AuthorID). Two fields for the Media table, too: MediaID and Type. For the Authors table, we need a field for the author's name (Name) and a unique auto generated field (AuthorID). Two fields for the Media table, too: MediaID and Type.
 +
 +Now that we have our three tables, we need to link them together. Linking is done by what is known as foreign keys. A foreign key is a field used to create a relationship with a record in another table. Since both of our relationships are one-to-many, we can't just stick a field in the Books table to reference authors and media types. We will use intermediate tables to link the authors and media types together. These intermediate tables will contain foreign keys for the IDs to create the link.
 +
 +We will need two intermediate tables. We will name them BooksAuthors and BooksMedia. BooksAuthors will have two fields named the BookID and the AuthorID, which link back the the ID fields in the Books and Authors tables. We do the same with the BooksMedia table. Two fields named BookID and MediaID, linking to the IDs in Books and Media.
 ** **
  
 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. +
- +
-** +
-Now that we have our three tables, we need to link them together. Linking is done by what is known as foreign keys. A foreign key is a field used to create a relationship with a record in another table. Since both of our relationships are one-to-many, we can't just stick a field in the Books table to reference authors and media types. We will use intermediate tables to link the authors and media types together. These intermediate tables will contain foreign keys for the IDs to create the link. +
- +
-We will need two intermediate tables. We will name them BooksAuthors and BooksMedia. BooksAuthors will have two fields named the BookID and the AuthorID, which link back the the ID fields in the Books and Authors tables. We do the same with the BooksMedia table. Two fields named BookID and MediaID, linking to the IDs in Books and Media. +
-**+
  
-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.+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.
  
-Nous aurons besoin de deux tables intermédiaires. Nous allons les nommer BooksAuthors et BooksMedia BooksAuthors aura deux champs nommés BookID et AuthorIDqui 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.+Maintenant que nous avons nos trois tables, nous avons besoin de les relier ensembleLa 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 à plusieursnous 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 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 =====
 ** **
Ligne 114: Ligne 110:
 ** **
  
-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 allons discuter 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 BooksAuthorsBookID 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 LivresAuteursLivreID 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, çà 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.
  
issue66/tutoriel_-_libreoffice_p._19.1353510483.txt.gz · Dernière modification : 2012/11/21 16:08 de andre_domenech