NF17 Cours (Fondamentaux) Conception de bases de données I Paternité - Pas d'Ut
NF17 Cours (Fondamentaux) Conception de bases de données I Paternité - Pas d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ STÉPHANE CROZAT Publiée le 17 février 2011 Version 11.01 Table des matières Introduction 9 I - Présentation des bases de données 11 A. BD et SGBD : vue d'ensemble....................................................................................................................11 1. Qu'est ce qu'une BD ?................................................................................................................................................................11 2. Qu'est ce qu'un SGBD ?.............................................................................................................................................................12 3. Pourquoi des SGBD ?................................................................................................................................................................12 4. Caractéristiques des SGBD.......................................................................................................................................................13 B. Notions générales pour les bases de données..............................................................................................13 1. Notion de données......................................................................................................................................................................14 2. Notion de modèle de données.....................................................................................................................................................14 3. Notion de schéma de données....................................................................................................................................................15 4. Notion de langage de données...................................................................................................................................................16 5. Notion d'administration de données..........................................................................................................................................17 C. Les méthodes de conception de bases de données......................................................................................17 1. Méthodologie de conception d'une base de données.................................................................................................................18 2. La méthode MERISE et le modèle E-A......................................................................................................................................19 3. Le langage de modélisation UML..............................................................................................................................................19 4. Éléments pour l'analyse de l'existant et des besoins..................................................................................................................19 5. Le MCD......................................................................................................................................................................................21 6. Le MLD......................................................................................................................................................................................21 D. En résumé : Conception de bases de données.............................................................................................21 II - Le niveau conceptuel : la modélisation des bases de données 23 A. Bases du diagramme de classes UML.........................................................................................................23 1. Présentation d'UML...................................................................................................................................................................23 2. Classes.......................................................................................................................................................................................24 3. Attributs......................................................................................................................................................................................25 4. Méthodes....................................................................................................................................................................................25 5. Associations...............................................................................................................................................................................26 6. Cardinalité.................................................................................................................................................................................27 7. Héritage.....................................................................................................................................................................................27 8. Exemple : Des voitures et des conducteurs................................................................................................................................29 B. Diagramme de classes UML avancé...........................................................................................................29 1. Explicitation des associations....................................................................................................................................................29 2. Classe d'association...................................................................................................................................................................30 3. Associations ternaires................................................................................................................................................................32 4. Composition...............................................................................................................................................................................32 5. Agrégation..................................................................................................................................................................................33 6. Classes abstraites.......................................................................................................................................................................34 7. Contraintes.................................................................................................................................................................................35 8. Contraintes sur les associations................................................................................................................................................37 9. Paquetages.................................................................................................................................................................................38 10. Stéréotype.................................................................................................................................................................................39 C. Le modèle E-A.............................................................................................................................................40 1. Le modèle E-A en bref................................................................................................................................................................40 2. Entité..........................................................................................................................................................................................40 3. Association.................................................................................................................................................................................41 4. Cardinalité d'une association....................................................................................................................................................41 S. Crozat - UTC 3 5. Modèle E-A étendu.....................................................................................................................................................................42 6. Entité de type faible....................................................................................................................................................................43 7. Illustration d'entités faibles........................................................................................................................................................44 D. En résumé : Schéma conceptuel..................................................................................................................44 E. Bibliographie commentée sur la modélisation UML...................................................................................45 III - Le niveau logique : la modélisation relationnelle 47 A. Description du modèle relationnel..............................................................................................................47 1. Le niveau logique.......................................................................................................................................................................47 2. Le modèle relationnel.................................................................................................................................................................48 3. Domaine.....................................................................................................................................................................................48 4. Produit cartésien........................................................................................................................................................................48 5. Relation......................................................................................................................................................................................49 6. Attribut et enregistrement..........................................................................................................................................................49 7. La relation Vol...........................................................................................................................................................................50 8. Clé..............................................................................................................................................................................................50 9. Clé artificielle............................................................................................................................................................................51 10. Lien entre relations..................................................................................................................................................................52 11. Éclatement des relations pour éviter la redondance...............................................................................................................52 12. Clé étrangère............................................................................................................................................................................54 13. Schéma relationnel...................................................................................................................................................................54 14. Exemple de schéma relationnel simple pour la géographie....................................................................................................55 B. Le passage UML vers Relationnel...............................................................................................................56 1. Transformation des classes........................................................................................................................................................56 2. Transformation des associations...............................................................................................................................................56 3. Remarques concernant la transformation des associations 1:1................................................................................................57 4. Transformation des attributs et méthodes..................................................................................................................................58 5. Transformation des classes d'association..................................................................................................................................58 6. Transformation des compositions..............................................................................................................................................59 7. Transformation de la relation d'héritage...................................................................................................................................59 8. Transformation de la relation d'héritage par référence............................................................................................................61 9. Transformation de la relation d'héritage par les classes filles..................................................................................................61 10. Transformation de la relation d'héritage par la classe mère..................................................................................................62 11. Exemple de transformation d'une relation d'héritage..............................................................................................................63 12. Héritage et clé primaire...........................................................................................................................................................66 13. Liste des contraintes.................................................................................................................................................................66 14. Correspondance entre UML et relationnel..............................................................................................................................67 C. Le passage E-A vers Relationnel.................................................................................................................67 1. Transformation des entités.........................................................................................................................................................67 2. Transformation des associations...............................................................................................................................................67 3. Transformation de la relation d'héritage...................................................................................................................................68 4. Exemple de passage E-A vers relationnel..................................................................................................................................69 5. Comparaison des modèles E-A, UML et relationnel.................................................................................................................70 D. Algèbre relationnelle...................................................................................................................................70 1. Concepts manipulatoires............................................................................................................................................................70 2. Opérateurs ensemblistes............................................................................................................................................................71 3. Projection...................................................................................................................................................................................72 4. Restriction..................................................................................................................................................................................72 5. Produit.......................................................................................................................................................................................73 6. Jointure......................................................................................................................................................................................74 7. Jointure naturelle.......................................................................................................................................................................74 8. Jointure externe..........................................................................................................................................................................74 9. Division......................................................................................................................................................................................75 10. Proposition de notations..........................................................................................................................................................76 11. Exercice de synthèse : Opérateurs de base et additionnels.....................................................................................................77 E. En résumé : Schéma relationnel...................................................................................................................77 F. Bibliographie commentée sur le modèle relationnel....................................................................................77 IV - Le langage SQL 79 A. Qu'appelle-t-on SQL?..................................................................................................................................79 B. Le Langage de Définition de Données de SQL...........................................................................................80 1. Types de données.......................................................................................................................................................................80 2. Création de tables......................................................................................................................................................................81 S. Crozat - UTC 4 3. Contraintes d'intégrité...............................................................................................................................................................82 4. Exemple de contraintes d'intégrité.............................................................................................................................................83 5. Création de vues.........................................................................................................................................................................84 6. Suppression d'objets...................................................................................................................................................................85 7. Modification de tables................................................................................................................................................................85 8. Exemple de modifications de tables...........................................................................................................................................86 C. Gestion avec le Langage de Manipulation de Données de SQL.................................................................87 1. Insertion de données..................................................................................................................................................................87 2. Mise à jour de données..............................................................................................................................................................88 3. Suppression de données.............................................................................................................................................................88 D. Questions avec le Langage de Manipulation de Données de SQL..............................................................88 1. Sélection.....................................................................................................................................................................................89 2. Opérateurs de comparaisons et opérateurs logiques................................................................................................................90 3. Expression du produit cartésien................................................................................................................................................91 4. Expression d'une projection.......................................................................................................................................................91 5. Expression d'une restriction.......................................................................................................................................................92 6. Expression d'une jointure...........................................................................................................................................................92 7. Expression d'une jointure externe..............................................................................................................................................94 8. Opérateurs ensemblistes............................................................................................................................................................96 9. Tri...............................................................................................................................................................................................97 10. Fonctions de calcul..................................................................................................................................................................97 11. Agrégats...................................................................................................................................................................................98 E. Instructions avancées pour le LMD de SQL................................................................................................99 1. Requêtes imbriquées..................................................................................................................................................................99 2. Sous-requête d'existence IN.......................................................................................................................................................99 3. Sous-requête d'existence EXISTS.............................................................................................................................................100 4. Sous-requête de comparaison ALL..........................................................................................................................................101 5. Sous-requête de comparaison ANY..........................................................................................................................................101 6. Raffinement de questions dans la clause FROM.....................................................................................................................102 F. Le Langage de Contrôle de Données de SQL............................................................................................102 1. Attribution de droits.................................................................................................................................................................103 2. Révocation de droits.................................................................................................................................................................104 3. Création d'utilisateurs..............................................................................................................................................................104 G. En résumé : SQL.......................................................................................................................................104 H. Bibliographie commentée sur le SQL.......................................................................................................105 V - La théorie de la normalisation relationnelle 107 A. Les dépendances fonctionnelles................................................................................................................107 1. Exercice introductif : Redondance...........................................................................................................................................107 2. Les problèmes soulevés par une mauvaise modélisation.........................................................................................................108 3. Principes de la normalisation..................................................................................................................................................109 4. Dépendance fonctionnelle........................................................................................................................................................109 5. Les axiomes d'Armstrong.........................................................................................................................................................110 6. Autres propriétés déduites des axiomes d'Armstrong..............................................................................................................110 7. DF élémentaire........................................................................................................................................................................111 8. Notion de fermeture transitive des DFE..................................................................................................................................111 9. Notion de couverture minimale des DFE.................................................................................................................................111 10. Notion de graphe des DFE.....................................................................................................................................................112 11. Définition formelle d'une clé..................................................................................................................................................112 B. Les formes normales..................................................................................................................................113 1. Principe de la décomposition...................................................................................................................................................113 2. Formes normales......................................................................................................................................................................114 3. Première forme normale..........................................................................................................................................................114 4. Deuxième forme normale.........................................................................................................................................................115 5. Troisième forme normale.........................................................................................................................................................115 6. Forme normale de Boyce-Codd...............................................................................................................................................116 C. Bibliographie commentée sur la normalisation.........................................................................................117 VI - Technologie Web, PHP et Java 119 A. Architecture 3-tier.....................................................................................................................................119 1. Notions d'achitecture client-serveur........................................................................................................................................119 2. Notions d'architecture 3-tier....................................................................................................................................................121 3. Notions de serveur Web...........................................................................................................................................................122 S. Crozat - UTC 5 4. Architecture Web......................................................................................................................................................................123 B. Rappels HTML..........................................................................................................................................123 1. Formulaires HTML..................................................................................................................................................................123 C. Introduction à PHP....................................................................................................................................124 1. Présentation de PHP................................................................................................................................................................124 2. Principes de PHP.....................................................................................................................................................................125 3. Syntaxe PHP............................................................................................................................................................................125 4. Variables en PHP.....................................................................................................................................................................126 5. Structures de contrôle en PHP.................................................................................................................................................126 6. Boucles en PHP.......................................................................................................................................................................127 7. Fonctions en PHP....................................................................................................................................................................127 8. Objets en PHP..........................................................................................................................................................................127 9. Envoi de texte au navigateur....................................................................................................................................................128 10. Formulaires HTML et PHP...................................................................................................................................................128 D. PHP et BD.................................................................................................................................................129 1. Interfaçage avec PostgreSQL..................................................................................................................................................129 2. Interfaçage PHP avec MySQL.................................................................................................................................................130 3. Interfaçage PHP avec Oracle..................................................................................................................................................130 4. Architecture PHP/Oracle.........................................................................................................................................................132 E. Java et BD (JDBC)....................................................................................................................................133 1. JDBC........................................................................................................................................................................................133 2. Structure globale d'un appel BD depuis Java..........................................................................................................................133 3. Syntaxe d'un appel BD depuis Java.........................................................................................................................................134 4. Exemple : Insertion et sélection dans Oracle depuis Java......................................................................................................134 5. Espace de requête préparé.......................................................................................................................................................135 6. Exemple : Insertion en utilisant un espace préparé dans Oracle............................................................................................135 7. Appel Oracle PL/SQL..............................................................................................................................................................136 8. Insertion en utilisant un appel Oracle PL/SQL.......................................................................................................................137 F. Introduction aux servlets............................................................................................................................137 1. Présentation des servlets..........................................................................................................................................................137 2. Implémenter une servlet...........................................................................................................................................................138 3. Quelques méthodes de la classe HttpServlet............................................................................................................................138 4. Formulaires HTML et servlet (HttpServletRequest)................................................................................................................138 5. Création de la réponse (HttpServletResponse)........................................................................................................................139 6. Cycle de vie d'une servlet.........................................................................................................................................................139 G. Servlets et BD............................................................................................................................................139 1. Exemple d'appel SQL depuis une servlet sous Oracle.............................................................................................................139 2. Exemple d'appel Oracle PL/SQL depuis une servlet...............................................................................................................140 3. Architecture servlet/Oracle......................................................................................................................................................141 H. Bibliographie commentée sur les architectures Web, PHP et Java...........................................................142 VII - Technologie Access 143 A. Généralités.................................................................................................................................................143 1. Présentation d'Access...............................................................................................................................................................143 2. Avantages et inconvénient d'Access.........................................................................................................................................145 3. Séparation base de données et application..............................................................................................................................145 B. Création de schéma relationnel sous Access.............................................................................................146 1. LDD et création de tables sous Access....................................................................................................................................146 2. Domaines et types de données sous Access.............................................................................................................................146 3. Contraintes...............................................................................................................................................................................147 4. Vues et "requêtes" LDD...........................................................................................................................................................148 C. Le langage de requêtes sous Access..........................................................................................................149 1. Questions QBE.........................................................................................................................................................................149 2. Questions SQL..........................................................................................................................................................................150 3. Manipulation des données en QBE..........................................................................................................................................151 4. Clause GROUP BY en QBE.....................................................................................................................................................151 D. Création d'application Access (formulaires et macros).............................................................................152 1. Formulaire liés à une table......................................................................................................................................................152 2. Formulaires indépendants.......................................................................................................................................................153 3. Contrôles listes.........................................................................................................................................................................154 4. Macros.....................................................................................................................................................................................155 S. Crozat - UTC 6 E. Modules de programmation VBA sous Access.........................................................................................156 1. Structure d'un programme VBA...............................................................................................................................................156 2. Fonctions à connaître..............................................................................................................................................................157 3. Objets VBA pour accéder à la BD...........................................................................................................................................157 4. Exemple : Normaliser des chaînes de caractères....................................................................................................................157 5. Exemple : Accéder à un fichier externe...................................................................................................................................158 6. Exemple : Parcourir une table ou une requête stockée...........................................................................................................158 7. Exemple : Parcourir une table passée en paramètre...............................................................................................................158 8. Exemple : Parcourir une table et gérer les erreurs.................................................................................................................159 9. Exemple : Exécuter une requête...............................................................................................................................................159 10. Exemple : Créer un schéma de BD et initialiser les données................................................................................................159 11. Aide et déboguage..................................................................................................................................................................160 F. Autres aspects............................................................................................................................................160 1. Gestion des droits.....................................................................................................................................................................160 2. Run-time...................................................................................................................................................................................160 G. En résumé : Access....................................................................................................................................160 H. Bibliographie commentée sur Access.......................................................................................................160 I. Questions-réponses sur Access...................................................................................................................161 VIII - Ouvrage de référence conseillé 163 Questions de synthèse 165 Solution des exercices rédactionnels 185 Glossaire 187 Signification des abréviations 189 Bibliographie 191 Index 193 S. Crozat - UTC 7 Introduction Les BD sont nées vers la fin des années 1960 pour combler les limites des systèmes de fichiers. Les BD relationnelles, issues de la recherche de Codd, sont celles qui ont connu le plus grand essor depuis plus de 20 ans, et qui reste encore aujourd'hui les plus utilisées. Le langage SQL est une couche technologique, idéalement indépendante des implémentations des SGBDR, qui permet de créer et manipuler des BD relationnelles. Les usages de BD se sont aujourd'hui généralisés pour entrer dans tous les secteurs de l'entreprise, depuis les "petites" BD utilisées par quelques personnes dans un service pour des besoins de gestion de données locales, jusqu'aux "grosses" BD qui gèrent de façon centralisée des données partagées par tous les acteurs de l'entreprise. Parallèlement l'accroissement de l'utilisation du numérique comme outil de manipulation de toutes données (bureautique, informatique applicative, etc.) et comme outil d'extension des moyens de communication (réseaux) d'une part et les évolutions technologiques (puissance des PC, Internet, etc.) d'autre part ont à uploads/s3/ nf17-1v1101-pdf.pdf
Documents similaires










-
88
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 25, 2022
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 4.0943MB