alphorm.com formation le langage sql

205
Le langage SQL Présentation de la formation Le langage SQL pour les Bases de données relationnelles alphorm.com™© Le langage SQL Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données

Upload: alphormcom

Post on 07-Jul-2015

4.081 views

Category:

Technology


271 download

DESCRIPTION

Vous trouverez la formation complète ici: http://www.alphorm.com/tutoriel/formation-en-ligne-le-langage-sql Cette formation vous apprendra à comprendre et à maîtriser le langage SQL en environnement SGBDR. Durant cette formation vous apprendrez à extraire, insérer, modifier et supprimer des données. Construire et comprendre des requêtes simples et complexes. Cette formation permettra également aux administrateurs et développeurs de bases de données d'exploiter les informations de l'entreprise et de créer des objets, quel que soit le SGBDR qui les héberge. A la fin de cette formation, le langage SQL n'aura plus de secrets pour vous !

TRANSCRIPT

  • 1. Prsentation de la formationLe langage SQLSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com

2. Plan Prsentation du formateur Mes formations sur alphorm Quest ce que cest le langage SQL Le plan de formation Publics concerns Connaissances requises Liens utilesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 3. Le formateur Noureddine DRISSI Expertise dans le domaine des bases de donnes 15 annes dexprience sur tous les SGBDR du march (Langage SQL, Mysql, Oracle,SQL Server, Postgresql,DB2, MongoDB) Issue de lenvironnement bancaire [email protected] Mon profil sur alphorm.com : http://www.alphorm.com/auteur/noureddine-drissiLe langage SQL pour les Bases de donnes relationnelles alphorm.com 4. Mes formations sur alphorm.comFormation MySQL,Administration(1Z0-883)Formation Oracle Database11g DBA 1 (1Z0-052)Formation MongoDB,administrationFormation AdministrationPostgreSQLFormation AdministrationSQL Server 2012 (70-462)Le langage SQL pour les Bases de donnes relationnelles alphorm.com 5. Quest ce que cest le langage SQL SQL ( Structured Query Language) Un langage de dfinition de donnes(LDD ou DDL) Un langage dinterrogation de donnes(LID) Un langage de manipulation de donnes(LMD ou DML) Un langage de contrle de donnes(LCD ou DCL) Le seul langage qui permet dinteragir avec le SGBDRLe langage SQL pour les Bases de donnes relationnelles alphorm.com 6. Plan du cours Prsentation de la formation Le langage d'interrogation de donnes (LID) Requtes mult-tables (LID) Les requtes complexes Le langage de manipulation de donnes (LMD) Le langage de dfinition de donnes (LDD) ConclusionLe langage SQL pour les Bases de donnes relationnelles alphorm.com 7. Publics concerns Toute personne ayant un profil dinformaticien dsirant se servir de SQLen environnement SGBDR(Oracle,SQL Server,MySQL,PostgreSQL)Le langage SQL pour les Bases de donnes relationnelles alphorm.com 8. Connaissances requises Aucune connaissance pralableLe langage SQL pour les Bases de donnes relationnelles alphorm.com 9. Objectifs Apprhender les fondements du langage SQL; Matriser la structure du langage SQL; Crer des objets avec le langage de dfinition des donnes; Interroger efficacement une base de donnes SQL; Ecrire et lire des requtes SQL simples et complexes.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 10. Liens utiles Tutoriels : http://sql.developpez.com Livres :Le langage SQL pour les Bases de donnes relationnelles alphorm.com 11. GOLe langage SQL pour les Bases de donnes relationnelles alphorm.com 12. Prsentation de laformationPrsentation deSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumlenvironnementNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 13. Objectifs Configurer lenvironnement de travail Vrifier et configurer les pr-requis Installer le SGBDR SQL Server 2012 Express Edition Installer SQL Server Management Studio Se connecter au moteur de base de donnes SQL Server Crer la base de donnes factLe langage SQL pour les Bases de donnes relationnelles alphorm.com 14. Les pr-requis Matriel Mmoire Minimum :- ditions Express : 512 MO Processeur Minimum :- Processeur x86 : 1,0 GHz, Processeur x64 : 1,4 GHz- Recommand : 2,0 GHz ou plus Disque Minimum :- 2,2 GO disponibleLe langage SQL pour les Bases de donnes relationnelles alphorm.com 15. Les pr-requis Logiciel OS Windows 8 ; Windows 7; Windows Server 2008 R2; Windows Server 2008Service Pack 2; Windows Vista Service Pack 2 .NET Framework 3.5 SGBDR http://www.microsoft.com/fr-fr/download- SQL Server 2012 Express Edition (SQLEXPR_x64_FRA.exe)- SQL Server Management Studio (SQLManagementStudio_x64_FRA.exe) Script de cration de la base de donnes fact (fact.sql)Le langage SQL pour les Bases de donnes relationnelles alphorm.com 16. Atelier Installation du .Net Framework 3.5 Installation de SQL Server 2012 Express Edition Installation de SQL Server Management Studio Connection au moteur de base de donnes Cration de la base de donnes fact (script fact.sql)Le langage SQL pour les Bases de donnes relationnelles alphorm.com 17. Prsentation des composantsLe langage SQL pour les Bases de donnes relationnelles alphorm.com 18. Prsentation de laformationPrsentation desSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumcomposantsNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 19. Objectifs Dcrire les composants dun SGBDR Quest-ce quune base de donnes relationnelle ? Les objets dune base de donnes relationnelle Les tables et leurs caractristiques La notion dintgrit des donnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 20. Quest-ce quune base de donnes ? Permet de stocker la description des objets (ex: table) Permet de stocker les donnes dans un ou plusieurs fichiers Permet de grer laccs aux donnes Permet dassurer lintgrit des donnesSGBDRdatafactOracle, SQL Server,PostgreSQL, MySQLClient SQLSQLTablesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 21. Les objets dune base de donnes relationnellefactTablesTablesTablesTablesTablesIndexesTablesTablesVuesTablesTablesSynonymesTablesTablesSquencesTablesTablesFonctionsTablesTablesProcduresTablesTablesTriggersLe langage SQL pour les Bases de donnes relationnelles alphorm.com 22. Les tables et leur caractristiques Permet de stocker des donnes dans une base Contient un ensemble de colonnes (champ) Chaque colonne possde un nom et un type de donnesColonne (champ)TableEnregistrementLe langage SQL pour les Bases de donnes relationnelles alphorm.com 23. La notion dintgrit des donnes Assure par des contraintes sur les colonnes NULL ou NOT NULL Cls primaires Contrainte UNIQUE Cls trangres Contraintes de contrle Taille et le type de donnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 24. Prsentation du langage SQLLe langage SQL pour les Bases de donnes relationnelles alphorm.com 25. Prsentation de laformationPrsentation du langageSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumSQLNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 26. Objectifs Caractristiques du langage SQL Les principaux types de langages Les limites du langage SQLLe langage SQL pour les Bases de donnes relationnelles alphorm.com 27. Caractristiques du langage SQL SQL pour Structured Query Language Permet de manipuler des donnes stockes dans des bases de donnes relationnelles Cr en 1974 par IBM et normalis depuis 1986 (ANSI et ISO) Reconnu par la grande majorit des SGBDR du march Oracle SQL Server PostgreSQL MySQL ...Le langage SQL pour les Bases de donnes relationnelles alphorm.com 28. Les principaux types de langages LMD (Langage de manipulation de donnes) LID (langage dinterrogation de donnes) SELECT INSERT, UPDATE et DELETE LDD (Langage de dfinition de donnes) LCD (langage de contrle de donnes) GRANT et REVOKE CREATE, ALTER, TRUNCATE, DROP et RENAMELe langage SQL pour les Bases de donnes relationnelles alphorm.com 29. Les limites du langage SQL Non procdural PL/SQL (Oracle) T-SQL (SQL Server) PlpgSQL (PostgreSQL) Portabilit limit Fonctions spcifiques chaque SGBDR Typage diffrent dun SGBDR un autreLe langage SQL pour les Bases de donnes relationnelles alphorm.com 30. Prsentation du modle de donnespour les ateliersLe langage SQL pour les Bases de donnes relationnelles alphorm.com 31. Prsentation de laformationPrsentation du modleSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumde donnes pour lesateliersNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 32. Le modle de donnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 33. Le langage dinterrogation dedonnes (LID)Le langage SQL pour les Bases de donnes relationnelles alphorm.com 34. Le langage dinterrogationde donnes (LID)Ordre SELECTSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 35. Objectifs Connatre la synthaxe basique de lordre SELECT Raliser des extractions de donnes monotable Traiter les colonnes contenant des valeurs NULL Utiliser les oprateurs arithmtiques et loprateur de concatnationLe langage SQL pour les Bases de donnes relationnelles alphorm.com 36. Synthaxe: ordre SELECTSELECT [DISTINCT ] { * , [champ1 [AS] alias1 [,...]}FROM nom_table;Le langage SQL pour les Bases de donnes relationnelles alphorm.com 37. Traitement de la valeur NULL Fonctions COALESCE(SQL Server, PostgreSQL et MySQL) NVL (Oracle)SELECT COALESCE (nom_champ, valeur) [AS] aliasFROM nom_table;Le langage SQL pour les Bases de donnes relationnelles alphorm.com 38. Les oprateurs arithmtiques Liste des oprateurs Addition: + Soustraction: - Multiplication: * Division: /Le langage SQL pour les Bases de donnes relationnelles alphorm.com 39. Oprateur de concatnation SQL Server: CONCAT( ), + MySQL: CONCAT( ) Oracle, PostgreSQL: CONCAT( ), ||Le langage SQL pour les Bases de donnes relationnelles alphorm.com 40. La clause WHERELe langage SQL pour les Bases de donnes relationnelles alphorm.com 41. Le langage dinterrogationde donnes (LID)Clause WHERESite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 42. Objectifs Utiliser la clause WHERE dans un ordre SELECT Utiliser les diffrents oprateurs logiques Raliser des filtres sur le rsultat dun ordre SELECT en utilisant plusieursoprateurs logiquesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 43. SyntaxeSELECT [DISTINCT ] { * , [champ1 [AS] alias1 [,...]}FROM nom_tableWHERE condition;Le langage SQL pour les Bases de donnes relationnelles alphorm.com 44. Les oprateurs logiquesOprateur Description= Egale ou != DiffrentPas gale Suprieur Infrieur = Suprieur ou gale = Infrieur ou gale [NOT] IN Liste de plusieurs valeurs possibles[NOT] BETWEEN Valeur comprise dans un intervalle donne[NOT] LIKE Recherche en spcifiant le dbut, milieu ou fin dun motIS NULL La valeur est nulleIS NOT NULL La valeur nest pas nulleAND et OR Combine plusieurs expressions de type logiqueLe langage SQL pour les Bases de donnes relationnelles alphorm.com 45. La commande GROUP BYLe langage SQL pour les Bases de donnes relationnelles alphorm.com 46. Le langage dinterrogationde donnes (LID)La commande GROUP BYSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 47. Objectifs Utiliser les fonctions dagrgats Utiliser la commande GROUP BY dans un ordre SELECT sur une fonctiondagrgat Filtrer sur le rsultat dun GROUP BY avec la clause HAVINGLe langage SQL pour les Bases de donnes relationnelles alphorm.com 48. SyntaxeSELECT champ1, FONCTION(champ2) [AS] alias1FROM nom_tableGROUP BY champ1;Le langage SQL pour les Bases de donnes relationnelles alphorm.com 49. Les fonctions dagrgats AVG() pour calculer la moyenne dun set de valeur. COUNT() pour compter le nombre de lignes. MAX() pour rcuperer la plus grande valeur. MIN() pour rcuperer la plus petite valeur. SUM() pour calculer la somme de plusieurs lignes.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 50. La clause HAVING Permet de filtrer sur le rsultat dun GROUP BYSELECT champ1, FONCTION(champ2) [AS] alias1FROM nom_tableGROUP BY champ1HAVING condition;Le langage SQL pour les Bases de donnes relationnelles alphorm.com 51. La commande ORDER BYLe langage SQL pour les Bases de donnes relationnelles alphorm.com 52. Le langage dinterrogationde donnes (LID)La commande ORDER BYSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 53. Objectif Utiliser la commande ORDER BY pour trier les donnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 54. SyntaxeSELECT [DISTINCT ] { * , [champ1 [AS] alias1 [,...]}FROM nom_tableORDER BY champ1 [ASC|DESC] [,...];Le langage SQL pour les Bases de donnes relationnelles alphorm.com 55. Les fonctions SQLLe langage SQL pour les Bases de donnes relationnelles alphorm.com 56. Le langage dinterrogationde donnes (LID)Les fonctions SQLSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 57. Objectifs Connatre et savoir utiliser les fonctions SQL Les fonctions dagrgation Les fonctions chane de caractres Les fonctions de conversion de type Fonctions date Fonctions mathmatiques Fonctions trigonomtriques Fonctions logarithmiquesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 58. Fonctions dagrgation AVG() pour calculer la moyenne dun set de valeur. COUNT() pour compter le nombre de lignes. MAX() pour rcuperer la plus grande valeur. MIN() pour rcuperer la plus petite valeur. SUM() pour calculer la somme de plusieurs lignesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 59. Fonctions chane de caractres LEN(champ) retourne le nombre de caractres. LOWER(champ) change la casse en minuscule. UPPER(champ) change la casse en majuscule. SUBSTRING(champ,dp,lg) renvoie lg caractres de champ partir de dp. LTRIM(champ) et RTRIM(champ) supprime les espaces non significatifs. RIGHT(champ,n) renvoie les n caractres plus droite. LEFT(champ,n) renvoie les n caractres plus gauche. REPLACE(champ,vs,vc) permet de remplacer dans champ toutes les occurences de vs parvc. ...Le langage SQL pour les Bases de donnes relationnelles alphorm.com 60. Fonctions de conversion de type CAST(expression AS type_donnes) permet de convertir une valeur dans le typespcifi. CONVERT(type_donnes, exp [,style]) conversion de lexpression dans le typespcifi. Un style peut tre utilis dans les conversions date ou heure.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 61. Fonctions date GETDATE() date et heure systme. DATEPART(format,expd) renvoie la valeur de la partie date selon le format. DATEDIFF(format,expd1, expd2) diffrence selon le format entre les deux dates. DATEADD(format, n, expd) ajoute n format la date expd. DAY(expd) retourne le numro du jour dans le mois. MONTH(expd) retourne le numro du mois. YEAR(expd) retourne lanne. ...Le langage SQL pour les Bases de donnes relationnelles alphorm.com 62. Fonctions mathmatiques SQRT(expn) racine carre de expn. POWER(expn, n) expn la puissance n. SQUARE(expn) calcul du carr de expn. ABS(expn) valeur absolue de expn. SIGN(expn) renvoie 1 si expn est positif, -1 si ngatif et 0 si gale zro. ...Le langage SQL pour les Bases de donnes relationnelles alphorm.com 63. Fonctions trigonomtriques PI() valeur du nombre PI. SIN(expn) , TAN(expn) , COS(expn) , COT (expn) ...Le langage SQL pour les Bases de donnes relationnelles alphorm.com 64. Fonctions logarithmiques EXP(expn) exponentielle de expn. LOG(expn) logarithme nprien de expn. ...Le langage SQL pour les Bases de donnes relationnelles alphorm.com 65. Expression CASELe langage SQL pour les Bases de donnes relationnelles alphorm.com 66. Le langage dinterrogationde donnes (LID)Expression CASESite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 67. Objectifs Connatre la syntaxe de linstruction CASE Mettre en place une condition dinstruction conditionnel aveclinstruction CASELe langage SQL pour les Bases de donnes relationnelles alphorm.com 68. Syntaxe: CASE sur expressionCASE expressionWHEN valeur1 THEN resultat1[WHEN valeur2 THEN resultat2, ...][ELSE resultat]END;Le langage SQL pour les Bases de donnes relationnelles alphorm.com 69. Syntaxe: CASE gnralisCASEWHEN condition1 THEN resultat1[WHEN condition2 THEN resultat2, ...][ELSE resultat]END;Le langage SQL pour les Bases de donnes relationnelles alphorm.com 70. Rcapitulatif sur lordre SELECTmonotable et exercicesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 71. Le langage dinterrogationde donnes (LID)Rcapitulatif sur lordreSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumSELECT monotable etexercicesNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 72. Objectifs Syntaxe gnrale de lordre SELECT monotable Exercices pratiquesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 73. Ordre SELECT: syntaxe gnraleSELECT [DISTINCT ou ALL] * ou liste de colonnesFROM nom_de_table[WHERE prdicats][GROUP BY ordre des groupes][HAVING condition][ORDER BY ] liste de colonnes;Le langage SQL pour les Bases de donnes relationnelles alphorm.com 74. Ordre SELECT: Exercice 1 (sol_exercice1.txt) La projection totale et partielle Listez tous les employs de la socit. Listez toutes les catgories de produits. Affichez le nom, prenom et date de naissance de tous les employs. Affichez la liste des fonctions des employs, chaque fonction doit treaffiche une seule fois. Affichez la liste des villes des clients, chaque ville doit tre affiche une seulefois.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 75. Ordre SELECT: Exercice 2 (sol_exercice2.txt) La restriction (WHERE) Listez tous les clients dont le pays est lespagne. Listez toutes les employs qui ne sont pas des reprsentants. Affichez le nom de la societ, la ville, le pays et le fax de tous les clients quiont un numro de fax renseign. Affichez la liste de tous les employs embauchs en 1993.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 76. Ordre SELECT: Exercice 3 (sol_exercice3.txt) Les oprateurs Affichez le nom, prnom, fonction et salaire des employs qui ont un salairecompris entre 2500 et 3500. Affichez le nom de la socit, ladresse, le tlphone et la ville des clients quihabitent Toulouse, Strasbourg, Nantes ou Marseille.Affichez le nom, prnom, fonction et le salaire des reprsentants qui sont en activit depuis le 10/10/1993 . Affichez le nom, prnom, fonction et le salaire des employs qui sont gs deplus de 45 ans ou qui ont une anciennet de plus de 10 ans. Affichez le nom, prnom, fonction et le salaire des employs dont le nomcommence par la lettre D .Le langage SQL pour les Bases de donnes relationnelles alphorm.com 77. Ordre SELECT: Exercice 4 (sol_exercice4.txt) Divers Affichez le nombre de clients par pays. Affichez la masse salariale (SOMME des salaires) pour chaque fonction desemploys. Affichez les employs par ordre alphabtique de leur nom et du plus grandsalaire au plus petit.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 78. Ordre SELECT: Exercice 5 (sol_exercice5.txt) Expression CASE Simulez une augmentation du salaire en fonction de la fonction desemploys en affichant le nom, prnom, fonction et salaire: Si Vice-prsident augmentation de 10% Si Chef des ventes augmentation de 20% Si Reprsentant(e) augmentation de 10% + commission Sinon augmentation de 10%Le langage SQL pour les Bases de donnes relationnelles alphorm.com 79. Requtes multi-tablesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 80. Requtes multi-tables(LID)La notion de jointureSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum(relation)Noureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 81. Objectifs Comprendre la notion de jointure Comprendre en quoi consiste une relation entre deux tablesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 82. La jointure (relation)Cl trangreFORMATEURS FORMATIONSCl primaireFORMATEURS.formateur_num=FORMATIONS.formateur_numRsultat de la requteLe langage SQL pour les Bases de donnes relationnelles alphorm.com 83. Le produit cartsienLe langage SQL pour les Bases de donnes relationnelles alphorm.com 84. Requtes multi-tables(LID)Le produit cartsienSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 85. Objectifs Comprendre la syntaxe de rfrencement de plusieurs tables dans laclause FROM Comprendre la notion de jointure sans condition (produit cartsien)Le langage SQL pour les Bases de donnes relationnelles alphorm.com 86. SyntaxeSELECT [DISTINCT ] { * , [champ1 [AS] alias1 [,...]}FROM nom_table1 [AS] alias1 [, nom_table2 [AS] alias2 ][, ...] ;Le langage SQL pour les Bases de donnes relationnelles alphorm.com 87. La jointure sans conditionCl trangreFORMATEURS FORMATIONSXCl primaireRsultat de la requteLe langage SQL pour les Bases de donnes relationnelles alphorm.com 88. La jointure avec conditionLe langage SQL pour les Bases de donnes relationnelles alphorm.com 89. Requtes multi-tables(LID)La jointure avec conditionSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 90. Objectifs Ecrire des requtes multi-tables Ecrire des requtes multi-tables en utilisant des alias Ecrire des requtes multi-tables en utilisant plusieurs syntaxesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 91. Rappel: la jointure (relation)Cl trangreFORMATEURS FORMATIONSCl primaireFORMATEURS.formateur_num=FORMATIONS.formateur_numRsultat de la requteLe langage SQL pour les Bases de donnes relationnelles alphorm.com 92. Syntaxe: non normaliseSELECT [DISTINCT ] { * , [nom_colonne1 [AS] alias1 [,...]}FROM nom_table1 [AS] alias1, nom_table2 [AS] alias2[ WHEREnom_table1.nom_colonne=nom_table2.nom_colonne];Le langage SQL pour les Bases de donnes relationnelles alphorm.com 93. Syntaxe: normaliseSELECT [DISTINCT ] { * , [nom_colonne1 [AS] alias1 [,...]}FROM nom_table1 [AS] alias1 [ JOIN nom_table2 [AS]alias2 ON (nom_table1.nom_colonne=nom_table1.nom_colonne) ];Le langage SQL pour les Bases de donnes relationnelles alphorm.com 94. La jointure EXTERNELe langage SQL pour les Bases de donnes relationnelles alphorm.com 95. Requtes multi-tables(LID)La jointure EXTERNESite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 96. Objectifs Comprendre ce quest une jointure EXTERNE Ecrire des requtes multi-tables en utilisant la jointure EXTERNELe langage SQL pour les Bases de donnes relationnelles alphorm.com 97. Quest-ce quune jointure EXTERNE ? Permet dafficher les lignes dune table qui ne rpondent pas lacondition de jointure.TABLE1 (code_client)101112TABLE2 (code_client)101011=1311TABLE1.code_client=TABLE2.code_clientLignes non affichesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 98. Syntaxe: normaliseSELECT [DISTINCT ] { * , [nom_colonne1 [AS] alias1 [,...]}FROM nom_table1 [AS] alias1 [ {LEFT | RIGHT | FULL}OUTER JOIN nom_table2 [AS] alias2 ON(nom_table1.nom_colonne= nom_table1.nom_colonne) ];Le langage SQL pour les Bases de donnes relationnelles alphorm.com 99. AutojointureLe langage SQL pour les Bases de donnes relationnelles alphorm.com 100. Requtes multi-tables(LID)AutojointureSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 101. Objectifs Comprendre ce quest une autojointure Ecrire des requtes en utilisant lautojointureLe langage SQL pour les Bases de donnes relationnelles alphorm.com 102. Quest-ce quune autojointure ? Permet de raliser une jointure dune table sur elle mme. Ncessite lutilisation des alias.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 103. Rcapitulatif sur les requtes multi-tableset exerciestables Le langage SQL pour les Bases de donnes relationnelles alphorm.com 104. Requtes multi-tables(LID)Rcapitulatif sur lesSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumrequtes multi-tables etexercicesNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 105. Objectifs Rappel des diffrents types de jointures Exercices pratiquesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 106. Les types de jointures Jointure dgalit (quijointure) JOIN ON Jointure EXTERNE LEFT | RIGHT | FULL OUTER JOINAutojointureJOIN ON Ncessite des aliasLe langage SQL pour les Bases de donnes relationnelles alphorm.com 107. Equijointure: Exercice 1 (sol_exercice21.txt) Affichez le nom des clients (SOCIETE) avec leurs diffrentes commandes (NO_COMMANDEet DATE_COMMANDE). Affichez la liste des produits (NOM_PRODUIT, UNITES_STOCK) ainsi que le nom de lacatgorie de chaque produit uniquement pour les produits des catgories 1, 4 et 7. Affichez le nom, le prnom et la socit cliente (SOCIETE) pour les employs qui onteffectu une vente pour les clients de Paris tri sur le nom de la societ.Affichez les socits clientes qui ont command le produit Gorgonzola Telino tri sur le nom de la societ.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 108. Jointures externes: Exercice 2 (sol_exercice22.txt) Affichez le nom et les localits des clients ainsi que le cumul desquantits vendues (SUM(quantite)) par localit. Affichez lesenregistrements par ordre dcroissant de cumul des commandes.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 109. Autojointure: Exercice 3 (sol_exercice23.txt) Affichez le nom, le prnom, la fonction des suprieurs hirarchiquesainsi le nom et prnom des employs grs par eux.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 110. Les requtes complexesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 111. Les requtes complexesLes oprateursSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumensemblistesNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 112. Objectif Ecrire des requtes en utilisant les oprateurs ensemblistes.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 113. Les oprateurs ensemblistes UNION Permet dobtenir un ensemble de lignes provenant de plusieurs requtes requte1 UNION [ALL] requte2 INTERSECT Permet dobtenir les lignes communes de plusieurs requtes requte1 INTERSECT [ALL] requte2 EXCEPT (SQL Server, PostgreSQL, MySQL) / MINUS (Oracle, MySQL) Permet dobtenir les lignes qui sont prsentes dans un jeu de rsultats et qui ne le sontpas dans un autre requte1 EXCEPT [ALL] requte2Le langage SQL pour les Bases de donnes relationnelles alphorm.com 114. Les contraintes Tous les ordres SELECT doivent avoir le mme nombre de champs. Les champs doivent tres de types compatibles. Exclusion des champs de type LONG , BLOB , CLOB et BFILE . Elimination automatiques des doublons (DISTINCT implicite). Les noms des colonnes et alias sont ceux du premier ordre SELECT . La largeur de chaque champ est donne par la plus grande de tousordres SELECT confondus. Si une clause ORDER BY est utilise, il faut spcifie le numro duchamp et non son nom.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 115. Les sous-requtesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 116. Les requtes complexesLes sous-requtesSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forummonolignesNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 117. Objectifs Comprendre la syntaxe des sous-requtes monolignes. Ecrire des requtes en utilisant les sous-requtes monolignes.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 118. Sous-requtes monolignes Permet dimbriquer une requte SELECT dans une autre requte SELECTou dans une instruction INSERT, UPDATE ou DELETE. Une requte monoligne utilise les oprateurs =, , !=, =, , =Le langage SQL pour les Bases de donnes relationnelles alphorm.com 119. Syntaxe: sous-requte monoligneRequte principaleSELECT [DISTINCT ] { * , [champ1 [AS] alias1 [,...]}FROM nom_tableWHERE champ OPERATEUR (sous-requte)Sous-requterenvoyant une seulevaleurLe langage SQL pour les Bases de donnes relationnelles alphorm.com 120. Les sous-requtes multilignesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 121. Les requtes complexesLes sous-requtesSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forummultilignesNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 122. Objectif Ecrire des requtes en utilisant les sous-requtes multilignes.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 123. Sous-requtes multilignes Permet dimbriquer une requte SELECT dans une autre requte SELECTou dans une instruction INSERT, UPDATE ou DELETE. Une sous-requte multiligne utilise loprateur [NOT] IN.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 124. Syntaxe: sous-requte multilignesRequte principaleSELECT [DISTINCT ] { * , [champ1 [AS] alias1 [,...]}FROM nom_tableWHERE champ [NOT] IN (sous-requte)Sous-requterenvoyant plusieursvaleursOprateurLe langage SQL pour les Bases de donnes relationnelles alphorm.com 125. Sous-requte dans la clause FROMLe langage SQL pour les Bases de donnes relationnelles alphorm.com 126. Les requtes complexesSous-requtes dans laSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumclause FROMNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 127. Objectif Ecrire des requtes en utilisant une sous-requte dans la clause FROM.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 128. Sous-requtes dans la clause FROM Permet dimbriquer une requte SELECT dans une clause FROM.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 129. Syntaxe: sous-requte dans la clause FROMRequte principaleSELECT [DISTINCT ] { * , [champ1 [AS] alias1 [,...]}FROM (sous-requte)Sous-requteLe langage SQL pour les Bases de donnes relationnelles alphorm.com 130. Rcapitulatif sur les sous-requtes etexercicesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 131. Les requtes complexesRcapitulatif sur les sous-Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumsous-requteset exercicesNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 132. Objectifs Rappel des diffrents types de sous-requtes Exercices pratiquesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 133. Les types de sous-requtes Sous-requtes monolignes Sous-requtes multilignes Sous-requte dans une clause FROMLe langage SQL pour les Bases de donnes relationnelles alphorm.com 134. Les sous-requtes: Exercice 1 (sol_exercice31.txt) Affichez les produits pour lesquels la quantit en stock est suprieur lamoyenne. Affichez les clients et leurs commandes pour tous les produits livrs par unfournisseur qui habite London. Affichez les employes dont le salaire + commission est suprieur la moyennedes salaires.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 135. Le langage de manipulation dedonnes (LMD)Le langage SQL pour les Bases de donnes relationnelles alphorm.com 136. Le langage de manipulationde donnes (LMD)La commande INSERTSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 137. Objectifs Comprendre la syntaxe de la commande INSERT Effectuer des insertions dans des tablesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 138. La commande INSERT Deux syntaxes possibles Insrer une ligne en indiquant les informations pour chaque colonneexistante (en respectant lordre) Insrer une ligne en spcifiant les colonnes que vous souhaiter complterLe langage SQL pour les Bases de donnes relationnelles alphorm.com 139. Syntaxe: INSERT dune ligneINSERT INTO nom_table [ (champ1 [, ... ] ) ] VALUES (VALEUR1 [ ,... ] );Le langage SQL pour les Bases de donnes relationnelles alphorm.com 140. Syntaxe: INSERT de plusieurs lignesINSERT INTO nom_table [ (champ1 [, ... ] ) ] requte_SQLLe langage SQL pour les Bases de donnes relationnelles alphorm.com 141. La commande UPDATELe langage SQL pour les Bases de donnes relationnelles alphorm.com 142. Le langage de manipulationde donnes (LMD)La commande UPDATESite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 143. Objectifs Comprendre la syntaxe de la commande UPDATE Effectuer des mises jourLe langage SQL pour les Bases de donnes relationnelles alphorm.com 144. Syntaxe: commande UPDATEUPDATE nom_tableSET champ1 = VALEUR1 [, ... ] | (requte_SQL)[ WHERE condition ];Le langage SQL pour les Bases de donnes relationnelles alphorm.com 145. La commande DELETELe langage SQL pour les Bases de donnes relationnelles alphorm.com 146. Le langage de manipulationde donnes (LMD)La commande DELETESite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 147. Objectifs Comprendre la syntaxe de la commande DELETE Effectuer des suppressions de donnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 148. Syntaxe: commande DELETEDELETE nom_table[ WHERE condition ];Le langage SQL pour les Bases de donnes relationnelles alphorm.com 149. Rcapitulatif des commandes demanipulation de donnes (LMD) etexercicesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 150. Le langage de manipulationde donnes (LMD)Rcapitulatif des commandesde manipulation de donnesSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum(LMD) et exercicesNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 151. Objectifs Rappel des diffrentes commandes LMD Exercices pratiquesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 152. Les commandes LMD INSERT UPDATE DELETELe langage SQL pour les Bases de donnes relationnelles alphorm.com 153. Le LMD: Exercice 1 (sol_exercice41.txt) Crez une nouvelle catgories nomme Champignon en respectant lescontraintes dintgrits (cl primaire, champ non null) Augmentez le salaire de lemploy Fuller de 20% et attribuez lui unecommission de 2000 Supprimez la catgorie nomme champignon Le langage SQL pour les Bases de donnes relationnelles alphorm.com 154. Le langage de dfinition de donnes(LDD)Le langage SQL pour les Bases de donnes relationnelles alphorm.com 155. Le langage de dfinition dedonnes (LDD)Les types de donnesSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 156. Objectif Connatre les types de donnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 157. Caractres CHAR (n): chane de caractres de longueur fixe ( n16383) VARCHAR (n) : chane de caractres de n caractres maximum(n16383) NCHAR (n): valeur alpha de longueur fixe NVARCHAR (n): valeur alpha de longueur maximale fixe sur le jeu decaractre du paysLe langage SQL pour les Bases de donnes relationnelles alphorm.com 158. Numriques NUMERIC(n,[d]) : Nombre de n chiffres [optionnellementd aprs lavirgule] INTEGER (ou INT): entier sign de 32 bits (-2E31 2E31-1) SMALLINT : entier court sign de 16 bits (-32768 32757) FLOAT : rel virgule flottante chelle et prcision obligatoire REAL : rel virgule flottante de faible prcision DOUBLE PRECISION : rel virgule flottante de grande prcision BIT : chane de bit de longueur fixe BIT VARYING : chane de bit de longueur maximaleLe langage SQL pour les Bases de donnes relationnelles alphorm.com 159. Date DATE : date du calendier grgorien ( AAAA-MM-JJ) TIME: heure sous la forme 12:54:24.85 TIMESTAMP : date et HeureLe langage SQL pour les Bases de donnes relationnelles alphorm.com 160. Les contraintesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 161. Le langage de dfinition dedonnes (LDD)Les contraintesSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 162. Objectifs Connatre les types de contraintes Crer des contraintesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 163. Quest-ce quune contrainte ? Une contrainte d'intgrit est une clause permettant de contraindre lamodification de tables Permet dassurer la cohrence des donnes dans la base Spcifies ds la cration de la table ou aprs (ALTER TABLE)CREATE TABLE nom_table (nom_champ CONTRAINTE [ , ... ]ALTER TABLE ADD CONSTRAINT nom_contrainte TYPE CONTRAINTELe langage SQL pour les Bases de donnes relationnelles alphorm.com 164. Les contraintes NOT NULL PRIMARY KEY UNIQUE REFERENCES DEFAULT CHECK Possibilit de nommer une contrainte CONSTRAINTLe langage SQL pour les Bases de donnes relationnelles alphorm.com 165. Exemple de mise en oeuvreClprimaireClNOTNULLprimaireClprimaireCltrangreCompris entre18 et 70Date dujour pardefaut ComprisCompris entre01 et 95 UNIQUEentre 1 et 7Le langage SQL pour les Bases de donnes relationnelles alphorm.com 166. Commandes DDL de gestion destablesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 167. Le langage de dfinition dedonnes (LDD)Commandes DDL de gestionSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumdes tablesNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 168. Objectifs Connatre les commandes DDL de gestion des tables Raliser des oprations DDL sur des tables (cration, modification etsuppression)Le langage SQL pour les Bases de donnes relationnelles alphorm.com 169. Syntaxe: crer une tableCREATE TABLE nom_table(nom_colonne1 TYPE [CONTRAINTE ] [ ,nom_colonne2 ...]);Le langage SQL pour les Bases de donnes relationnelles alphorm.com 170. Syntaxe: modifier une table Ajout dune colonneALTER TABLE nom_tableADD nom_colonne TYPE Modification dune colonneALTER TABLE nom_table{ ALTER | MODIFY } COLUMN nom_colonne TYPE Suppression dune colonneALTER TABLE nom_tableDROP COLUMN nom_colonneLe langage SQL pour les Bases de donnes relationnelles alphorm.com 171. Syntaxe: supprimer une tableDROP TABLE nom_tableLe langage SQL pour les Bases de donnes relationnelles alphorm.com 172. Les vuesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 173. Le langage de dfinition dedonnes (LDD)Les vuesSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 174. Objectifs Comprendre ce quest une vue Crer une vueLe langage SQL pour les Bases de donnes relationnelles alphorm.com 175. Qu'est-ce qu'une vue ? Un objet logique auquel est rattach une requte SQL (SELECT) A chaque utilisation de la vue la requte associe est excute Aucun stockage physique des donnes de la vueLe langage SQL pour les Bases de donnes relationnelles alphorm.com 176. Les avantages La vue est une slection des donnes afficher (complexit de larequte non visible pour lutilisateur final) La description de la vue est sauvegard dans la base de donnes Une restriction d'accs la table pour l'utilisateur Un regroupement d'informations au sein d'une entitLe langage SQL pour les Bases de donnes relationnelles alphorm.com 177. Syntaxe: cration dune vueCREATE VIEW nom_de_la_vue(colonnes)AS SELECT ...Le langage SQL pour les Bases de donnes relationnelles alphorm.com 178. Syntaxe: suppression dune vueDROP VIEW nom_de_la_vueLe langage SQL pour les Bases de donnes relationnelles alphorm.com 179. Les autres objets dune base dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 180. Le langage de dfinition dedonnes (LDD)Les autres objets dune baseSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumde donnesNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 181. Objectifs Connatre les autres objets de base de donnes Crer et utiliser ces objetsLe langage SQL pour les Bases de donnes relationnelles alphorm.com 182. Les squences Permettent de gnrer des sries de numros squentiels unique Indpendante des tablesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 183. Syntaxe: crer une squenceCREATE SEQUENCE nom_sequence[ START WITH constant ][ INCREMENT BY constant ][ { MINVALUE [ constant ] } | { NO MINVALUE } ][ { MAXVALUE [ constant ] } | { NO MAXVALUE } ][ CYCLE | { NO CYCLE } ][ { CACHE [ constant ] } | { NO CACHE } ][ ; ]Le langage SQL pour les Bases de donnes relationnelles alphorm.com 184. Syntaxe: modifier une squenceALTER SEQUENCE nom_sequence[ START WITH constant ][ INCREMENT BY constant ][ { MINVALUE [ constant ] } | { NO MINVALUE } ][ { MAXVALUE [ constant ] } | { NO MAXVALUE } ][ CYCLE | { NO CYCLE } ][ { CACHE [ constant ] } | { NO CACHE } ][ ; ]Le langage SQL pour les Bases de donnes relationnelles alphorm.com 185. Syntaxe: suppression dune squenceDROP SEQUENCE nom_sequenceLe langage SQL pour les Bases de donnes relationnelles alphorm.com 186. Les synonymes Un synonyme est un alias donn un objet dans la baseCREATE SYNONYM nom_synonym FOR nom_objetDROP SYNONYM nom_synonymLe langage SQL pour les Bases de donnes relationnelles alphorm.com 187. Les indexesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 188. Le langage de dfinition dedonnes (LDD)Les indexesSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 189. Objectifs Dcrire le fonctionnement dun index Crer et supprimer des indexesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 190. Quest-ce quun index ? Objet physique appartenant une base de donnes. Un index est cre dune manire explicite (CREATE INDEX) ou lors de ladfinition dun champ comme PRIMARY KEY. Un index peut-tre positionn sur une ou plusieurs colonnes. Permet un accs plus rapide aux donnes lors des oprations deSELECT, INSERT, UPDATE, DELETE. Rduit le temps daccs la localisation dune ligne.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 191. Fonctionnement dun indexTable CLIENTSCODE_CLIENT NOM PRENOM1001 Veloso David1002 Harabazan Hamid1003 Drissi Nordine1004 Zetor HervIndex sur le champ NOMVALEUR NOM ROWIDDrissi 0FX12Harabazan 0CF12Veloso 0CF14Zetor 50D70Donnes tries... ...SELECT nom,prenomFROM clientsWHEREnom=Harabazan... ...Bloc de donnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 192. Quand utiliser un index ? Sur des tables volumineuses Sur des colonnes utilises dans la clause WHERETrop dindex cest pas bonToujours vrifier quun index est bien utilisLe langage SQL pour les Bases de donnes relationnelles alphorm.com 193. Syntaxe: cration dun indexCREATE [UNIQUE] INDEX nom_indexON nom_table(nom_champ [ASC/DESC], ...)Le langage SQL pour les Bases de donnes relationnelles alphorm.com 194. Syntaxe: suppression dun indexDROP INDEX nom_indexLe langage SQL pour les Bases de donnes relationnelles alphorm.com 195. Rcapitulatif sur le langage dedfinition de donnes (LDD) etexercicesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 196. Le langage de dfinition dedonnes (LDD)Rcapitulatif sur le langageSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumde dfinition de donnes(LDD) et exercicesNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 197. Objectifs Rappel des lments du LDD Exercices pratiquesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 198. Les lments du LDD Les types de donnes Les contraintes Les commandes DDL de gestion des tables Les vues, squences et synonymes Les indexesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 199. Le LDD: Exercice 1 (sol_exercice51.txt)ClprimaireClNOTNULLprimaireClprimaireCltrangreCompris entre18 et 70Date dujour pardefaut Compris entreCompris entre01 et 95UNIQUE30 et 150Le langage SQL pour les Bases de donnes relationnelles alphorm.com 200. Le LDD: Exercice 2 (sol_exercice52.txt) Crez une vue nomme gestloc qui affiche le nom, prenom de chaquelocataire ainsi que toutes les informations des maisons loues par ces derniers. Crez un synonym nomm loc pour la table LOCATAIRES et un synonymnomm ms pour la table MAISONS Crez un index compos nomm idx_nom_prenom sur le champ NOM etPRENOM de la table LOCATAIRES.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 201. ConclusionLe langage SQL pour les Bases de donnes relationnelles alphorm.com 202. ConclusionLe mot de la finSite : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forumNoureddine DRISSIExpert consultant bases dedonnesLe langage SQL pour les Bases de donnes relationnelles alphorm.com 203. Conclusion Rappel des objectifs de la formation Apprhender les fondements du langage SQL; Matriser la structure du langage SQL; Crer des objets avec le langage de dfinition des donnes; Interroger efficacement une base de donnes SQL; Ecrire et lire des requtes SQL simples et complexes.Le langage SQL pour les Bases de donnes relationnelles alphorm.com 204. Conlusion A venir: Le langage PL/SQL Le transact SQL La modlisation au sens MERISELe langage SQL pour les Bases de donnes relationnelles alphorm.com 205. ConclusionFINMerci pour votre attentionLe langage SQL pour les Bases de donnes relationnelles alphorm.com