|
|
DIVERS |
|
|
|
SQLpro.developpez.com est le site web n°1 français pour apprendre le langage SQL et les bases de données relationnelles (SGBDR).
Le langage SQL (Structured Query Language) y est décrit de A à Z pour le débutant comme pour le pro...
Le site est associé aux forums techniques les plus actifs du net et comprends de nombreux exemples et des exercices.
SQLpro est un véritable tutoriel sur le langage et la norme SQL et les différents dialectes SQL pour MySQL, Microsoft SQL Server (Transact SQL), Oracle(PL/SQL), BM DB2 (SQL PL), PostGreSQL (PGPL/SQL), InterBase/FireBird, Access, Sybase, SQL lite, mimer, ...
En sus du langage normatif, on y trouvera de nombreux 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.
|
|
Le mémento Microsoft SQL Server pliant, 14 volets sur le DDL et l'administration
vous pouvez acheter ce mémento auprès de Frédéric Brouard / SQL Spot au prix de 7 € TTC envoi compris
réduction pour envoie en nombre. Les bénéfices sont reversés à une association caritative.
pour nous contacter :
|
Ma philosophie d'enseignement...
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, LIMIT de MySQL ou bien CONNECT BY ou ROWNUM 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.
Quant à 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 18 ans de retard... Quant à cet autre cours qui parle uniquement des contraintes d'intégrité référentielles en matière de contraintes du langage 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és afin de faire un tour d'horizon complet du langage. C'est pourquoi je vous recommande PostGreSQL, IBM DB2, MS SQL Server, FireBird ou Ocelot. Je vous déconseille Oracle ou MySQL, 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...
La plupart des éditeurs commerciaux vous proposent des versions gratuites certes limitées. Par exemple la version MS SQL Server Express est gratuite, certes limitée à des bases de 10 Go 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 PostGreSQL qui est entièrement gratuit, contrairement à MySQL qui est payant sous une forme ou une autre (mise à disposition de votre code ou paiement de licence).
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, c'est à dire langage SQL
|
Commencer par...
|
LES FONDEMENTS : Historique - Subdivisions du langage SQL - Types de données - Contraintes, triggers et procédures stockées
|
Poursuivez avec...
|
LIRE LES DONNÉES : le simple SELECT !SELECT les expressions - FROM les tables - WHERE un filtre - ORDER BY tri - Fonctions SQL - NULL les absents - CASE le branchement
|
Approfondissez...
|
JOINDRE LES TABLES : Les jointures - operateur JOIN - NATURAL, INNER, OUTER, CROSS, UNION - équi, non équi, inéqui et théta jointures - Arbre de jointure
|
Explorez...
|
GROUPER, AGRÉGEZ, ENSEMBLEZ : Formez des sous ensembles avec GROUP BY - Agrégez avec SUM, COUNT, MAX, MIN, AVG... - Filtrer les agrégats - opérez des ensembles avec UNION, INTERSECT et EXCEPT
|
Osez...
|
LES SOUS REQUÊTES : Imbriquez vos SELECT - structurez votre code - corrélées vos sous requêtes - utilisez IN, SOME, ANY, ALL, MATCH, UNIQUE, EXISTS
|
Percevez...
|
LA RÉCURSIVITÉ : Les expressions de table (CTE : Common Table Expression) - Requête ancre et requête d'itération - Requêtes de parcours d'arbres - Requêtes de parcours de graphes - Requêtes de parcours de liste : découper une chaîne, concaténez une liste
|
Exploitez...
|
LES FONCTIONS OLAP : Analysez vos données avec les fonctions analytiques et de classement et la clause WINDOW. RANK, ROW_NUMBER, NTILE, LEAD, LAG, FIRST_VALUE, LAST_VALUE....
|
Agissez
|
MODIFIEZ LES DONNÉES : Insérez avec INSERT - Supprimez avec DELETE - modifiez avec UPDATE - jouez avec NULL et DEFAULT
|
Utilisez...
|
LES FONCTIONS SQL : Démultipliez vos requêtes avec les fonctions du langage SQL.
|
Créez...
|
LES OBJETS : Du néant à la création d'une base - jeux de caractères et collations - types de données et domaines - les ASSERTION
|
Inventez...
|
DES TABLES : les tables - contraintes en colonne, contraintes de table : NOT NULL, DEFAULT, PRIMARY KEY, UNIQUE, CHECK, FOREIGN KEY / REFERENCES - la gestion de l'intégrité référentielle déclarative - ALTER pour altérer un objet - DROP pour le supprimer - Les vues - Les informations de schéma
|
Vérifiez...
|
LES PRIVILÈGES : Octroyez des privilèges (ou gratifiez vos utilisateur) avec GRANT - Révoquez les privilèges octroyés avec REVOKE - Utilisez des rôles
|
Textualisez...
|
L'INDEXATION TEXTUELLE : pour faire des recherches en texte intégral (full text) à la manière de Google
|
Géographez...
|
LE SIG SQL : le système d'information géographique (SIG SQL) pour des données spatiales et planaires
|
Comprenez
|
LES TECHNIQUES : A quoi ça sert... - Les TRANSACTIONS - L'intégrité référentielle - Les déclencheurs (triggers) - Les sous requêtes - Les opérations ensemblistes - Les procédures stockées - Les fonctions UDF - La journalisation
|
Atomisez...
|
LA TRANSACTION : Validez avec COMMIT - Annulez avec ROLLBACK - Connaissez les anomalies transactionnelles - Gérez l'isolation de vos transactions
|
Évitez
|
LES ERREURS : Nom des objets - Terminologie - NULL - Sensibilité à la casse - Le dernier - Position - Format de date - Dédoublonnage - Cosmétique - Insertions multiples
|
Exercez
|
REQUÊTES : Des exercices classiques - Un MCD, un MPD - Des tables sous forme SQL DDL - Un jeu d'essais - Des requêtes à élaborer - Les solutions et corections - Vos commentaires en sus !
|
Perfectionnez
|
REQUÊTES : Des puzzles en SQL - Une table sous forme SQL DDL - Un jeu d'essais - Une requête à élaborer - La difficulté noté de 1 à 5 - Les solutions à m'envoyer... - Une correction personnalisée
|
|
|
Date de publication : 31/07/2010 , Date de mise a jour : 14/07/2010 |
Le langage 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... |
Copyright © 2003 Frédéric Brouard. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 € de dommages et intérêts. Cette page est déposée à la SACD.
|
|