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

Requêtes et SQL. Discussion :

SQL normalisé OU SQL Access ... Lequel utiliser ... ? [Débat]


Sujet :

Requêtes et SQL.

  1. #1
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut SQL normalisé OU SQL Access ... Lequel utiliser ... ?
    Bonjour à tous ...

    Sur un lien que j'ai trouvé sur Internet, on conseille d'utiliser pour Access le SQL Access par rapport au SQL normalisé ...

    En fait si je donne un exemple avec l'instruction DELETE cela donne :

    SQL NORMALISE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DELETE nom de la table
    WHERE critères des suppressions;
    SQL ACCESS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DELETE nom de champ
    FROM nom de table
    WHERE critères des suppressions;
    Quel SQL est le plus judicieux lorsque on utilise Access ... ???

    Ma question est peut être bête mais j'aimerais savoir de telle façon que je puisse modifier une convention pour le SQL que j'ai faite ...

    Merci de vos réponses ...

  2. #2
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    J'aurais tendance à dire le SQL normalisé.

    Cela t'évitera pas mal d'ennuis si tu passes un jour sur un SGBD du type Oracle.

  3. #3
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    Merci pour ta réponse mais j'ai une petite question ...

    Pourquoi alors Access a "créer" un SQL pour lui ???

    En fait pourquoi n'a-t'on pas directement tout fait en SQL normalisé ???

    Merci pour tes réponses ...

  4. #4
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Oula, on s'engage sur un terrain miné, là...

    Je pense qu'Access possède son "propre" SQl pour des raisons que seul MicroSoft pourrait t'expliquer:
    - imposer un standard;
    - vulgariser le SQL afin de rendre Access plus accessible à un public non averti;
    - là, je sèche....

  5. #5
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    Frank dit :

    Oula, on s'engage sur un terrain miné, là...
    D'accord ... alors je ne vais pas demander plus de précisions la dessus .

    Merci pour tes compléments d'information ... ...

    Alors je vais "essayer" d'utilise le SQL normalisé pour faire mes requêtes Access ( même si des fois c'est plus simple de créer ses requêtes avec l'assistant de création de requête d'Access )

    Merci pour tout et à tout bientôt ...

  6. #6
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Citation Envoyé par Frank
    Oula, on s'engage sur un terrain miné, là...

    Je pense qu'Access possède son "propre" SQl pour des raisons que seul MicroSoft pourrait t'expliquer:
    - imposer un standard;
    - vulgariser le SQL afin de rendre Access plus accessible à un public non averti;
    - là, je sèche....
    Sans oublier pour permettre un accès aux fonctions VBA

  7. #7
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Citation Envoyé par Tofalu
    Citation Envoyé par Frank
    Oula, on s'engage sur un terrain miné, là...

    Je pense qu'Access possède son "propre" SQl pour des raisons que seul MicroSoft pourrait t'expliquer:
    - imposer un standard;
    - vulgariser le SQL afin de rendre Access plus accessible à un public non averti;
    - là, je sèche....
    Sans oublier pour permettre un accès aux fonctions VBA
    C'était la partie qui me manquait.

  8. #8
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Mais c'est vrai qu'au fond, le débat est interressant. Un exemple simple :

    Les requêtes UPDATE utilisant une sous requete ne sont pas supportées. On est alors obligé d'utiliser des fonctions de regroupement ( D* ). Fonctions qui sont carrément déconseillées par MS car trop gourmande en ressources

    On en arrive assez rapidement à la conclusion que si VBA est le point fort d'Access son SQL reste malheureusement un de ses points faibles. Certes cela tend à s'améliorer au fil du temps avec une prise en compte notamment de la partie DDL de SQL. Mais je crois que le chemin est encore long et qu'on est pas prête de voir le bout du tunnel

  9. #9
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    Je vois que ce sujet même résolu est un sujet que beaucoup de personnes trouve intéressant alors je vais le laisser sans la balise résolu pour que plusieurs personnes puissent apporter leur avis sur cette question ...

    Bonne journée ...

  10. #10
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    Franck a écrit:
    J'aurais tendance à dire le SQL normalisé.

    Cela t'évitera pas mal d'ennuis si tu passes un jour sur un SGBD du type Oracle.
    c'est également mon point de vue

  11. #11
    Invité
    Invité(e)
    Par défaut
    Salut,

    Comme tout le monde, je dirais le normalisé, travaillant aussi en VB6, je l'utilise. Il faut mieux prendre de bonnes habitudes tout de suite.

    Starec

  12. #12
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    Starec dit:
    Il faut mieux prendre de bonnes habitudes tout de suite.
    Juste!je regrette de n'avoir pas su ça un peu plus tôt;jusqu'à présent, par paresse,j'utilise SQL access;et j'ai d'énormes pb quand je dois passer à Oracle ou SQL Server.
    Ce debat est le bien bienvenue;surtout pour ceux qui commencent avec Access;enfin c'est mon humble avis.

  13. #13
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    perso j'utliserais le sql access

    qui à vrai dire n'utilise le sql normalisé (ansi??) ?

    si on regarde les manuels des différents prestataires on trouve toujours
    des écarts plus ou moins lourds

    par contre l'évolution intra acees me paraît plus assurée
    et s'il faut migrer de toutes façons un gros travail de toilettage sera
    nécessaire

  14. #14
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Je n'utilise que le SQL access pour la bonne et simple raison qu'Access est le seul outil de developpement dont je dispose... et que je n'aurais certainement rien d'autre...

    Citation Envoyé par random
    par contre l'évolution intra acees me paraît plus assurée
    et s'il faut migrer de toutes façons un gros travail de toilettage sera
    nécessaire
    +1

  15. #15
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    Random:
    si on regarde les manuels des différents prestataires on trouve toujours des écarts plus ou moins lourds
    ok, random mais que penses tu de l'ecart entre SQL Server et SQL Access? c'est intra microsoft là.
    Citation:
    par contre l'évolution intra acees me paraît plus assurée
    Oui, mais il s'agit, pour rester intra microsoft, de reduire l'ecart entre SQL Server et Access.c'est peut trop fort ou trop pessimiste ce que je dit, mais l'avenir d'access en tant que SGBD c'est SQL Server:
    Extrait de l'aide d'access:
    base de données Microsoft SQL Server : base de données dans Microsoft SQL Server. Elle est composée de tables, de vues, d'index, de procédures stockées et de déclencheurs.)
    projet Microsoft Access : fichier Access qui établit une connexion à une base de données Microsoft SQL Server et qui sert à créer des applications client-serveur. Un fichier de projet ne contient aucune données ni aucun objet basé sur la création de données telles que des tables ou des vues.)
    On voit bien qu'un projet access (.ADP) est beaucoup plus "Frontal" que SGBD.Je pourrais donc me passer d'un projet (.ADP) au profit d'un VB.Net ou C#;y faire mes form. ma question: que m'apporte un projet access si je sais travailler en VB.Net ou C#? et le moteur jet dans tout ça?
    Voila pourqoi:
    Il faut mieux prendre de bonnes habitudes tout de suite.
    Peut etre que je perçois mal ou je pose mal le pb?

  16. #16
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Un projet adp est frontal étant donné que les tables sont sur le serveur SQL.

    Mais de toute façon, si SQL est normalisé, (SQL 3) en ce moment, on remarque tout de suite que tous les SGBD implémantent cette norme à leur manière. Un exemple simple, si on prend le forum Langage SQL, regardez toutes les questions, à chaque fois on retrouve la question :"Quel est ton SGBD ?"

    A priori, sur un forum aussi général que Langage SQL, les réponses devraient être universelles et pourtant chaque firme (Oracle, MS, etc ...) a développé sa (ses) solutions autour de la norme afin d'offrir les meilleurs performances correspondant à leur moteur de base de données.

Discussions similaires

  1. [SQL ACCESS 2003] Utilisation de DSUM
    Par massif dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 21/07/2008, 15h33
  2. Réponses: 7
    Dernier message: 10/01/2007, 18h41
  3. Réponses: 2
    Dernier message: 06/06/2005, 15h13
  4. Réponses: 2
    Dernier message: 04/06/2004, 11h11

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