Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index


Bonjour,

Petite incruste dans la conversation :-)


Le 11 mars 2014 09:27, <libreoffice@audincourt.fr> a écrit :

Du point de vue base de données pure, logiquement on fait une table de
jointure type "auteurs_ouvrages" (avec l'hypothèse qu'on a les tables
"auteurs" et "ouvrages") dans laquelle chaque ligne comporte :
- id
- ouvrage_id
- auteur_id


Je ne suis pas d'accord, id ne sert à rien, les champs auto généré ne
doivent être utilisé que lorsque cela est utile, or là ils ne le sont pas
car les deux Sophie n'ont pas le même id_auteur. Qui plus est en mettant
cette colonne la (en clé primaire composé de ce seul attribut)  on peut
avoir plusieurs fois le même auteur sur le même bouquin, ce qui me parait
un peu déconcertant tout de même. Et en plus c'est pas en 2NF avec
l'attribut id. Donc selon moi :
- ouvrage_id*
- auteur_id*

Ceci permet la relation 1 à N de auteur à ouvrage.
Dans cette table, l'id s'auto-incrémente et on aura éventuellement
plusieurs lignes avec le même ouvrage mais différents auteurs, se qui
permet de retrouver tous les auteurs d'un ouvrage ou tous les ouvrages
auquel un auteur a participé ...


Dans tout les cas tu peux associer les auteurs à leurs bouquins ou les
livres à leurs auteurs, je ne vois pas en quoi la table de relation
rendrait cette tache plus complexe. Suffit simplement de joindre les trois
tables et de selectionner via soit l'id de l'auteur, soit l'id de l'ouvrage
en fonction du type de recherche.


----- Mail original -----
| Le 10/03/2014 18:08, Claude FRICARD a écrit :
|
| Bonjour,
|
| Et si, avec ta méthode, tu fais une recherche sur l'ensemble des
| ouvrages écrits par Pierre Souvestre, qu'il les ait écrits seul ou
| qu'il
| ait participé à l'écriture avec un ou plusieurs autres auteurs,
| est-ce
| que ta méthode te permettra de sortir cette information en une seule
| opération et avec la certitude que le Souvestre apparaissant comme
| co-auteur des romans de la série FANTOMAS est le même que le Pierre
| SOUVESTRE auteur en 1907 de "Histoire de l'Automobile" ?
|
| Prenons un exemple plus proche de nous ; imaginons que tu doives
| entrer
| dans ta table des ouvrage, un livre paru en 2012 aux éditions
| Eyrolles
| et intitulé "De OpenOffice.org à LibreOffice 3.5" ; cette fois, ils
| s'y
| sont mis à 5 pour l'écrire, il y avait Sophie Gautier, Gilles
| Bignebat,
| Christian Hardy et Michel Pinquier et l'éditeur mentionne la
| contribution de Jean-François Nifenecker ; comment tu renseignes les
| auteurs dans ta table T_Auteurs ? Si j'ai bien compris ce que tu as
| écrit tu va mettre Gauthier&Bignebat&Hardy&Pinquier&Nifenecker.
|
| Maintenant, tu dois aussi entrer un autre ouvrage, paru en Mars 2009
| et
| intitulé "OpenOffice.org 3 efficace" écrit par Sophie Gauthier,
| Laurent
| Godard et Christian Hardy ; cette fois, si j'ai bien compris, tu vas
| créer un auteur appelé Gautier&Godard&Hardy ?
|
| Le problème, c'est que Sophie Gauthier elle écrit souvent à plusieurs
| mains et pas toujours avec les mêmes mains ; ainsi, on lui trouve une
| collaboration avec un autre duo, composé de Christian Hardy et de
| Frédéric Labbé , puis un autre composé de Michel Pinquier et de
| Christian Hardy et avec un trio composé de Christian Hardy, de
| Fédéric
| Labbé et de Michel Pinquier.
|
| Et en plus, il lui est arrivé des commettre des ouvrages toute seule.
|
| Du coup, comment se comporte ta table à son égard ? Tu vas créer
| autant
| d'auteurs différents qu'il y aura de compositions différentes ? Mais
| si
| un jour tu veux identifier tous les ouvrages dont elle est l'auteur
| ou
| le co-auteur, est-ce que ta table le permettra en une seule requête
| ou
| est-ce que tu devras interroger ta table autant de fois qu'il existe
| de
| formes différentes sous laquelle elle apparaît parmi les auteurs ? Et
| que se passe-t-il s'il existe une autre Sophie Gauthier qui se met à
| écrire des ouvrages sur des sujets totalement différents (ou pas
| d'ailleurs) ?
|
| De mon point de vue, une même personne ne doit apparaître qu'une
| seule
| fois dans la table Auteurs, de sorte que l'on ne puisse jamais avoir
| à
| se demander, par exemple, si le "Gauthier" qui apparaît au milieu de
| "Gauthier&Bignebat&Hardy&Pinquier&Nifenecker" comme auteur de "De
| OpenOffice.org à LibreOffice 3.5" est la Sophie Gauthier de
| "OpenOffice.org 2 efficace" ou si c'est une autre personne.
|
| Sur ce principe :
| - un ouvrage n'apparaît qu'une fois dans la table des ouvrages ;
| - un auteur unique n'apparaît qu'une fois dans la table des auteurs ;
| - la relation entre les uns et les autres apparaît dans une troisième
| table, l'id_ouvrage d'un ouvrage comptant 5 auteur apparaissant alors
| 5
| fois dans cette table avec, à chaque ligne, une id_auteur différente.
|
| De cette façon, la Sophie Gauthjier qui a écrit ou co-écrit les
| ouvrages
| évoqués ci-dessus se verra créditée de tous ses ouvrages en une seule
| fois lorsqu'on interrogera la base de données et s'il y a une autre
| Sophie Gauthier, plutôt spécialisée dans les livres de cuisine mais
| qui
| a commis elle aussi un ouvrage sur l'informatique, chaque Sophie
| Gauthier ne sera créditée QUE de ses ouvrages mais de TOUS ses
| ouvrages.
|
| Donc oui, c'est probablement un peu plus fastidieux à mettre en
| oeuvre ;
| mais à mon avis, ce sera une base beaucoup plus facile à exploiter, à
| maintenir et même à faire évoluer au fil des besoins.
|
| Pour ma part, je retiendrais la solution préconisée par Jean-François
| Nifenecker.
|
| A+
|

--
M. Cyrille GROSDEMANGE
Service Informatique et Réseaux
Mairie d'Audincourt
----
Pensez à la planète : êtes-vous certain d'avoir besoin d'imprimer ce mail ?
Seuls des formats ouverts peuvent assurer la pérennité de vos documents.

--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour savoir
comment vous désinscrire
Les archives de la liste sont disponibles à
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et
ne pourront pas être supprimés




-- 
Arnaud Versini

-- 
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être 
supprimés

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.