O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

ULM 2 pour les bases de données

Book Description

Présentation
Concevoir une base de données grâce à UML 2

S'adressant aux architectes logiciels, chefs de projet, analystes, développeurs, responsables méthode et étudiants en informatique, cet ouvrage explique comment utiliser à bon escient le diagramme de classes UML pour concevoir une base de données, puis comment traduire correctement ce diagramme en langage SQL. Sa démarche est indépendante de tout éditeur de logiciel et aisément transposable, quel que soit l'outil de conception choisi.

Le livre décrit d'abord la construction d'un diagramme de classes UML à l'aide de règles de validation et de normalisation. Tous les mécanismes de dérivation d'un modèle conceptuel dans un schéma relationnel sont clairement commentés à l'aide d'exemples concrets. Le modèle logique est ensuite optimisé avant l'écriture des scripts SQL. La dernière étape consiste à implémenter les règles métier en programmant des contraintes, déclencheurs ou transactions SQL. Le livre se clôt par une étude comparative des principaux outils de modélisation sur le marché.

Entièrement réécrite, cette deuxième édition est commentée par Frédéric Brouard, expert SQL Server et auteur de nombreux ouvrages et articles sur le langage SQL. Émaillée d'une centaine de schémas et d'illustrations, elle est complétée par 30 exercices inspirés de cas réels.

À qui s'adresse cet ouvrage ?
  • Aux étudiants en IUT, IUP, Deug et écoles d'ingénieur, ainsi qu'à leurs professeurs
  • Aux professionnels souhaitant s'initier à la modélisation de bases de données avec UML
  • À tous les concepteurs de bases de données désirant migrer de Merise à UML
Au sommaire
  • Le niveau conceptuel
    • Analyse des besoins
    • Les concepts majeurs
    • Les identifiants
    • ...
  • Le niveau logique
    • Concepts du niveau logique
    • Du conceptuel au relationnel
    • Typez vos colonnes
    • ...
  • Le niveau physique
    • Le langage SQL
    • Passage du logique au physique
    • Programmation des contraintes
    • ...
  • Le niveau externe
    • Les vues relationnelles (SQL2)
    • Les vues matérialisées
    • Les vues objet (SQL3)
    • Les déclencheurs INSTEAD OF
  • Les outils du marché : de la théorie à la pratique
    • MagicDraw
    • MEGA
    • Modelio
    • ...
  • A. Corrigés des exercices
  • B. Ressources

Table of Contents

  1. Couverture
  2. Page de titre
  3. Copyright
  4. Du même auteur
  5. Table des matières
  6. Avant-propos
    1. Évolution des modèles de données
      1. Les fichiers et COBOL
      2. Le modèle hiérarchique
      3. Le modèle réseau
      4. Le modèle relationnel
    2. À qui s’adresse cet ouvrage ?
    3. Comment utiliser UML pour les bases de données ?
      1. Les diagrammes
      2. Les outils
    4. Guide de lecture
      1. Niveau conceptuel
      2. Transformation et normalisation
      3. Écriture des scripts SQL et programmation des contraintes
      4. Les vues SQL2 et SQL3
      5. Les outils du marché
      6. Annexes
    5. Les pictogrammes
    6. Contact avec l’auteur
  7. 1 Le niveau conceptuel
    1. Analyse des besoins
      1. Premiers exemples
      2. Le jargon du terrain
      3. Ne confondez pas traitements et données
      4. Le dictionnaire des données
    2. Les concepts majeurs
      1. Un peu d’histoire
      2. D’autres formalismes
      3. Terminologie
      4. Attribut ou information ?
      5. Classe ou entité ?
    3. Les identifiants
      1. Qui dit libellé, dit identifiant
      2. Concrets ou abstraits ?
      3. Artificiels ou naturels ?
      4. Plusieurs, c’est possible ?
    4. Les associations binaires
      1. Multiplicités versus cardinalités
      2. Le maximum est prépondérant
      3. Le minimum est-il illusoire ?
      4. Réflexivité
      5. Les rôles
      6. Mise en pratique
      7. Les associations plus complexes
    5. Les classes-associations
      1. Premier exemple
      2. Formalismes entité-association
      3. Rattacher une classe-association
      4. Classe-association réflexive
      5. Mise en pratique
    6. Les associations n-aires
      1. Savoir les interpréter
      2. Le langage du formalisme
      3. Quelques bêtises du web
      4. Quelques cas valides
      5. Comment se prémunir ?
      6. Mise en pratique
    7. Les agrégations
    8. L’identification relative
      1. Notations avec merise
      2. Réification
      3. Exemples avec UML
      4. Alternatives
      5. Mise en pratique
    9. L’identification artificielle
      1. Mise en pratique
    10. L’héritage
      1. Définition
      2. Identification
      3. Instances
      4. Héritage multiple
      5. Mise en pratique
    11. Aspects temporels
      1. Modélisation d’un moment
      2. Modélisation de chronologie
      3. Modélisation de l’historisation
      4. Mise en pratique
    12. La démarche à adopter
      1. Décomposition en propositions élémentaires
      2. Propositions incomplètes
      3. Chronologie des étapes
      4. Quelques conseils
      5. Les erreurs classiques
      6. Les concepts inutiles de UML
      7. Un seul schéma valable ?
    13. Règles métier et contraintes
      1. Contraintes prédéfinies
      2. Contraintes personnalisées (langage OCL)
      3. Contraintes d’héritage
      4. Mise en pratique
    14. Règles de validation
      1. Les dépendances fonctionnelles
      2. Vérification
      3. Première forme normale
      4. Deuxième forme normale
      5. Troisième forme normale
      6. Forme normale de boyce-codd
      7. Forme normale domaine-clé
      8. Quatrième et cinquième formes normales
      9. Mise en pratique
    15. Bilan
    16. Exercices
  8. 2 Le niveau logique
    1. Concepts du niveau logique
    2. Du conceptuel au relationnel
      1. Transformation des classes
      2. Transformation des associations un-à-plusieurs
      3. Transformation des associations plusieurs-à-plusieurs
      4. Cas particuliers des associations binaires
      5. Transformation des classes-associations
      6. Transformation de l’héritage
      7. La solution « universelle »
      8. Les transformations à éviter
      9. Traduire ou ne pas traduire ?
      10. Mise en pratique
    3. Typez vos colonnes
    4. La normalisation
      1. Dépendances fonctionnelles
      2. Mise en pratique
    5. Calculs de volumétrie
    6. Exercices
  9. 3 Le niveau physique
    1. Le langage SQL
      1. Les schémas
      2. Schémas SQL ou bases ?
      3. Schémas et propriétaires
      4. Les contraintes
    2. Passage du logique au physique
      1. Traduction des relations
      2. Traduction des associations un-à-plusieurs
      3. Traduction des associations un-à-un
      4. Traduction des associations réflexives
      5. Traduction des agrégations (composition)
      6. Traduction des associations plusieurs-à-plusieurs
      7. Solution universelle
      8. Mise en pratique
    3. Programmation des contraintes
      1. Héritage par distinction
      2. Héritage en push-down
      3. Héritage en push-up
      4. Contraintes multitables (assertions)
      5. Contraintes prédéfinies
      6. Contraintes personnalisées
      7. Mise en pratique
    4. Dénormalisation
      1. Les règles de brouard
      2. Mise en pratique
    5. Exercices
  10. 4 Le niveau externe
    1. Les vues relationnelles (SQL2)
      1. Création d’une vue
      2. Classification
      3. Vues monotables
      4. Vues complexes
      5. Vues modifiables
      6. Confidentialité
      7. Simplification de requêtes
      8. Contrôles d’intégrité référentielle
      9. Dénormalisation
    2. Les vues matérialisées
      1. Réécriture de requêtes
      2. Création d’une vue matérialisée
      3. Le rafraîchissement
    3. Les vues objet (SQL3)
      1. Étapes à respecter
      2. Vue contenant une collection
      3. Rendre une vue modifiable
      4. Programmer des méthodes
    4. Les déclencheurs instead of
      1. Mise à jour d’une vue complexe
      2. Mise à jour d’une vue multitable
      3. Mise à jour de tables et vues objet
  11. 5 Les outils du marché : de la théorie à la pratique
    1. Magic draw
    2. MEGA
      1. Identifiants
      2. Associations
      3. Génération du modèle relationnel
      4. Génération des tables
      5. Rétroconception
    3. Modelio
      1. Identifiants
      2. Associations
      3. Génération du modèle relationnel
      4. Génération des tables
    4. Objecteering
      1. Identifiants
      2. Associations
      3. Génération du modèle relationnel
      4. Génération des tables
    5. PowerAMC
      1. Identifiants
      2. Associations
      3. Héritage
      4. Génération du modèle relationnel
      5. Génération des tables
      6. Rétroconception
    6. Rational rose
      1. Identifiants
      2. Génération du modèle relationnel
      3. Génération des tables
      4. Rétroconception
    7. Visual paradigm
    8. Win’design
      1. Identifiants
      2. Associations
      3. Héritage
      4. Génération du modèle relationnel
      5. Génération des tables
      6. Rétroconception
    9. Conclusion
  12. A Corrigés des exercices
    1. Exercice 1.1 – La déroute des bleus
      1. Associations binaires
      2. Classe-association
      3. Historique
    2. Exercice 1.2 – L’organisme de formation
      1. Inscriptions
      2. Plannings
    3. Exercice 1.3 – Les lignes de facture
    4. Exercice 1.4 – La décomposition des n-aires
      1. Visite des représentants
      2. Stages
      3. Cote automobile
      4. Horaires d’une ligne de bus
    5. Exercice 1.5 – Les comptes bancaires
      1. Associations binaires
      2. Identification relative
      3. Identification artificielle
    6. Exercice 1.6 – Le RIB
    7. Exercice 1.7 – L’organisme de formation (suite)
      1. Sessions
      2. Salles
    8. Exercice 1.8 – L’héritage
      1. Organisme de formation
      2. Comptes bancaires
    9. Exercice 1.9 – Les cartes grises
      1. Ancien régime
      2. Coût du cheval
      3. Nouvelle numérotation
      4. Contrôles techniques
    10. Exercice 1.10 – Les contraintes
      1. Déroute des bleus
      2. Organisme de formation
      3. Comptes bancaires
    11. Exercice 1.11 – La carte d’embarquement
    12. Exercice 1.12 – Deux cafés et l’addition !
    13. Exercice 1.13 – La thalasso
    14. Exercice 1.14 – Le centre de plongée
    15. Exercice 1.15 – L’élection présidentielle
      1. Membres des partis
      2. Résultats des élections passées
      3. Titre suprême
    16. Exercice 2.1 – Les associations binaires
    17. Exercice 2.2 – L’héritage et la composition
    18. Exercice 2.3 – Les classes-associations
    19. Exercice 2.4 -Traduire ou ne pas traduire ?
    20. Exercice 2.5 – La normalisation
    21. Exercice 3.1 – La création de tables (carte d’embarquement)
    22. Exercice 3.2 – La création de tables (horaires de bus)
    23. Exercice 3.3 – La programmation de contraintes
      1. Carte d’embarquement
      2. Horaires des bus
      3. E-mails des clients et prospects
    24. Exercice 3.4 – La dénormalisation
      1. Carte d’embarquement
      2. Horaires des bus
    25. Exercice 3.5 – Ma psy oublie tout
      1. Rendez-vous
      2. Confrères et livres
    26. Exercice 3.6 – Le planning d’une école de pilotage
      1. Flotte
      2. Acteurs
      3. Rendez-vous
  13. B Ressources
    1. Webographie
    2. Bibliographie
  14. Index