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

Décisions SGBD Discussion :

Comment gérer efficacement des listes en Base de données ?


Sujet :

Décisions SGBD

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Avril 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant CRM

    Informations forums :
    Inscription : Avril 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Comment gérer efficacement des listes en Base de données ?
    Bonjour,

    Ceci est mon premier message dans ce forum. J'ai fait quelques recherches mais je ne sais pas vraiment quoi rechercher car ma question est assez "étrange"et j'aimerais obtenir une réponse générale (d'où le fait que je poste dans cette section bien précise) même si je travaille sous Access 2000.

    Je dois créer une base de données de gestion d'échantillons biologiques et on peut effectuer des analyses sur ceux ci. Le "probleme" étant que l'on peut effectuer plusieurs analyses différentes sur un échantillon donné. (pas plus de 10 A PRIORI)
    J'aimerais gérer celà de la manière la plus rapide. En effet, une simple relation n-n entre la table des échantillons et celle des analyses (qui peut être enrichie par l'utilisateur) aurait pu suffire mais ce genre de relation me gène au niveau des performances.

    Voici les diverses idées qui m'ont traversé l'esprit:

    1)Une idée farfelue mais efficace était de reserver un attribut de type texte dans la table des échantillons de taille plus que suffisante dans lequel on stockerait une liste d'identifiants d'analyses (une table d'analyses étant déjà créée) sous la forme "id1;id2;id151;" et la traduction se ferait par les interfaces d'ajout et de lecture.

    2)Si on sait que seules N analyses maximum peuvent être réalisées, reserver N espaces (+ une marge d'erreur) en mémoire est très genant à cause de la perte de place et du fait de limiter le nombre.

    3) Il serait aussi possible de gérer cette liste comme en programmation mais là, celà serait peut être encore plus farfelu. (à la sauce "tant que suivant != null, on continue")

    4) La relation n-n standard, le probleme etant que la liste d'analyses augmente encore plus vite que celle des échantillons qui pourra atteindre quelques milliers ou dizaines de milliers de references si ele tient longtemps.


    Voilà, j'aimerais beaucoup obtenir des réponses génériques afin de mieux comprendre l'utilisation de bases de données et surtout la différences entre plusieurs méthodes pour un même problème en sachant que seule la derniere respecte, à mon sens, la "philosophie" base de données.
    Peut etre que je me fais du souci pour rien que même si on référence 50000 échantillons et 300 000 analyses, les requêtes s'exécuteront à une vitesse raisonnable.

    Merci de vos réponses.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 849
    Points : 52 982
    Points
    52 982
    Billets dans le blog
    6
    Par défaut
    en matière de bases de données, tout ce qui déroge au modèle relationnel est à priori contre performant. Une base de données est faite pour faire des jointure entre les tables. Pour cela elle est optimisée. Toute tentative de vouloir faire autre chose avec une base de données s'avérera catastrophique en terme de performance.

    Les questions que tu te pose sont donc idiotes. Le seul moyen d'utiliser une base de données de manière efficace et intelligente est d'y faire du relationnel, ce pour quoi elle est faite. Mais rien ne t'empêche de revenir à Cobol et les fichiers plats. C'est encore ce qu'il y a de plus performant en matière d'accès aux données. Prévoit seulement quelques années pour terminer ton programme !

    A +

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Avril 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant CRM

    Informations forums :
    Inscription : Avril 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    merci pour cette réponse
    Je savais bien que mes "idées" n'étaient pas conformes au modèle relationnel mais comme j'aime bien savoir "pourquoi?", je me posais des questions.
    Aussi, celà me permettait de faciliter la conversion interface/BdD.
    Maintenant, il ne me reste plus qu'a pouvoir gérer facilement ces relations...

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 849
    Points : 52 982
    Points
    52 982
    Billets dans le blog
    6
    Par défaut
    En matière d'apprentissage SQL, mon site comme mon bouquin te sera utile !

    A +

Discussions similaires

  1. [MySQL] Comment gérer l'accés a une base de données ?
    Par info3licen dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 06/05/2010, 21h59
  2. Réponses: 4
    Dernier message: 19/11/2009, 10h28
  3. connexion des listes au base de donnée
    Par ahmedmido dans le forum SharePoint
    Réponses: 0
    Dernier message: 27/03/2008, 21h39
  4. Réponses: 8
    Dernier message: 14/02/2008, 18h04
  5. [.NET 2.0] Comment gérer correctement des sockets ?
    Par MattC dans le forum Framework .NET
    Réponses: 2
    Dernier message: 08/02/2006, 16h31

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