SQL Jean-Antoine Moreau

292 vues

Publié le

Structured Query Language cours Jean-Antoine Moreau
site mobile http://jeanantoine.moreau.free.fr

Publié dans : Ingénierie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
292
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

SQL Jean-Antoine Moreau

  1. 1. SQLSQL Base de DonnéesBase de Données NormalisationNormalisation Gestion de l’InformationGestion de l’Information Cours de gestion des données : Jean-Antoine MoreauCours de gestion des données : Jean-Antoine Moreau
  2. 2. SQLSQL Structured Query LanguageStructured Query Language
  3. 3. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 3 L ‘ INFORMATIONL ‘ INFORMATION • La GestionLa Gestion • Le TraitementLe Traitement  Des informationsDes informations – OrganisationsOrganisations – EntreprisesEntreprises – InternetInternet  Système de ManagementSystème de Management des Donnéesdes Données  Système d’Information(s)Système d’Information(s)  Système de Gestion desSystème de Gestion des DonnéesDonnées
  4. 4. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 4 Le Langage SQLLe Langage SQL  Langage de Requête  Permet de Communiquer avec la Base de Données  Répond à la Norme SQL ANSI  Compatible avec la modélisation Objet  Adaptable au traitement des gros volumes de données
  5. 5. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 5 Base de DonnéesBase de Données • Collection de Données • Mécanisme organisé pour stocker des informations et permettre à un utilisateur de les retrouver et de les utiliser efficacement. • Exemples de Base de Données Annuaires Listes
  6. 6. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 6 Base de Données RelationnelleBase de Données Relationnelle • Divisée en Unité Logiques – Classe – Objet – Table • Ces Unités sont reliées par des Relations • Ces Relations sont – Décomposables – Utilisables •Processus •SéquencesPar / En
  7. 7. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 7 ArchitectureArchitecture • Le SQL est compatible avec les Architectures : – 2 Tier Client / Serveur – 3 Tier Client léger – Utiliser par les Architectures supports aux : • ERP • Application Internet et Intranet • Big Data • Compatible avec les Langages de Programmation – Interprétés – Compilés – Objet
  8. 8. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 8 ConnexionConnexion Pour Initialiser une Session SQL: • Connexion à la Base de Données – Instruction CONNECT • Option nom de l’utilisateur • Le serveur de base de donnée (où la base se trouve) • Le nom de la base de donnée • Déconnexion – DISCONNECT
  9. 9. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 9 AdministrationAdministration • Administration du Serveur de Base de Donnée • Administration de la Base de Données • Administration des Données
  10. 10. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 10 CLASSES / OBJETSCLASSES / OBJETS InstanciationInstanciation • Table – Divisée en plusieurs entités appelé champs • Champ – Catégorise les informations spécifiques contenues dans la table – À un champ est rattaché un type de donnée et un seul • Enregistrement – Ligne de données (enregistrement complet) • Colonne – Entête verticale appartenant à une table • Clé Primaire (Primary Key)  Règle d’Unicité – Colonne qui fait que chaque ligne de la Table est unique
  11. 11. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 11 STRUCTURE de DONNEESSTRUCTURE de DONNEES • Les Données stockées dans une base de données – Deviennent des Informations • Évolutives • Traçables • Ouvertes ou Confidentielles • Types de Données – Chaînes de caractères – Chaînes numériques – Valeurs date et heure – Booléennes – …
  12. 12. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 12 STRUCTURE de DONNEESSTRUCTURE de DONNEES • Les Données stockées dans une base de données – Deviennent des Informations • Évolutives • Traçables • Ouvertes ou Confidentielles • Types de Données – Chaînes de caractères – Chaînes numériques – Valeurs date et heure – Booléennes – … OpérationsOpérations sur ces donnéessur ces données
  13. 13. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 13 VALEURS de DONNEESVALEURS de DONNEES • Chaînes – De caractères • Longueur fixe • Longueur variable – Littéral • Numériques – Booléen – Décimal – Entier – Flottant – Réel – Double Précision
  14. 14. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 14 Les OBJETSLes OBJETS • Unicité logique <entité> de la base de données • Référence et stocke les données • Interaction entre Objets • Forme élémentaire de stockage de données structurées dans la base
  15. 15. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 15 Le SCHEMALe SCHEMA • Collection structurée d’Objet • Le Schéma est Propriété d’un utilisateur • Une Base de Données peut contenir – Un Schéma – Plusieurs Schémas  Deux Tables de même noms sont différentes, si elles appartiennent à des Schémas Différents
  16. 16. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 16 CREATION d’une TABLECREATION d’une TABLE • Nom de la TABLE • Les Données contenues • Clé primaire Règle d’unicité • Nom des colonnes • Longueur de chaque colonne • Taille initiale de la TABLE – Fournie par l’instanciation des diagrammes UML de Classe et d’Objet
  17. 17. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 17 Exemples de CommandesExemples de Commandes • Création – CREAT TABLE <nom-de-la-table> • Clause STORAGE pour taille initiale • Modification – ALTER TABLE <nom-de-la-table> • Suppression – DROP
  18. 18. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 18 CONTRAINTES d’INTEGRITECONTRAINTES d’INTEGRITE • Concept d’Intégrité Référentielle • Contrainte Clé Primaire <primary Key> Unicité – Identification d’une ligne de donnée unique – Identification par colonne – Assignation dès la création de la Table – Contrainte explicite – Si la clé primaire est définie par la combinaison de plusieurs colonnes, la composition est définie lors de la création
  19. 19. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 19 CONTRAINTES d’INTEGRITECONTRAINTES d’INTEGRITE • Contrainte clé extérieure • Clé étrangère <foreign Key> – « Colonne » place dans un tableau < enfant > pour référencer la clé primaire (notion d’héritage au sens objet) – L’Intégrité Référentielle entre les Tables se fait entre autre par les mécanismes • clé étrangère / clé étrangère • clé étrangère clé primaire
  20. 20. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 20 CONTRAINTES d’INTEGRITECONTRAINTES d’INTEGRITE • Contrainte NOT NULL – Les valeurs NULL interdites • Contrainte de vérifications – CHK (check) – Exemple : • Présence obligatoire d’une donnée dans un champ • Valeur minimum admise • Suppression des contraintes – Exemple Commande • ALTER TABLE option DROP CONSTAINT
  21. 21. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 21 NORMALISATION DE LANORMALISATION DE LA BASE DE DONNEEBASE DE DONNEE • Processus qui a pour objectif de réduire la redondance des données, dans la base de données • Sont normalisés – Les noms – Les noms des OBJETs – Les noms des TABLEs – Les RELATIONS – Le noms des RELATIONS – Etc.
  22. 22. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 22 NORMALISATION DE LANORMALISATION DE LA BASE DE DONNEEBASE DE DONNEE • Le Processus de Conception est Normalisé • Le Processus de Modélisation est Normalisé  Ils sont déclinés dans le Plan d’AssurancePlan d’Assurance QualitéQualité • Processus – Modèle de Package – Modèle de Classe – Modèle Objet – Modèle Logique – Modèle Physique
  23. 23. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 23 NORMALISATION DE LANORMALISATION DE LA BASE DE DONNEEBASE DE DONNEE • Le Processus de Conception est Normalisé • Le Processus de Modélisation est Normalisé  Ils sont déclinés dans le Plan d’AssurancePlan d’Assurance QualitéQualité • Processus – Modèle de Package – Modèle de Classe – Modèle Objet – Modèle Logique – Modèle Physique •Méga •Rational •Objecteering • … OUTILSOUTILS
  24. 24. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 24 IMPACT de laIMPACT de la NORMALISATIONNORMALISATION • Le Modèle logique: – Consiste à ordonnancer les données en groupes alogiques, organisés, structurés, standardisés; pour en permettre l’évolutivité, l’adaptabilité, la performance. – Le Modèle logique est issu du Modèle Objet
  25. 25. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 25 QUESTIONNEMENTQUESTIONNEMENT • Comment l’utilisateur accèdera à la Base de Données ? • Comment l’utilisateur accèdera-t-il aux Données ? • Comment l’utilisateur mettra-t-il à jour les Données ? • De quels Droits devra-t-il bénéficier ? • Comment faut-il regrouper les données dans la Base ? • Quelles sont les Données les plus fréquemment sollicitées ? • Quelles sont les Relations les plus fréquemment sollicitées ? • Quelles sont les relations entre données ? • Quelles sont les Règles à mettre en œuvre pour assurer la précision des Données ? • Quelles sont les Règles à mettre en œuvre pour assurer la traçabilité des Données ?
  26. 26. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 26 Les FORMES NORMALESLes FORMES NORMALES • Niveaux de Normalisation d’une Base de Données • Incluses dans le processus de Modélisation UML • Définit dans le Plan d’Assurance Qualité
  27. 27. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 27 Les FORMES NORMALESLes FORMES NORMALES • Première Forme Normale : – Division de la Base de Données en Unités logiques, nommées TABLEs – Assignation de la Clé Primaire – Décomposition des données en unités logiques
  28. 28. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 28 Les FORMES NORMALESLes FORMES NORMALES • Seconde Forme Normale – Données dépendant partiellement de la Clé Primaire • Et mise en place dans une Autre Table – Éclatement de TABLE en Sous Unités
  29. 29. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 29 Les FORMES NORMALESLes FORMES NORMALES • Troisième Forme Normale – Suppression des données qui ne dépendent pas de la Clé Primaire, dans la TABLE
  30. 30. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 30 NORMALISATIONNORMALISATION • Permet donc : – L’Organisation globale de la Base de Donnée – La Limitation des Données redondantes – La Cohérence des Données de la Base – La Souplesse de Conception d’évolution – Traçabilité • Des évolutions de Données • Des évolutions des Règles de GestionRègles de Gestion – Un Meilleur contrôle de la sécurité – L’ Efficience de la Documentation – L’Intégrité des Données – Le Maintient en Conditions Opérationnelles
  31. 31. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 31 INTEGRITEINTEGRITE REFERENTIELLEREFERENTIELLE • Les valeurs des colonnes dépendent d’une valeur donnée d’une autre TABLE • Contrôle des valeurs par restriction du périmètre par plage de valeur en lien avec: • Méta-Données (type métier) • Fonctionnel • Technique • Sur échange • Contrôle par l’utilisation des Clés Primaires et étrangères • Relations / Présence du couple : • Clé primaire – clé étrangère
  32. 32. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 32 DENORMALISATIONDENORMALISATION • Dénormaliser une Base de Données – Réduire / Détruire les niveaux de regroupement – Risque d’augmentation de Données redondantes – Baisse de Performance – Moins d’adaptabilité – Perte de la traçabilité – Facteurs de Maintient en Conditions Opérationnelles sont alors réduits
  33. 33. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 33 OPERATION SUR LESOPERATION SUR LES DONNEESDONNEES • DATA MANIPULTATION LANGUAGE Sélection d’une Donnée • le <select> Insérer un Donnée • l’ <insert> Mettre à jour un Donnée • l’<update> Suppression d’une Donnée • le <delete>
  34. 34. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 34 INSERTION d’une DONNEEINSERTION d’une DONNEE dans une TABLEdans une TABLE • Pseudo-code :  INSERER dans <nom-table> la valeur (…..) dans le champ … de la colonne.. • Instruction / Code | Principe : INSERT INTO <nom-table> VALUES (…..) INSERT INTO table-client (id-client, id-société, num-commande) VALUES (….,’….’,’…..’)
  35. 35. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 35 SELECTIONNER DESSELECTIONNER DES DONNEES d’une TABLEDONNEES d’une TABLE • Pseudo-code :  SELECTIONNER les valeurs PROVENANT de la TABLE • Instruction / Code | Principe : SELECT * from client Sélectionne toutes les lignes des colonnes de la TABLE client Donnera la liste du contenu, type listing / tableau SELECT from client id-client VALUE ( … )
  36. 36. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 36 MISE A JOUR Des DONNEESMISE A JOUR Des DONNEES EXISTANTESEXISTANTES • Mettre à jour une ou plusieurs TABLEs (Objets): – Table – Colonne – Ligne – Champ • Vérifier la cohérence des Données • Instruction / Code | Principe : update no-de-la-table set nom-colonne = ‘value’ [where condition]; update nom-table set colonne1 = ‘value’ [colonne2=‘value’,] [colonne3=‘value’] [where condition]; Modèle logique de données Une seule colonne Plusieurs colonnes de plusieurs champs
  37. 37. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 37 TRANSACTIONTRANSACTION • Unité de Tâche qui se déroule dans une Base de Données • Unité • Séquence • Déroulement – Manuel – Automatique • Propagation de changement(s) dans la Base de Données •Instruction •Groupe d’Instructions Un Ordre Logique
  38. 38. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 38 TRANSACTIONTRANSACTION PROPRIETEs et CONTRAINTEsPROPRIETEs et CONTRAINTEs • Toute TRANSACTION possède – Un DEBUT et une FIN • Une TRANSACTION peut être – enregistrée ou annulée  Si une TRANSACTION échoue – ALORS • Aucune portion de la TRANSACTION n’est enregistrée dans la Base de Données  FIN de SI
  39. 39. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 39 CONTRÔLECONTRÔLE TRANSACTIONNELTRANSACTIONNEL • Capacité à gérer plusieurs transaction pouvant se produire dans le SGBDR • Les transactions prennent en compte les commandes, leur combinatoire, leurs options: – INSERT – UPDATE – DELETE • Lorsque la transaction s’exécute, s’achève avec succès, la table cible n’est pas immédiatement modifiée, même si le résultat le laisse à penser. – Il existe des commandes de transaction, qui finalise la transaction en: – Enregistrement les modifications – En annulant les modifications
  40. 40. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 40 COMMANDES de CONTROLECOMMANDES de CONTROLE TRANSACTIONNELTRANSACTIONNEL • COMMIT – Pour la VALIDATION • ROLLBACK – Pour l’ANNULATION • SAVEPOINT – Pour l’annulation partielle
  41. 41. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 41 EXEMPLESEXEMPLES • COMIT delete from produit where prix <5€ COMIT; Les produits dont le prix est inférieur à 5€ sont supprimer <COMIT> - validation
  42. 42. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 42 • ROLLBACK update produit set prix = 350.00 where id-produit = ‘1245’ La ligne est mise à jour ROLLBACK; Annulation de la mise à jour
  43. 43. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 43 • SAVEPOINT < label> point-instantané de la transaction à partir duquel, on pourra annuler la transaction • Utilisation avec ROLLBACK donne – ROLLBACK TO nom-du-savepoint
  44. 44. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 44 • Création d’un SAVEPOINT SAVEPOINT étiquette1 delete from produit where id=‘1234’ SAVEPOINT étiquette2 delete from produit where id=‘12589’ SAVEPOINT étiquette3 delete from produit where id=‘1367910’ ROLLBACK to étiquette2
  45. 45. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 45 • RELEASE SAVEPOINT – suppression d’un SAVEPOINT existant
  46. 46. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 46 INITIALISATION d’uneINITIALISATION d’une TRANSACTIONTRANSACTION • SET TRANSACTION SET TRANSACTION READ WRITE; SET TRANSACTION READ ONLY;
  47. 47. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 47 LES REQUETESLES REQUETES • Demande adressée à la Base de Données • Extraction des Données dans un format, exploitable en fonction des Besoins d’utilisation • INSTRUCTION SELECT – Fait partie du Data Query Language – Cette INSTRUCTION n’est pas autonome, elle est accompagnée : • D’une CLAUSE obligatoire • D’une CLAUSE optionnelle • Mots clés de cette instruction • SELECT • FROM • WHERE • ORDER BY
  48. 48. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 48 SYNTAXESSYNTAXES • Avec clause Obligatoire SELECT [ALL | * DISTINCT COLONE1, COLONE2] FROM TABLE1 [,TABLE2]; FROM : clause obligatoire
  49. 49. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 49 SYNTAXESSYNTAXES • Avec clause Optionnelle SELECT [ALL | * DISTINCT COLONE1, COLONE2] FROM TABLE1 [,TABLE2]; WHERE [CONDITION1 | EXPRESSION1] [AND CONDITION1 | CONDITION2 ] FROM : clause obligatoire WHERE: clause optionnelle
  50. 50. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 50 SYNTAXESSYNTAXES • Tri des Résultats SELECT [ALL | * DISTINCT COLONE1, COLONE2] FROM TABLE1 [,TABLE2]; WHERE [CONDITION1 | EXPRESSION1] [AND CONDITION1 | CONDITION2 ] ORDER BY COLONNE1 | INTEGER [ASC @ DESC] FROM : clause obligatoire WHERE: clause optionnelle ORDER BY: clause optionnelle de tri • Comptage des Enregistrements contenus dans une table – SELECT COUNT(x) FROM nom-table
  51. 51. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 51 SYNTAXESSYNTAXES • Sélection des Données sur un autre Schéma SELECT Identifiant FROM nom-schéma.nom-table Formulation – syntaxe de type objet
  52. 52. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 52 Le CASSE SENSITIVELe CASSE SENSITIVE • Les commandes SQL ne sont pas « casse sensitive » • Elles peuvent donc être saisies en majuscules ou en minuscules • Il est souhaitable de définir des règles d’écriture : • Des requêtes • Des programmes Dans le Plan d’Assurance Qualité Logiciel de chaque projetIncéréesIncérées
  53. 53. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 53 Les OPERATEURSLes OPERATEURS • Un Opérateur – Permet de spécifier des conditions dans une instruction SQL – Sert de conjonction à plusieurs conditions • Types d’Opérateur – Opérateur de comparaison – Opérateur logique – Opérateur utilisé pour nier des conditions – Opérateur arithmétique
  54. 54. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 54 OPERATEUR deOPERATEUR de COMPARAISONCOMPARAISON • Utilisé pour Tester – L’ Égalité • Signe = – La non-égalité • signe < > – La valeur inférieure • signe < – La valeur supérieures • signe >
  55. 55. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 55 ExempleExemple • Pseudo – Code SELECTIONNER dans la TABLE produit le produit dont le prix est inférieur à 10 • Syntaxe SELECT FROM produit WHERE price < 10
  56. 56. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 56 OPERATEURS LOGIQUESOPERATEURS LOGIQUES • Ils sont utilisés comme des mots clés pour effectuer des comparaisons • Liste d’opérateur logiques – IS Null (comparaison à la valeur nulle) – BEETWEEN (entre deux valeurs, dans une plage) – IN (une valeur dans une liste de valeur) – LIKE (comme – similitude) – EXISTS (existence – Présence dans une liste) – UNIQUE (permet de vérifier l’unicité) – ALL (compare la valeur à toutes valeurs) – ANY (compare la valeur à toutes les valeurs applicable d’une liste)
  57. 57. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 57 OPERATEURS CONJONCTIFSOPERATEURS CONJONCTIFS • AND – le ET logique – Utilisation de plusieurs conditions en clause where • OR – Le ou logique – Combinaison de plusieurs conditions dans une clause where
  58. 58. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 58 NEGATIONNEGATION • Opérateur NOT – Cet opérateur inverse la signification de l’opérateur logique – Ce qui donne • Différent de … • NOT BETWEEN • NOT IN • NOT LIKE • IS NOT NULL • NOT EXISTS • NOT UNIQUE
  59. 59. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 59 OPERATEURSOPERATEURS ARITHMETIQUESARITHMETIQUES • Effectuent des Opérations mathématiques avec le SQL – Adition + – Soustraction _ – Multiplication * ou x – Division /
  60. 60. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 60 ExempleExemple • Pseudo – code Sélectionner dans la Table Produit Les produits pour lesquels le (prix - la remise fidélité) + nouvelle augmentation < 10 • Syntaxe SELECT (prix-remise)+ nouvelle augmentation < 10 FROM Produit
  61. 61. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 61 FONCTION d’AGREGATIONFONCTION d’AGREGATION • Fourni des informations de synthèse – Comptage – Totaux – Moyennes – … • Quelques fonctions d’agrégation – COUNT – SUM – MAX – MIN – AVG
  62. 62. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 62 Description de FonctionDescription de Fonction d’Agrégationd’Agrégation • COUNT – Compte les lignes ou les colonnes ne contenant pas de valeur NULL • SUM – Retourne le total des valeurs d’une colonne sur un groupe de ligne • AVG – Calcul la moyenne d’un groupe de ligne • MAX – Retourne la valeur maximale des champs d’une colonne pour un groupe de lignes • MIN – Retourne la valeur minimale d’une colonne dans un groupe de ligne
  63. 63. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 63 TRIER et REGROUPERTRIER et REGROUPER des DONNEESdes DONNEES • Regroupement de Données • Processus consistant à combiner dans un ordre logique des lignes de données, dont une ou plusieurs colonnes prennent une valeur identique • Clauses – GROUP BY • Regroupement de données – ORDER BY • Tri des données
  64. 64. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 64 Fonctions de RegroupementFonctions de Regroupement • Incluent les fonctions – AVG – MAX – MIN – SUM – COUNT • Clauses de complémentarité • Clause HAVING – Indique à la clause GROUP BY le groupe à inclure dans le résultat – Place des conditions sur des groupes générés par la clauses GROUP BY
  65. 65. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 65 AGENCEMENT des DONNEESAGENCEMENT des DONNEES • Fonctions de caractères ANSI • Représentent des chaînes de caractères dans les formats du langage SQL • Fonctions – Concaténation – TRANLATE – REPLACE – UPPER – LOWER
  66. 66. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 66 Explicitation des FonctionsExplicitation des Fonctions • Concaténation || ORACLE Ou suivant les SGBDR SQL server + MySQL • Exemple (Pseudo code) sélectionner dans la Table des clients le nom et le prénom pour définir le non complet par une concaténation SELECT nom || ‘,’ || prénom nom_complet FROM CLIENT
  67. 67. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 67 FONCTIONS suiteFONCTIONS suite • TRANSLATE – Recherche une chaîne de caractères – Vérifié la présence d’un caractère spécifique – Recherche la chaîne de substitution correspondante – Remplace le caractère • Syntaxe • TRANSLATE (jeu de caractère, valeur1, valeur2) • REPLACE – Remplace chaque occurrence d’un ou de plusieurs caractères par un ou des caractères spécifiques • Syntaxe • REPLACE (‘valeur1’,’valeur2’,[NULL] ‘valeur’]
  68. 68. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 68 FONCTIONS suiteFONCTIONS suite • UPPER – Convertit les minuscules d’une chaîne de caractère en majuscules • Syntaxe • UPPER (chaîne de caractère) • LOWER – Convertit en minuscule, les majuscules d’une chaîne de caractères • Syntaxe • LOWER (chaîne de caractère) • SUBSTR – Extraction d’une partie de chaîne de caractère (sous chaîne de caractère) d’une chaîne de caractère • Syntaxe • SUBSTR (nom de colonne, position de départ, longueur)
  69. 69. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 69 FONCTIONS suiteFONCTIONS suite • INSTR – Cherche une chaîne de caractère dans un jeux de caractère – En indique la position • Syntaxe • INSTR (nom de colonne, ‘jeux de caractère’ [position de départ [,occurrence]]); • LTRIM – Élimine les caractères situés à gauche de la chaîne • Syntaxe • LTRIM (chaîne de caractère [,jeux de caractères’]) • RTRIM – Élimine les caractères à droite de la chaîne • Syntaxe • RTRIM (chaîne de caractères (,’jeux de caractères])
  70. 70. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 70 FONCTIONS de CARACTERESFONCTIONS de CARACTERES • LENGHT – Donne la longueur d’une chaîne • Syntaxe • LENGHT (chaîne de caractères) • NVL – Récupère les valeurs nulles d’une colonne pour les remplacer par une expression donnée • Syntaxe • NVL (‘valeur’,’substitution’)
  71. 71. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 71 FONCTIONS de CARACTERESFONCTIONS de CARACTERES • LPAD – Ajout de caractères ou d’espace à gauche de la chaîne • Syntaxe • LPAD (jeux de caractères) • RPAD – Ajout de caractères ou d’espace à droite de la chaîne • Syntaxe • RPAD (jeux de caractère) • ASCII – Retourne la représentation (code) ASCII du caractère situé le plus à gauche de la chaîne • Syntaxe • ASCII (jeux de caractères)
  72. 72. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 72 FONCTIONS MATHEMATIQUESFONCTIONS MATHEMATIQUES • Syntaxe – FONCTION (expression) • FONCTIONS : – ABS • Valeur absolue – ROUND • Arrondi – SQRT • Racine carré – SIGN • Valeur signée – POWER • À la puissance … – CEIL • Valeur plafond – FLOOR • Valeur planché – EXP • Exponentielle – SIN • Sinus – COS • Cosinus – TAN • Tangente
  73. 73. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 73 FONCTIONS DE CONVERSIONFONCTIONS DE CONVERSION • Conversion d’un type en au autre type de données – Caractère en Numérique – Numérique en Caractère – Caractère en Date – Date en Caractère • Conversion Nombre en Chaîne de Caractères – STR ( float_expression [ , length [ , decimal ] ] ) – TO_CHAR
  74. 74. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 74 DATE et HEUREDATE et HEURE • DATE valeur littérale de Date • TIME valeur littérale d’heure • TIMESTAMP valeur littérale de date et d’heure • Date en cours ou Date Système GETDATE
  75. 75. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 75 DATE et HEUREDATE et HEURE • Fuseaux horaires – AST,ADT – CST,CDT – GMT – HST,HDT – MST,MDT – PST,PDT • Comparaison de DATE – Opérateur OVERLAP(s)
  76. 76. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 76 DATE et HEUREDATE et HEURE • Image de date – Composée d’élément de mise en forme – Exemple • yy année • dy jour de l’année • dw jour de la semaine • mm mois • hh heure • mi minute • ss seconde • Sur ORACLE – DAY le nom du jour de la semaine – MONTH le mois – yyyy l’année – HH l’heure – MI minute de l’heure – SS seconde de la minute – DATENAME > conversion en chaîne de caractère
  77. 77. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 77 JOINTURE de TABLEsJOINTURE de TABLEs Sélection de données dans plusieurs TABLEs • Jointure jointure combine deux ou plusieurs tables pour en extraire une ou plusieurs données • Types de jointures – Jointure d’égalité – Jointure naturel(le) – Jointure de non-égalité – Jointure externe – Jointure réflexive – Jointure croisée
  78. 78. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 78 JOINTURE d’ EGALITEJOINTURE d’ EGALITE • Sert à joindre deux tables à l’aide d’une colonne commune – Exemple: Primary Key • noms – EQUIJOIN – INNER JOIN
  79. 79. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 79 QUALIFICATIONQUALIFICATION du nom d’une colonnedu nom d’une colonne • Pour Qualifier le nom d’une colonne dans une requête, il faut faire précéder le nom de la colonne par le nom de la table propriétaire • Utilisation de la notation OBJET – Compatible avec la modélisation UMLmodélisation UML et les outils de modélisation nom-table.nom-colonne
  80. 80. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 80 JOINTURE NATURELLEJOINTURE NATURELLE • Permet d’élimer les valeurs dupliquées dans les colonnes jointes (par la jointure) • nom – NATURAL JOINT
  81. 81. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 81 ALIAS de TABLEALIAS de TABLE • Renomage d’une Table dans une instruction SQL (lien d’une table sur elle même, portant un autre nom) • Il s’agit d’un changement temporaire, le nom réel de la table dans la Base de Donnée ne change pas. • Utilisé dans le cas de – Jointure de non égalité – Jointure externe – Jointure réflexive
  82. 82. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 82 JOINTURE de NON EGALITEJOINTURE de NON EGALITE • Jointure de deux tables, à partir de valeur(s) d’une colonne différente, de la valeur de la colonne spécifiée de l’autre table • non – NON-EQUOJOINT
  83. 83. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 83 JOINTURE EXTERNEJOINTURE EXTERNE • Retourne toutes les lignes d’une Table, même si elles ne possèdent pas de correspondance dans la Table jointe (par la jointure) • exemple FROM TableA, TableB [,TableC] where TableA.Nom-Colonne[(+)]= TableB.Nom-Colonne[(+)] [AND TableA.Nom-Colonne[(+)]= TableD.Nom-Colonne[(+)]
  84. 84. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 84 JOINTURE REFLEXIVEJOINTURE REFLEXIVE • Joindre une Table à elle même, comme s’il y avait deux tables • Cela implique l’utilisation d’un ALIAS
  85. 85. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 85 JOINTURE CROISSEEJOINTURE CROISSEE • C’est un Produit CartésienProduit Cartésien • Sélection des Données d’une ou de plusieurs Tables • Le Résultat renvoie toutes les lignes possibles issues de toutes les Tables sélectionnées
  86. 86. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 86 JOINTURE METHODOLOGIEJOINTURE METHODOLOGIE • Vérifiez l’existence d’une colonne ayant la capacité à être ‘jointe’ facilement • Pouvoir utiliser une Table ayant des Champs communs à une ou plusieurs Tables – Définir qui sera la Table principale – Définir qui sera ou seront la(les) Table cliente(s) • Modéliser (UML), les Objets, les relations, instanciation, hiérachisation, séquencement, • Bien spécifier les attentes les décliner en Pseudo-Code • Puis transcrire le pseudo-code en langage SQL • Tester par requêteur • Insertion au programme, qui sera testé sur données de test [résultat et performance]
  87. 87. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 87 OPERATEURS ENSEMBLISTESOPERATEURS ENSEMBLISTES • Utilisation d’opérateur ensembliste – UNION • Combine le résultat de deux instructions select – UNION ALL • Combine les résultats de deux instructions select, y compris les lignes dupliquées – INTERSECT • Combine deux instructions select et retourne les lignes de la première instruction identique à la seconde – EXCEPT • Combine les lignes de deux instructions et retourne les lignes de la première instruction non retournée par la seconde
  88. 88. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 88 Les INDEXsLes INDEXs • Un IndexIndex est un ensemble de PointeurPointeur vers les données d’une table • L’Index est stocké séparément de la table, pour la quelle il a été créé • La création, la modification, la suppression d’un index n’affecte pas les données • Objectif: Améliorer les performances de laAméliorer les performances de la recherche des donnéesrecherche des données
  89. 89. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 89 CREATION d’un INDEXCREATION d’un INDEX CREATE INDEX ON TABLE Types d’index – Index sur colonne unique CREAT INDEX nom-index ON nom-table (nom-colonne) – Index unique CREAT UNIQUE INDEX nom-index ON nom-table (nom-colonne) • Optimisation des performances • Garantir l’intégrité des données
  90. 90. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 90 CREATION d’un INDEXCREATION d’un INDEX Types d’index (suite) – Index composé • Indexe plusieurs colonne d’une table CREATE INDEX nom-inde ON nom-table (colone1, colonne2) • Utilisé pour des colonnes souvent sollicitées par une ou des clauses where – Index explicite • Créer par le serveur de base de données lors de la création d’un objet
  91. 91. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 91 INDEXATIONINDEXATION • Pour, lorsque, en fonction : – De tables de grandes tailles – Sollicitation d’objets par clause <where, …> – Des Relations ou liens entre objets (utilisation du modèle objet UML) – Table(s) sollicitée par des traitements fréquents et/ou lourds
  92. 92. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 92 Éviter l’IndexationÉviter l’Indexation • Pour ou sur : – Des colonnes vides – Des colonnes ayant une proportion importantes de valeur nulle – Des colonnes dont les valeurs sont souvent modifiées – Des colonnes utilisées comme conditions d’une requête ou de valeurs similaires ou peu différentes
  93. 93. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 93 Une Base de Données mal IndexéeUne Base de Données mal Indexée verra ses performances baisséesverra ses performances baissées
  94. 94. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 94 SUPPRESSION DES INDEXsSUPPRESSION DES INDEXs • On supprime les Indexs pour améliorer les performances • Un Index supprimé, pourra être recréé. DROP INDEX nom-de-l-index
  95. 95. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 95 OPTIMISATION des PERFORMANCESOPTIMISATION des PERFORMANCES • Comprend – Optimisation de la Base de Données – Optimisation du Code – Optimisation des données – Optimisation du Moteur de Base de Donnée – Optimisation des services utilisés par le SGBDR et l’application – Optimisation du ou des Serveurs supports – Optimisation du traffic / Transfert de données (réseaux supports [internes , externes] – Optimisation, adaptation, implémentation des règles de sécurité dès le pseudo-code – …
  96. 96. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 96 OPTIMISATION des PERFORMANCESOPTIMISATION des PERFORMANCES • Optimisation de la Base de données – Optimisation des Modèles – Classe, Objets, Logique, Physique – Indexation – Allocation mémoire – Surveillance utilisation – Disque – Processeur (principal, secondaire(s)) – Input / Output – Tuning de base et Tuning Système en CohérenceCohérence
  97. 97. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 97 OPTIMISATION des PERFORMANCESOPTIMISATION des PERFORMANCES • Optimisation du Code – Règles de codage décrites dans le Plan d’Assurance Qualité Logiciel – Structuration du Code – Utilisation d’un Pseudo-Code – Implémentation des règles de sécurité dès le pseudo code – Ordonnancement du code en tenant compte des Relations entre Objets – Prendre en compte l’ordre des tables dans la succession des requêtes – Position des conditions de jointures, dans les requêtes – Dans une jointure: • Aller de la plus petite table à la plus grande • Faire en sorte que l’optimiseur SQL évalue en premier la condition la plus restrictive – Éviter le balayage de table complète
  98. 98. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 98 LISIBILITE du CODELISIBILITE du CODE • Code documenté • Utilisation du Pseudo code • Code structuré – En lien avec les opération sur les objets (modèle objet UML) • Débuter une nouvelle ligne à chaque clause d’instruction • Utiliser des espaces, pour marquer l’indentation sur l’argument d’une clause de requête • Être cohérent avec le Plan d’Assurance Qualité Logiciel, – Règles d’écriture – Règles de nomage – Structure de code en cohérence avec la modélisation (objet)
  99. 99. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 99 LISIBILITE du CODELISIBILITE du CODE • Utiliser les ALIAS de Table, lorsque plusieurs tables sont référées dans une instruction • Utiliser les commentaires en amont de vos requêtes, pas dans vos requêtes • Commencer une nouvelle ligne pour chaque nom de colonne déclarée dans un SELECT • Commencer une nouvelle ligne pour chaque nom de table déclaré dans FROM • Commencer une nouvelle ligne pour chaque condition de la clause where • Dans une clause FROM, il est préférable de commencer par les plus petites Tables
  100. 100. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 100 INDEXATIONINDEXATION • Les colonnes – Clé primaire – Clé extérieure ou Clé étrangère – De jointure – En condition de requête – Avec un nombre important de valeur unique
  101. 101. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 101 AMELIORATIONAMELIORATION • Préférer l’utilisation de l’opérateur LIKE • Éviter – OR préférer IN – la clause HAVING – Les opérations de tri lourdes – Les opérations de tri imbriquées • Utiliser les Procédures StockéesProcédures Stockées – Procédures SQL compilées stockées dans la base • Ou leur équivalent en langage objet • Désactiver les Index(s) lors des chargements par lots • Utiliser l’outil de suivi et d’optimisation (un de base est fourni) – SQL serveur – ORACLE – MySQL
  102. 102. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 102 Le SCHEMALe SCHEMA • Création d’un Schéma CREATE SCHEMA • Syntaxe CREAT SCHEMA [nom-schema] [id-utilisateur] [path nom-schema] [,nom-schema] [List-element-schema] • Suppression d’un Schéma DROP SCHEMA nom-schema { }
  103. 103. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 103 SECURITE de la BASE deSECURITE de la BASE de DONNEEDONNEE • La Politique de Sécurité est explicitée dans le Plan Sécurité du SystèmePlan Sécurité du Système d’Informationd’Information, Ici seront plus spécifiquement utilisé les règles sur les objets métiers et les processus intégrés • Politique de Défense et de Prévention contre les tentatives – d’intrusion – de copie – de perturbation de l’intégrité des donnée ou de leurs règles de gestion • Les niveaux de Sécurité font appel à la gestion des : – Utilisateurs – Schémas – Objets – Fichiers d’arrière plan – Processus internes et liens avec le Dictionnaire des Données de la Base
  104. 104. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 104 PRIVILEGESPRIVILEGES Droits d’ Usage des DonnéesDroits d’ Usage des Données • La sécurité fait appelle à des privilèges – Niveaux d’Autorisation • Privilèges Systèmes • Privilèges et droits sur Objets • Privilèges et droits sur les Processus • Le contrôle opérationnel des privilèges se fait par des rôlesrôles • Les rôles pertinents sont induits par les rôlesrôles des acteursacteurs issus de la modélisation UML (Acteurs / Objets / Processus)
  105. 105. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 105 VUES et SYNONYMESVUES et SYNONYMES • Vues – Table virtuelle – Table constituée sous la forme d’une requête prédéfinie, stockée dans la base de donnée – Une table consomme de l’espace physique; la Vue étant l’image, ne consomme que l’espace nécessaire à sa définition, elle est stockée en mémoire. – Elle est crée à partir d’une ou de plusieurs tables – On peut aussi créer une table à partir d’une vue • Synonymes – Un autre nom pour – Une table – Une vue • Public ou privé
  106. 106. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 106 DICTIONNAIRE DES DONNEESDICTIONNAIRE DES DONNEES DATA DICTIONARY LANGAGEDATA DICTIONARY LANGAGE • Il existe pour toute Base de données applicatives • Il est définit dans le Plan d’Assurance Qualité • Composé – D’un groupe qui contient les définitions – Des autres objets de la Base de Données – De la Structure de la Base de Données • Création – à partir de la modélisation UML (objet) – Puis consolidation lors de la création de la Base de Données (par le modèle réel) – Soit par le DBA après la création de la Base • Pour la mise en œuvre d’une documentation inexistante • Pour faire du Reverse engineering
  107. 107. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 107 DICTIONNAIRE DES DONNEESDICTIONNAIRE DES DONNEES DATA DICTIONARY LANGAGEDATA DICTIONARY LANGAGE • Informations contenues – Les utilisateurs – Les segments et leur stockage – Les contrainte – Les vues – Les objets – Les tables – Les colonnes – Les macros – Les requêtes – Les relations
  108. 108. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 108 DICTIONNAIRE DES DONNEESDICTIONNAIRE DES DONNEES DATA DICTIONARY LANGAGEDATA DICTIONARY LANGAGE • Informations contenues – Les vues – Les synonymes – Les clés primaires – Les clés étrangères – Les triggers – Les messages d’erreur du serveur – L’appartenance des tables – Les rôles – Les droits d’accès – Les sessions
  109. 109. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 109 FONCTIONSFONCTIONS SUPPLEMENTAIRESSUPPLEMENTAIRES • Les Curseurs – Zone mémoire de la base de données dans laquelle est stockée les dernières instructions SQL – valeur en cours – ligne en cours • Syntaxe DECLARE CURSOR nom-curseur IS { } – Ouvrir le curseur OPEN nom-curseur – Récupérer le curseur FETCH nom-curseur – Fermer le curseur CLOSE nom-curseur
  110. 110. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 110 FONCTIONSFONCTIONS SUPPLEMENTAIRESSUPPLEMENTAIRES • Procédure Stockée – Fonction – Sous fonction – Sous programme – Instruction SQL – Indique à la Base de donnée ce qu’elle doit faire ( type instruction SQL), et aussi COMMENT elle doit le faire (procédurale) – Stockée dans la base de donnée • Syntaxe – CREATE PROCEDURE nom-procédure
  111. 111. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 111 FONCTIONSFONCTIONS SUPPLEMENTAIRESSUPPLEMENTAIRES • Trigger – Procédure SQL compilée dans la Base de données – Forme de Procédure Stockée, qui s’exécute lorsqu’une action spécifique est prédéfinie, s’accomplit sur un objet, une table. – Utilisé pour vérifier l’intégrité des données • Syntaxe – CREAT TRIGGER

×