IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

[FN]Faire 1 BD avec une seule table ou normaliser ?


Sujet :

Schéma

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mars 2004
    Messages : 8
    Points : 10
    Points
    10
    Par défaut [FN]Faire 1 BD avec une seule table ou normaliser ?
    Bonjour,

    Je travaille dans une boite qui gère dans les 20.000 documents (genre encyclopédie pour le web). Chaque document peut exister en plusieurs langues, utilisation d'un thésaurus, 10.000 fiches bibliographiques, 3.000 fiches de droits d'auteurs, ... le tout géré en interne par une appli en VB6/access.

    On a enfin décider de refaire le tout car avec access ça devient ingérable (de plus il n'y a aucune logique dans la BD).

    Pour l'instant, on est dans la phase conception et ça bloque.

    Mon chef veut utiliser en tout et pour tout une base de données avec UNE SEULE TABLE. Il est persuadé que ce sera plus facile, rapide, logique, simple, scalable, ... et que tout les projets de CMS qui se sont "cassés la gueule", c'était dû au fait des BD (trop lourds, usine à gaz, temps d'accès).

    Pensez-vous que cette solution soit viable ? (il en est tellement sûr que je vais finir par douter).

    Il hésite entre 2 solutions :

    1) LA table contiendra les documents,les droits,les biblios, ... Et donc pour afficher un document il faut lire dans ses champs "DROIT" et "BIBLIO" l'id d'un autre record de la même table qui contient les infos voulues.

    2) Au pire, si cette solution ne marche pas, il n'est pas contre le fait de faire un record avec TOUTES les infos documents, droits, biblio, multilangue ... l'une derrière les autres et tant pis pour les redondances d'informations.

    Ca m'a l'air tellement absurde, et lui est tellement sûr, que j'ai besoin d'un avis (peut-être que c'est moi qui suis plus au courant de ce qui se fait?).

  2. #2
    Membre actif Avatar de AdHoc
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 245
    Points : 239
    Points
    239
    Par défaut
    Bonjour,
    quand il y a plusieurs auteurs pour un document, comment fait-il?

  3. #3
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonjour Borndead,


    On a enfin décider de refaire le tout car avec access ça devient ingérable (de plus il n'y a aucune logique dans la BD).
    Dans la mesure où il n’y a aucune logique dans la BD, elle est ingérable, quel que soit le SGBD. Remplacer Access par le meilleur SGBD du monde reviendrait à mettre un cautère sur une jambe de bois.

    Mon chef veut utiliser en tout et pour tout une base de données avec UNE SEULE TABLE
    J’ai déjà observé ça bien des fois. Je dirai que c’est un grand classique. La modélisation des bases de données est une chose trop sérieuse pour laisser faire des gens dont ça n’est pas le métier et qui n’ont à faire valoir que leur position en termes de compétence, même s’ils ont été informaticiens un jour et croient tout savoir.

    Votre chef est complètement à côté de la plaque. Faites lui comprendre sans le vexer (tant qu’à faire !) que face à un spécialiste ses arguments s’effondreront comme un château de cartes. Combien ai-je vu de mines se défaire dans ce genre de situations...

    Faites un Modèle Conceptuel dans les règles de l’art, normalisez en forme normale de Boyce-Codd, produisez votre MLD puis votre MPD et prototypez, prototypez, prototypez...

    On ne vous laissera pas tomber.

    Fsmrel
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mars 2004
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Citation Envoyé par AdHoc
    Bonjour,
    quand il y a plusieurs auteurs pour un document, comment fait-il?
    C'est simple, "l'idée" est de créer une application qui gèrera cette table de manière dynamique. Donc s'il faut deux auteurs et pas un, il suffit d'ajouter un second champs auteur dans la table. Enfin, c'est le concept que je suis sensé devoir développer.

    Citation Envoyé par fsmrel
    Faites lui comprendre sans le vexer (tant qu’à faire !) que face à un spécialiste ses arguments s’effondreront comme un château de cartes
    Bon, ben c'est pas gagné, ça fait deux semaines que j'essaye mais rien à faire avec quelqu'un qui vous répond "Je ne me sert pas de la science, j'utilise mon feeling", "Des redondances d'informations dans un BD c'est absolument essentiel" ou encore "Si personne ne travaille comme ça, c'est parce-que personne n'a jamais pensé à cette solution avant. Il faut être créatif et ne pas faire comme les autres...".

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut il est amusant ton chef!
    ca en deviens drole, de la façon dont tu racontes cela.

  6. #6
    Membre actif Avatar de AdHoc
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 245
    Points : 239
    Points
    239
    Par défaut
    entierement d'accord
    Il m'est arrivé d'implémenter des bases qui ne respectaient pas la 3ieme forme normale pour des applis proches de l'info indus (avec access1, 2 et 97 ),
    Mais, lors du MCD, on l'a toujours respecté avant de la déconstruire très partiellement et très consciemment lors du passage au MPD. Par contre, ça nous a systématiquement emmerdé lors des évolutions.
    Dès le passage sur de vrais SGBD, le premier travail a été de remettre tout ça d'aplomb et je t'explique pas le nombre de bidouille que cela a fait sauter.

    Au fait plusieurs, cela peut être beaucoup plus de deux (ex: publication scientifique, Bande dessinée).
    Je vois d'ici une recherche sur un auteur dans 3, 4, 5? champs de tous les enregistrements.

    A mon avis, il faut que tu cherches les cas foireux.
    Bon courage

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par borndead
    C'est simple, "l'idée" est de créer une application qui gèrera cette table de manière dynamique. Donc s'il faut deux auteurs et pas un, il suffit d'ajouter un second champs auteur dans la table. Enfin, c'est le concept que je suis sensé devoir développer.
    C'est une très, très, très, très, très, très mauvaise idée qui court droit au naufrage (y'a assez de "très" ?).

    Exemple tout bête : Je veux connaître tous les bouquins écrits par Victor Hugo. Supposant qu'il y a 10 champs auteur. Avec cette idée, il faudrait que je fasse un test sur les 10 colonnes...
    Pire encore : je veux trouver tous les bouquins écrits par A MAIS auxquels B n'a pas participé... avec 10 colonnes, il y a C(2, 10) = 45 combinaisons possibles de colonne à vérifier...


    Citation Envoyé par borndead
    Bon, ben c'est pas gagné, ça fait deux semaines que j'essaye mais rien à faire avec quelqu'un qui vous répond "Je ne me sert pas de la science, j'utilise mon feeling", "Des redondances d'informations dans un BD c'est absolument essentiel" ou encore "Si personne ne travaille comme ça, c'est parce-que personne n'a jamais pensé à cette solution avant. Il faut être créatif et ne pas faire comme les autres...".
    !!!!!!! "Des redondances d'informations dans un BD c'est absolument essentiel" ? Mon dieu, ce qu'il ne faut pas entendre ! Les redondances, dans une BDD, c'est la BETE NOIRE de tout DBA avec un minimum de sens commun (et tu en sembles fort heureusement conscient).


    Bref, vous foncez droit dans le mur. Maintenant, je pourrais répondre techniquement et démo à l'appui à toutes les "justifications" que ton chef pourra avancer, mais je crains qu'il ne soit pas si facile que ça de le faire changer d'avis.
    En l'occurence, s'il y a des méthodes connues et éprouvées pour faire des design propres de bases de données (que l'on peut transgresser tant qu'on le fait en connaissance de cause et pour de bonnes raisons), des dizaines d'années de recherche sur le sujet, et si tous les produits (commerciaux et non-commerciaux) s'appuient sur le modèle relationnel, c'est bien qu'il y a une raison...

  8. #8
    Membre actif Avatar de AdHoc
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 245
    Points : 239
    Points
    239
    Par défaut
    Pour continuer la rigolade
    Citation Envoyé par borndead
    il suffit d'ajouter un second champs auteur dans la table
    J'avais oublié qu' en plus il faudra modifier toutes les "requêtes" ou programmes de lectures, mises à jour et ajouts ainsi que les interfaces à chaque découverte qu'il y encore un auteur de plus
    Jetes un oeil sur le site HAL, dès la première page, on a des documents avec 6 auteurs.
    http://hal.archives-ouvertes.fr/view...Date&langue=fr

    Cela m'étonnerais qu'ils aient une seule table
    Vraiment du fond du coeur, bon courage

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des libellés avec une seule table
    Par scharly3 dans le forum Microsoft BI
    Réponses: 7
    Dernier message: 02/03/2012, 22h41
  2. B.D avec une seule table
    Par infose dans le forum Développement
    Réponses: 7
    Dernier message: 04/11/2010, 10h58
  3. [Doctrine] plusieurs many-to-many avec une seule table
    Par Lideln75 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 18/10/2010, 11h54
  4. [SSAS] Cube avec une seule table
    Par Safaritn dans le forum SSAS
    Réponses: 3
    Dernier message: 01/08/2008, 15h05
  5. Merge mais avec une seule table : possible?
    Par kissskoool dans le forum SQL
    Réponses: 10
    Dernier message: 10/03/2008, 13h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo