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

PHP & Base de données Discussion :

Conception de classes d'accès à une BDD


Sujet :

PHP & Base de données

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 1
    Par défaut Conception de classes d'accès à une BDD
    Bonjour à tous !

    J'ai un petit problème de conception qui me vexe, quelqu'un pourrait-il m'aider avant que je ne perde toute confiance en moi ?

    J'ai du mal à concevoir mes classes d'accès à une base de données.

    Il s'agit d'une petite application web essentiellement destinée à manipuler (CRUD) une unique structure de données stockée en base. Cette structure, "Edifice" est un peu compliquée : un "Edifice" comprend N "Batiment" comprenant eux-mêmes N "Elevation", N "Niveau" et 0 ou 1 "Logis". De plus, ces différentes ramifications de l'"Edifice" possèdent chacune des champs multivalués à renseigner grâce à des tables de thésaurus.
    Bref, la structure est claire et plutôt bien définie, mais il y a un grand nombre de relations 1-plusieurs et donc de tables de liaison.

    Une approche ORM artisanal me parait trop couteuse et multiplierait les requêtes de façon délirante, j'ai l'impression. A moins de pouvoir faire autre chose que requêter pour chaque Edifice les Batiment, pour chaque Batiment, les Elevation, etc.

    Du coup, j'envisage de coder différentes méthodes pour charger les Edifice plus ou moins intégralement, selon les besoins, pour tel ou tel affichage. Par exemple, la liste des Edifice montrerait seulement quelques infos de base à propos de chacun des Batiment fils, ce que je peux ramener en une ou deux requêtes SQL, au lieu de N + 1 requêtes (N étant le nombre d'Edifice).

    Si j'adoptais cette solution, il faudrait encore que je m'éclaircisse comment construire mes objets, plus ou moins remplis...

    Quelqu'un a-t-il déjà été confronté à ce genre de problème ? Ce petit exposé est-il compréhensible ?

    Merci pour vos réponses !!! =)

    PS : le projet est à pondre en PHP, avec le Zend Framework éventuellement. Venant du monde Java, je patauge un peu ^^

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour,
    J'ai eu un problème semblable au tien: une donnée composée de n autres données elles-même composées de n autres autres données... Le code sur lequel je devais intervenir lisait les données linéairement, une table après l'autre, construisait les différentes strates d'objets et les reliait avec plus ou moins de bonheur entre eux. Bilan des courses: des chargements pouvant dépasser l'heure.
    La solution que nous avions adopté a été de faire des méthodes de chargements plus intelligente en allant chercher les données jointées comme il faut pour obtenir tout dans un minimum de requêtes, quitte à gérer des objets 'partiels' dont on va chercher les infos uniquement au moment où on en a besoin. Donc à mon sens, c'est à privilégier. Les exemples typiques sont ceux où tu as des données qui conditionnent ton affichage et d'autre pas. Alors pourquoi charger celles-ci?
    Par contre c'était dans le monde du C/C++, donc pour une implémentation spécifique PHP, à voir dans les forums spécialisés une fois ta conception fini ;-)

Discussions similaires

  1. Générer des classes à partir d'une BDD
    Par christo.pop dans le forum Persistance des données
    Réponses: 2
    Dernier message: 27/03/2007, 09h11
  2. Sauvegarder une instance d'une classe Java dans une BDD MySQL
    Par malag dans le forum Administration
    Réponses: 1
    Dernier message: 03/09/2006, 19h23
  3. Generateur de classe à patir d'une bdd
    Par atovik dans le forum Langage
    Réponses: 1
    Dernier message: 18/07/2006, 20h49
  4. [Conception] affichage image venant d'une bdd
    Par ph_anrys dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/06/2006, 09h18
  5. [Conception] Pb d insertion dans une BDD des données d un formulaire
    Par xtiand4 dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 02/06/2006, 18h18

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