De UML à SQL> une synthèse



Documents pareils
Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN :

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Modélisation des données

Université de Bangui. Modélisons en UML

UML (Diagramme de classes) Unified Modeling Language

Analyse,, Conception des Systèmes Informatiques

IFT2255 : Génie logiciel

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

UML et les Bases de Données

CONCEPTION DE PROJET SIG AVEC UML

Modèle Entité/Association

Les bases de données et SQL

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Conception des bases de données : Modèle Entité-Association

Conception, architecture et urbanisation des systèmes d information

Information utiles. webpage : Google+ : digiusto/

UML (Paquetage) Unified Modeling Language

Bases de Données Avancées

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Les bases de données

3. UML - Unified Modeling Language Diagrammes statiques

Corrigés détaillés des exercices

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

UML 2.0. (IUT, département informatique, 1 re année) Laurent AUDIBERT

Cours STIM P8 TD 1 Génie Logiciel

Chapitre I : le langage UML et le processus unifié

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Bases de Données relationnelles et leurs systèmes de Gestion

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Refonte front-office / back-office - Architecture & Conception -

Modélisation de bases de données : Le modèle relationnel

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

MEGA Database Builder. Guide d utilisation

Rational Unified Process

CREATION WEB DYNAMIQUE

CC30 Certificat de compétence Conception, développement et animation de sites Web

1.2 Genèse. 1.3 Version de Designer utilisée

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA (d'après A.-M. Hugues) màj 17/04/2007

Génie Logiciel Orienté Objet UML

1 Modélisation d une base de données pour une société de bourse

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE

Diagramme de classes

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Ingénierie des Modèles. Méta-modélisation

Retour d expériences avec UML

16H Cours / 18H TD / 20H TP

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

Bases de données. Chapitre 1. Introduction

Introduction au génie logiciel

MERISE. Modélisation et Conception de Systèmes d Information

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Mercredi 15 Janvier 2014

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Développement d un interpréteur OCL pour une machine virtuelle UML.

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Les diagrammes de modélisation

EXERCICES UML. Modéliser cette situation par un diagramme de cas d utilisation. Consulter planning

Bases de données relationnelles & SQL

Bases de données avancées Introduction

Patrons de Conception (Design Patterns)

Génie logiciel (Un aperçu)

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Chaîne opératoire de réalisation d une base de données. ANF «Comment concevoir une base de données» (29-30/01/2015)

Cours Gestion de projet

1 Introduction et installation

CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2012

Description de la formation

Management des processus opérationnels

Systèmes d information et bases de données (niveau 1)

Comprendre Merise et la modélisation des données

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

I4 : Bases de Données

Introduction à la conception de systèmes d information

GOL502 Industries de services

Méthode d analyse Merise

Conception d une base de données

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

Langage SQL : créer et interroger une base

Concevoir un modèle de données Gestion des clients et des visites

Cours Base de données relationnelles. M. Boughanem, IUP STRI

TP Contraintes - Triggers

Introduction aux Bases de Données

Bases de données relationnelles

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

Génie Logiciel. Rappels. C. Crochepeyre Génie Logiciel Rappels 1

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

LO19. Tutorial Rotional Rose. Alexandre Penfornis Thomas Derive

Master Exploration Informatique des données DataWareHouse

Transcription:

De UML à SQL> une synthèse Christian Soutou http://icare.iut-blagnac.fr/soutou

You cannot design databases without a familarity with the techniques of the ER diagramming R.J. Muller, Database Design for Smarties, Using UML for Data Modeling, Morgan & Kaufman, 1999 C. Soutou - 2006 2

Plan Historique / Généralités Face à face Merise/UML Profil UML pour les bases de données Exercice Bibliographie, Webographie C. Soutou - 2006 3

Historique UML 2.0 2003 Rational, HP, Microsoft, Oracle, Unisys, etc UML 1.1 UML 1.0 UML 0.9x UML 1.2 UML 1.3 IBM et ObjecTime 1999 1998 1997 Unified Method 0.8 OOSE Autres méthodes Booch OMT C. Soutou - 2006 4

Généralités UML (Unified Modeling Language) Objectifs Représenter des systèmes par une notation unifiée basée sur les concepts objets Langage de modélisation (analyse et conception) Établir un couplage entre concepts et code exécutable (C++, Java ) C. Soutou - 2006 5

Les diagrammes Statiques (structurel) Diagrammes de classes Diagrammes d objets Diagrammes de cas d utilisation (use cases) Diagrammes de composants Diagrammes de déploiement Dynamiques (comportemental) Diagrammes de séquence Diagrammes de collaboration Diagrammes d états-transitions Diagrammes d activités C. Soutou - 2006 6

Diagrammes statiques Classes : Description des classes et des relations (associations entre les classes) Objets : Description des objets et leurs liens, correspondent à des diagrammes de collaboration simplifiés, sans représentation des envois de messages Cas d utilisation (use cases) : Description des fonctions du système du point de vue des utilisateurs Composants : Description des composants physiques du système Déploiement : Description des composants sur les dispositifs matériels C. Soutou - 2006 7

Niveaux de conception Conceptuel : oui Logique : oui Physique : non Externe : très peu Conceptuel Logique Externe Physique C. Soutou - 2006 8

Pourquoi utiliser UML? Notoriété des entreprises qui appartiennent au consortium UML (DEC, HP, IBM, Microsoft, Oracle, Rational Software, Unisys...) La majorité des nouveaux projets utilisent cette UML via un outil Avantages indéniables des concepts objets (réutilisabilité, maintenance, prototypage) C. Soutou - 2006 9

Face à face Merise/UML Concepts de base Associations Agrégations Contraintes Héritage C. Soutou - 2006 10

Historique de Merise P. Moulin, J. Randon, S. Savoysky, S. Spaccapietra, H. Tardieu, M. Teboul, Conceptual model as database design tool, Proceedings of the IFIP Working conference on Modelling in Database Management Systems, G.M. Nijssen Ed., North- Holland, 1976 P.P. Chen, The Entity-Relationship Model : Towards a Unified View of Data, ACM Transactions on Database Systems, Vol 1, N 1, 1976 C. Soutou - 2006 11

Face à face Merise/UML Les «+»d UML Les méthodes (dynamique des classes) Les stéréotypes : mécanismes d extensibilité par ajout de nouveaux types de classes <<Table>> <<View>> <<Association>> Lien avec les applications Java Le «-» d UML : absence de méthode (ce n est qu une notation) C. Soutou - 2006 12

Face à face Merise/UML Équivalences des concepts de base Entité Classe Occurrence Objet Association Association / Classe-association Contraintes Contraintes / Notes MCD Diagramme des classes Cardinalité est synonyme de multiplicité mais l interprétation est différente C. Soutou - 2006 13

Associations Merise un identifiant (simple ou composé) par entité pas d identifiant d association pas de propriété pour les associations binaires un-à-un et un-à-plusieurs Rôles possibles C. Soutou - 2006 14

Cardinalité n est pas multiplicité Interprétation des cardinalités du modèle de Chen (entity relationship) / UML du modèle MCD de Merise Associations binaires : simple permutation Associations n-aires : raisonnement différent C. Soutou - 2006 15

Associations n-aires Dans Merise : lues d une entité du sens entité concernée entités connectées Dans le modèle de P. Chen et pour UML : lues du sens entités connectées entité concernée Rôles et attributs possibles dans tous les formalismes C. Soutou - 2006 16

Associations n-aires UML Trois possibilités de représentation Symbole losange Classe stéréotypée Classe-association (modélisation de contraintes d unicité et d inclusion) C. Soutou - 2006 17

Symbole losange De plus en plus d outils le prenne en compte C. Soutou - 2006 18

Classe stéréotypée Les liens doivent s instancier simultanément Mal supporté par les outils (ex. Rose / PowerAMC) dans la génération SQL (clé primaire) C. Soutou - 2006 19

Contrainte d unicité «Un employé présent dans un aéroport ne travaille que pour le compte d une seule compagnie aérienne». C. Soutou - 2006 20

Contrainte d inclusion «Un employé ne peut représenter que ses employeurs dans tout aéroport où il travaille.» C. Soutou - 2006 21

Cumul de contraintes «Un employé ne peut représenter que ses employeurs dans tout aéroport où il travaille.» «Un employé présent dans un aéroport ne travaille que pour le compte d une seule compagnie aérienne». C. Soutou - 2006 22

Agrégations L agrégation ( ) affine une association (réflexive, binaire ou n-aire) pour laquelle l une des extrémités joue un rôle prédominant par rapport à l autre L agrégation concerne un seul rôle d une association Agrégation forte : composition ( ) La notion d agrégation a été un des aspects les plus discutés de la notation UML L agrégation se traduira au niveau de SQL par déclencheurs (triggers) ou contrainte CASCADE(sur des clés étrangères) C. Soutou - 2006 23

Agrégations Il est préférable d utiliser une agrégation dans les cas suivants une classe fait partie d une autre classe une action sur une classe implique une action sur une autre classe les objets d une classe sont subordonnés aux objets d une autre classe C. Soutou - 2006 24

Contraintes Objectif : plus de sémantique à un schéma Contraintes Merise/2 Partition Exclusion Totalité Inclusion Simultanéité Unicité (CIF) XT X T I S CIF Prises en compte par les outils mais pas de génération automatique de code associée C. Soutou - 2006 25

Contrainte de partition : CHECK C. Soutou - 2006 26

Exclusivité : CHECK X <<Exclusivité>> Totalité : CHECK T Simultanéité : CHECK S <<Totalité>> <<Simultanéité>> C. Soutou - 2006 27

Code SQL pour la simultanéité CREATE TABLE Pilote (numpil NUMBER PRIMARY KEY, nompil VARCHAR(10), sani VARCHAR(10), entraine VARCHAR(10), CONSTRAINT fk_pilote_sanitaire FOREIGN KEY(sani)REFERENCES Sanitaire(codesan), CONSTRAINT fk_pilote_entrainement FOREIGN KEY(entraine) REFERENCES Entrainement(codent), CONSTRAINT ck_pilote_simultaneite CHECK ((sani IS NULL AND entraine IS NULL) OR (sani IS NOT NULL AND entraine IS NOT NULL)) ); C. Soutou - 2006 28

Contrainte d inclusion : déclencheur Merise/2 I <<Sous-ensemble>> C. Soutou - 2006 29

Merise/2 (CIF) Contrainte d unicité Associations binaires (un-à-plusieurs) Associations n-aires : inter-entités Associations binaires (un-à-plusieurs) Associations n-aires : classesassociations C. Soutou - 2006 30

Héritage au niveau conceptuel Exemple : les navigants d Air France PNT : Personnel Navigant Technique PNC : Personnel Navigant Commercial Contraintes possibles de partition (A) exclusion (B) totalité (C) aucune (D) Personnel PNT Personnel PNT Personnel PNT Les2 Personnel PNT Les2 PNC PNC PNC Chercheur PNC A B C D C. Soutou - 2006 31

Héritage Merise/2 - UML C. Soutou - 2006 32

Héritage au niveau logique décomposition par distinction Exclusion Partition PNC[numPers#, indice, prime] Personnel[numPers, nompers] PNT[numPers#, brevet, validitelicence] décomposition descendante (push-down) Totalité!!! PNC[numPers, nompers, indice, prime] PNT[numPers, nompers, brevet, validitelicence] décomposition ascendante (push-up). Totalité (mais valeurs NULL) Personnel[numPers, nompers,indice, prime, brevet, validitelicence] C. Soutou - 2006 33

Profil UML pour les BD Définition Éléments Exemple sous Rose C. Soutou - 2006 34

Profils UML Un profil est une proposition d une communauté et regroupe un ensemble d éléments UML Composants Stéréotypes Icônes qui s appliquent à un contexte particulier et qui conservent le méta-modèle d UML intact UML profile for Data Modeling proposé par Rational Software C. Soutou - 2006 35

Éléments du profil UML/BD C. Soutou - 2006 36

Profil UML/BD Éléments d une architecture C. Soutou - 2006 37

Association un-à-plusieurs C. Soutou - 2006 38

Association plusieurs-à-plusieurs C. Soutou - 2006 39

Exercice Un client d une banque est caractérisé par (num, nom, adresse). Il faudra pouvoir stocker ses différents numéros de téléphone fixe, travail et portable (numtel). Un compte est rattaché à un client (ncompte, solde, dateouv). Un client peut disposer de plusieurs comptes. Un compte épargne est rémunéré à un taux (txint). Un compte courant est caractérisé par un nombre d opération de carte bleue (nbopcb). On veut stocker les opérations faites par un client (signataire ou pas) sur un compte courant (dateop, montant). Quand le montant est positif il s agit d un dépôt, quand il est négatif il s agit d un retrait. C. Soutou - 2006 40

Exercice Un compte courant peut avoir plusieurs signataires (qui sont des clients de l agence). Pour un compte courant donné un signataire peut avoir différent droits (droit) : D signifie le droit de débiter sur le compte R signifie le droit de retirer un chéquier X signifie le droit de retirer et de clôturer le compte Il est important de savoir quel employé de la banque (numemp, nomemp) a affecté chaque droit. C. Soutou - 2006 41

Bibliographie / Webographie D. Nanci, B. Espinasse, B. Cohen, Ingénierie des systèmes d'information : Merise, Vuibert, 2000 P.A. Muller, N. Gaertner, Modélisation objet avec UML, Eyrolles, 2003 P. Roques, UML par la pratique, Eyrolles, 2003 C. Soutou, De UML à SQL, Eyrolles, 2002 Forum Modélisation, Méthodes, http://www.developpez.net/forums/index.php C. Soutou - 2006 42