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

 SGBD Discussion :

PDO, requêtes préparées et procédures stockées


Sujet :

SGBD

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2014
    Messages : 7
    Points : 6
    Points
    6
    Par défaut PDO, requêtes préparées et procédures stockées
    Bonsoir,

    Une question de néophyte pour valoriser une argumentation :

    Est-ce propre à PDO de proposer en même temps les requêtes préparées et les procédures stockées ?
    Je dois importer des données à partir de SimpleXMLELement. Ces données viennent initialement d'un fichier XML régulièrement mis à jour. La mise jour dans la BD sera exécutée régulièrement via cron.

    PDO m'a donc été recommandé. Quels sont les avantages par rapport à d'autres langages pour importer des données string ?
    Je dois argumenter sur les performances, en fonction de la solution choisie.
    Je suis plutôt néophyte, même si je commence à me soigner donc, des explications dans un jargon que je peux facilement comprendre

    D'avance, merci de vos réponses.

    McCallum

  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 774
    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 774
    Points : 52 743
    Points
    52 743
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par McCallum Voir le message
    Bonsoir,

    Une question de néophyte pour valoriser une argumentation :

    Est-ce propre à PDO de proposer en même temps les requêtes préparées et les procédures stockées ?
    Absolument pas. Tous les langages de type L4G le font... et les langages de type L4G existent depuis le début des années 80 à un moment ou PHP n'était pas né!
    Je dois importer des données à partir de SimpleXMLELement. Ces données viennent initialement d'un fichier XML régulièrement mis à jour. La mise jour dans la BD sera exécutée régulièrement via cron.

    PDO m'a donc été recommandé. Quels sont les avantages par rapport à d'autres langages pour importer des données string ?
    Je dirais que ce n'est pas dut tout un langage adapté. En effet, PHP est un langage dédié aux IHM (Interface Homme Machine) et pas du tout profilé pour faire du traitement de données... Bref, les performances en seront très médiocres et les impasses nombreuses ! Mieux vaut un langage dédié "calcul" comme C++ ou C#.
    En outre s'il y a un fort volume de données, alors mieux vaut confier cela directement au SGBDR s'il possède les routines adéquates pour ce faire.
    Par exemple SQL Server permet d'enregistrer des données XML dans des colonnes de type XML valide, les indexer et les traiter à l'aide de requêtes SQL incorporant XQuery et XPath... Les performances sont alors sans commune mesure avec tout traitement itératif, même avec un langage compilé (C++ par exemple).
    Quelques petits exemples :
    http://blog.developpez.com/sqlpro/p8...ent_xml_simple
    blog.developpez.com/sqlpro/p12553/ms-sql-server/tabulariser-un-xml-generique-avec-sql-server
    blog.developpez.com/sqlpro/p12754/ms-sql-server/meta-modele-en-xml



    Je dois argumenter sur les performances, en fonction de la solution choisie.
    Je suis plutôt néophyte, même si je commence à me soigner donc, des explications dans un jargon que je peux facilement comprendre

    D'avance, merci de vos réponses.

    McCallum
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2014
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Grand merci SQLpro pour cette réponse détaillée !

    Citation Envoyé par SQLpro
    En outre s'il y a un fort volume de données, alors mieux vaut confier cela directement au SGBDR s'il possède les routines adéquates pour ce faire.
    Par exemple SQL Server permet d'enregistrer des données XML dans des colonnes de type XML valide, les indexer et les traiter à l'aide de requêtes SQL incorporant XQuery et XPath... Les performances sont alors sans commune mesure avec tout traitement itératif, même avec un langage compilé (C++ par exemple).
    Je ne pense pas que ce soit possible avec on projet :
    1. je n'importe les valeurs que de quelques $node, ceux qui m'intéresse ;
    2. en plus je dois remplacer le nom de quelques $node car les colonnes sont nommées différemment.
    En fait, il s'agit de deux projets qui ont été développées séparément mais l'un (XML-TEI) va permettre d'enrichir la BD existante mySQL.
    C'est la raison pour laquelle, on m'a suggéré de parser avec SimpleXMLElement puis ensuite d'importer dans la BD mySQL avec PDO, après avoir vérifié que la ligne n'existe pas déjà.

    Voici un exemple en gras de ce qui doit être importé d'un doc XML-TEI :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <lg xml:lang="en">
       <l n="5b-6a" ana="#ktu1-3_ii_l5b_6a" xml:id="ktu1.3_ii_6a"><w>w</w><w>hln</w><g>.</g><name type="entity" ana="#ANT">ʾnt</name><g>.</g><w type="verb" ana="#MḪṢ01">tmtḫṣ</w><w>b</w><w type="noun" ana="#ʿMQ" lemmaRef="uga/noun.xml#ʿmq">ʿmq</w></l>
    </lg>


    Je vais cependant regarder les liens que tu m'as envoyés

    McCallum

  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 774
    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 774
    Points : 52 743
    Points
    52 743
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par McCallum Voir le message
    Je ne pense pas que ce soit possible avec on projet :
    1. je n'importe les valeurs que de quelques $node, ceux qui m'intéresse ;
    2. en plus je dois remplacer le nom de quelques $node car les colonnes sont nommées différemment.
    En fait, il s'agit de deux projets qui ont été développées séparément mais l'un (XML-TEI) va permettre d'enrichir la BD existante mySQL.
    C'est la raison pour laquelle, on m'a suggéré de parser avec SimpleXMLElement puis ensuite d'importer dans la BD mySQL avec PDO, après avoir vérifié que la ligne n'existe pas déjà.
    Tout ce qui est en XML se manipule avec les langage XQuery et XPath quelque soit l'outil utilisé.
    Votre classe SimpleXMLElement ne fait qu'utiliser XQuery et XPath pour manipuler ce que l'on apelle un "fragment" XML.
    Non seulement vous pouvez faire la même chose dans SQL Server mais avec les performances en plus.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Requêtes préparées et procédures stockées
    Par kuplukopo dans le forum Requêtes
    Réponses: 4
    Dernier message: 30/05/2013, 13h16
  2. Requêtes Préparées et procédures stockées
    Par FadeToBlack dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 29/01/2013, 20h21
  3. [SQL-Server] requête sur des procédures stockées
    Par babap1 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 05/07/2007, 13h23
  4. Problème de longueur de requête dans une procédure stockée
    Par doudou_rennes dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 21/03/2007, 16h39
  5. Réponses: 4
    Dernier message: 16/12/2005, 16h25

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