Warning: filemtime(): stat failed for /home/developpez/www/developpez-com/upload/nono40./article.css in /home/developpez/www/developpez-com/template/entete.php on line 263
Le langage SQL (Structured Query Language) de A à Z pour le débutant comme pour le pro... avec ses forums associes, de nombreux exemples et des exercices.
SQLpro est le site web n°1 en langue française pour apprendre le langage SQL et les SGBD relationnels.
Ce site constitue un véritable tutoriel sur la norme SQL et les différents dialectes SQL pour MySQL, Microsoft SQL Server (Transact SQL), Oracle(PL/SQL), BM DB2 (SQL PL), PostGreSQL (PG PL/SQL), InterBase/FireBird, Access, Sybase, SQL lite, mimer, HyperFile, Informix, 4D...
Des articles et des cours spécialisés (l'indexation, l'optimisation des requêtes, l'indexation textuelle, SQL récursif et la gestion d'arbres, la division relationnelle, les techniques des SGBD relationnels...)
SQLpro, c'est un véritable guide d'apprentissage et d'autoformation au langage SQL et aux SGBDR
Ce site vous enseigne le langage SQL et les principes des bases de données transactionnelles tel que la norme SQL le conçoit.
Le langage SQL est utilisé par la plupart des SGBD relationnels actuels, mais certains éditeurs comme Oracle ou MySQL ont préféré faire cavalier seul en introduisant sciemment certaines fonctionnalités qui n'ont rien à voir avec la norme, pire qui violent allégrement les principes de base des SGBDR et les fondements du relationnel. Par exemple GROUP_CONCAT de MySQL ou CONNECT BY d'Oracle.
Par analogie, si vous deviez apprendre à conduire, serait-ce raisonnable d'apprendre sur un tank ou sur un quad ? Ne serait-ce pas plus intelligent d'apprendre sur une voiture ordinaire puis ensuite passer allégrement à la légèreté du tank ou la finesse du quad ?
C'est pourquoi il est préférable d'apprendre le langage SQL à travers sa norme plutôt que de se précipiter sur le dialecte SQL de MySQL ou d'Oracle.... En effet il est plus simple de passer de la norme SQL à un dialecte particulier que l'inverse.
Étant moi même enseignant, je suis assez stupéfait de constater que de nombreux cours prétendant présenter le langage SQL parlent exclusivement du dialecte d'un SGBDR particulier. Quelques exemples parmi d'autres : les cours de Richard Grin à l'université de Nice, de Yolaine Bourda à Supelec sont basé sur Oracle. C'est dit dans le support de cours de M. Grin, mais apparemment pas dans celui de Mme. Bourda... Bref, de quoi entretenir la confusion.
Quand à la plupart de ceux disponibles sur Internet et fait par des amateurs, c'est généralement affligeant. En tapant "SQL" dans Google, vous trouverez des cours dont l'imprécision est remarquable... Quelque extraits :
# INTERSECT (ne fait pas partie de la norme SQL et n'est donc pas implémenté dans tous les SGBD). # EXCEPT (ne fait pas partie de la norme SQL et n'est donc pas implémenté dans tous les SGBD)
Ces deux opérateurs ensemblistes font bien entendu partie de la norme SQL depuis sa version 2 de 1992. Ce cours à donc plus de 17 ans de retard... Quand à cet autre cours qui parle uniquement des contraintes d'intégrité référentielles en matière de contraintes SQL, c'est plus que léger.... quand on sait qu'il existe huit types de contraintes d'intégrité dans SQL (contrainte d'intégrité de domaine, clef primaire, unicité, valeur obligatoire, valeur à défaut, validation, référentielle et assertion)...
C'est pourquoi je présente dans ce cours ce que la norme SQL indique et parfois certaines particularités liées à certains SGBDR. Rassurez vous c'est dit en toute lettre...
Si vous voulez vraiment apprendre SQL, je vous conseille de pratiquer ce langage avec un SGBDR à la fois assez respectueux de la norme SQL et suffisamment puissant dans ses fonctionnalité afin de faire un tour d'horizon complet du langage. C'est pourquoi je vous recommande IBM DB2, MS SQL Server, FireBird ou Ocelot. Je vous déconseille MySQL et Oracle, notamment à cause de leurs implémentations spécifiques de SQL et pour MySQL à cause de son manque de fonctionnalité, ses nombreux bugs et son interprétation singulière de la norme SQL... Enfin, il est dommage de constater que PostGreSQL n'est pas à la hauteur du SQL moderne. Il en est resté grosso modo à la norme SQL 2 de 1992. Il lui manque notamment les requêtes récursives, les fonctions de fenêtrage, le groupage OLAP...
La plupart des éditeurs commerciaux vous proposent des versions gratuites certes limitées. Par exemple la version MS SQL Server Express est gratuite et vous pouvez télécharger le moteur et un outil client convivial pour éditer vos requêtes (SQL Server Management Studio Express).
Mais vous pouvez opter pour FireBird qui est entièrement gratuit.
Enfin, un dernier conseil : SQL est un vrai langage de programmation. Aujourd'hui mathématiquement complet (c'est à dire admettant la récursivité depuis la norme SQL:1999 donc plus de 10 ans) il est capable de traiter tout problème théoriquement solvable en une seule requêteà condition de disposer du bon jeu de données au départ. Ce qui revient à dire que l'apprentissage de SQL ne consiste pas à lire trois page web et pratiquer deux requêtes, mais nécessite de nombreuses heures d'étude de travail et d'exercices... En conclusion, et pour paraphraser un site je dirais, SQL, pas si facile que çà !Mais Ô combien puissant !
De toutes façons, rien ne vous empêche de compléter votre apprentissage avec le livre que nous avons écrit, Christian, Rudi et moi. Vous y trouverez de très nombreux exemples et exercices et les explications sont travaillées. Et puis l'avantage du livre, c'est qu'il peut partir en vacances avec vous, même au sommet de l'Himalaya !
Bien entendu, vos commentaires, remarques et critiques sont les bienvenues ! Sans cela, comment progresser ?
S. Q. L.
Trois lettres qui signifie Structured Query Language
Date de publication : 25/05/2008 , Date de mise a jour : 25/08/2008
Le SQL de A à Z pour le débutant comme pour le pro...
Plutôt que d'apprendre le dialecte SQL de chaque éditeur (en fait un patois propre aux différents SGBDR : PL/SQL d'Oracle, Transact SQL de SQL Server, PG PL/SQL de PostGreSQL...) ce site vous fait découvrir la norme SQL c'est à dire la quintescense du langage !
Le professionnel y trouvera de nombreux articles spécialisés et un blog dans lequel l'auteur propose de très nombreuses aides.
SQLpro, c'est aussi un spécialiste SQL à votre service :
expertise, audit, conseil, assistance, formation,analyse, modélisation & développement...
La distance de Levenshtein et la différence de Hamming mesurent la similarité entre deux chaînes de symboles. Je vous présente une troisième fonction de mon invention : l'inférence basique....
Le but de cet article est de démontrer son intérêt, les particularités, les chausses trappes et les moyens que la norme SQL nous donne pour traiter les NULL.
Sources de pollution des données, les doublons sont souvent un vrai casse tête à l'utilisateur novice en SQL... Voici un panorama des méthodes de détection et d'éradication des doublons...
La plupart des SGBDR sont incapables de fournir une réponse correcte aux problématique de calculs de temps. Voici une étude et une solution à tout vos maux temporels !
L'indexation et la recherche sont des points cruciaux des sites Web. Vous allez comprendre et mettre en œuvre certaines techniques utilisées pour l'indexation et la recherche textuelle.
Présentation, sources, modèles et données de ma participation à la conférence Borland de 2003. Sujets : modélisation d'arbre par intervalles sous Delphi + InterBase, calculs temporels avec SQL et optimisation des bases de données.
Pourquoi séparer dans différentes tables des données de même format ? Pourquoi une table des clients et une table des employés alors qu'une seule table des personnes remplirait le même office, et simplifierait le travail des utilisateurs lorsque l'employé devient client de sa propre entreprise ! Visite des différentes techniques de modélisation d'héritage des données.
Savez vous que de nombreux organismes externe proposent des normes et modèles de données qui vous simplifient la vie ? La normalisation permet de gagner facilement de l'argent si elle est implantée lors de l'analyse du projet. Exemples concrets et payants !
De la ré écriture des requêtes au paramétrage du serveur en passant sur l'infrastructure système et l'influence des jeux de caractères sur la rapidité d'exécution de vos requêtes, vous saurez tout ce qu'il faut faire pour booster les performances de votre application et de votre SGBDR favori !
SQL est-il mort ? En 1999 une nouvelle version de SQL a été normalisée. C'est SQL 3. Elle apporte une grande avancée dans le domaine du relationnel objet. D'un autre côté les SGBDR doivent se trourner vers le web et ses standards. Voyons ce que l'avenir prépare dans l'univers des bases de données...
La représentation intervallaire des arbres est une technique très performante qui évite toute récursivité. Ainsi, toutes les recherches deviennent de simples requêtes basique et les performances sont sans communes mesure avec les modèles traditionnels en autojointure.
Grande oubliée, la division est l'une des huit opérations de base de l'algèbre relationnelle. Elle est capable de répondre à des questions aussi simples que : quels sont les clients qui sont abonnés à tous les magazines d’un éditeur ? Réparation de cet oubli.
Non, QBE n'est pas une interface graphique de requêtage, mais un véritable langage de requête inventé par ZLOOF un chercheur d'IBM, au même moment que démarrait SEQUEL l'ancêtre de SQL. Il a été implémenté das Paradox et le moteur DBE de Borland...
Faut-il insérer des images directement dans une colonne BLOB d'une table ? Réflexion sur une fausse bonne idée et présentation d'une méthode basée sur les "méta données".
Comment rendre souple une base de données en permettant à tout utilisateur d'ajouter ses propres caractéristiques aux entitées manipulées sans jamais toucher à la structure de la base ? Explications sur les modèles par méta données...
Transact SQL, est une extension du dialecte SQL de MS SQL Server afin de coder les procédures stockées, les fonctions et les triggers du SGBDR de Microsoft.
Souvent ignorées par architectes, développeurs et chefs de projets, les collations sont des outils uniques et indispensables au traitement des données alpha numériques. Leur usage entraîne une différence de comportement des requêtes, des performances très diverses et se répercute sur la rigueur de l’écriture du code. Cet article fait le point sur ce concept et détaille l’art et la manière de s’en servir avec MS SQL Server 2000.
Certains chefs de projet oublient d'intégrer au développement la sécurité des accès aux bases de données exploitées par les applicatifs. Le but de ce document est d'étudier les moyens de mettre en place cette sécurité "a posteriori".