L objectif de cette séquence est :

Documents pareils
UML (Paquetage) Unified Modeling Language

Bases de données. Chapitre 1. Introduction

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

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

IFT2255 : Génie logiciel

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

Modèle Entité/Association

Université de Bangui. Modélisons en UML

UML (Diagramme de classes) Unified Modeling Language

Information utiles. webpage : Google+ : digiusto/

INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

UML et les Bases de Données

Nom de l application

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

Rappel sur les bases de données

Introduction aux Bases de Données

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

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

Conception, architecture et urbanisation des systèmes d information

Bases de Données Avancées

Merise. Introduction

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

RTDS G3. Emmanuel Gaudin

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

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

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

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

Évaluation et implémentation des langages

Cours de bases de données. Philippe Rigaux

Chapitre I : le langage UML et le processus unifié

Visual Paradigm Contraintes inter-associations

Méthodes d évolution de modèle produit dans les systèmes du type PLM

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

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

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle

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

Cours en ligne Développement Java pour le web

Le Guide Pratique des Processus Métiers

Analyse,, Conception des Systèmes Informatiques

Chapitre 1 Généralités sur les bases de données

MERISE. Modélisation de Systèmes d Information. Pierre Gérard. DUT Informatique 2ème année 2004/2005. IUT de Villetaneuse - Université de Paris 13

Mercredi 15 Janvier 2014

Management des processus opérationnels

Les bases de données

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Introduction aux concepts d ez Publish

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

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)

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Semestre 1. Objectifs Approfondissement de l environnement Java et de son interface de programmation d applications : réseaux, et processus.

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

II. Modèle conceptuel le modèle entité-association

ARIS : Des Processus de gestion au Système Intégré d Applications

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

A. Définition et formalisme

Je découvre Lina Maintenance

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Chapitre 1 : Introduction aux bases de données

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

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

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

Schéma relationnel et contraintes d intégrité : le cas ConduiteAuto

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

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

Business Process Design Max Pauron

OBJECTIFS ET ARCHITECTURE DES SGBD

Retour d expériences avec UML

L industrie financière sait elle décrire les produits qu elle traite?

Business Process Modeling (BPM)

QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL

Base de Données et Langage SQL

Modèle conceptuel : diagramme entité-association

Scrum Le guide pratique de la méthode agile la plus populaire 3 e édition Claude Aubry 320 pages Dunod, 2013

OMGL6 Dossier de Spécifications

Cours STIM P8 TD 1 Génie Logiciel

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Espace Repreneur Guide de la Demande d'accès

Formation : Modélisation avec UML 2.0 et Mise en pratique

Conception d une base de données

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

GOL502 Industries de services

3. UML - Unified Modeling Language Diagrammes statiques

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

Université Paris XI Faculté des sciences d Orsay THÈSE. présentée pour l obtention du grade de Docteur en Sciences de l Université Paris-Sud XI Orsay

Les diagrammes de modélisation

Une proposition d extension de GML pour un modèle générique d intégration de données spatio-temporelles hétérogènes

Modélisation conceptuelle des données Responsable: Dominique Schneuwly, Regis Caloz

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)

Modélisation Conceptuelle. Partie 2: Le modèle Entité-Association

Modélisation des processus métiers et standardisation

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

SQL Server 2012 et SQL Server 2014

16H Cours / 18H TD / 20H TP

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

MEGA Database Builder. Guide d utilisation

et les Systèmes Multidimensionnels

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Transcription:

La modélisation conceptuelle est une approche alternative à la théorie de la normalisation pour concevoir une base de données. Moins formelle et plus intuitive que la théorie de la normalisation, elle lui est préférable dès qu on doit structurer un ensemble de données un peu complexe (à chacun de juger quand un ensemble de données atteint ce seuil), tandis que la théorie de la normalisation, plus rigoureuse, offre des moyens d analyse très fins pour régler des problèmes sur des sous-ensembles précis des données. La modélisation conceptuelle introduit un formalisme permettant de représenter les données à l aide d un ensemble de notions assez intuitives telles que l entité ou l association. Un des principaux modèles conceptuel, connu sous le nom de «modèle entité association», a été créé en 1976 [Chen 76]. D autres modèles ont été créés depuis. Le modèle Entité-Association a lui-même été étendu pour intégrer en particulier l héritage (on parle alors du modèle entité association étendu). La modélisation conceptuelle n est donc pas une nouveauté liée à l apparition de l objet avec lequel on a tendance à le confondre. Tandis que l objet repose sur l abstraction via la notion d interface (messages et méthodes), la modélisation conceptuelle s intéresse fondamentalement à la structure des données. Aujourd hui, la généralisation d UML nous conduit, dans vos exercices, a utiliser ce langage, plutôt que celui de l entité association, pour faire de la modélisation conceptuelle. Il sera néanmoins crucial de noter comment cette notation est utilisée dans la modélisation conceptuelle afin de bien faire la différence avec le diagramme de classe utilisé en objet. 1

Sur ce schéma, on montre où se situe la modélisation conceptuelle. Entre le monde réel qu elle doit permettre de représenter de manière assez intuitive et les modèles logiques des SGBD sous-jacents, CODASYL pour les «vieux» SGBD hiérarchiques ou réseaux, relationnels pour les SGBD du même nom, mais aussi, plus récemment mais avec moins de succès, la possibilité de modéliser des données à l aide de modèles objet ou XML. Les modèles conceptuels se veulent indépendants des modèles logiques. Au bénéfice des modèles conceptuels, on peut dire qu il est souvent plus simple (plus intuitif) de passer par une modélisation conceptuelle entre le monde réel et la modélisation logique (dans notre cas, la modélisation relationnelle). L étape intermédiaire de transformation d un modèle conceptuel vers un modèle logique s appelle la dérivation. La limite des modèles conceptuels est liée à ce qui fait leur force : si l expert qui modélise les données n a pas la bonne intuition, alors le modèle ne met pas de gardefous pour aider l utilisateur dans sa démarche, contrairement à des formalismes logiques plus formels, tels que le modèle relationnel qui s accompagne d un formalisme de modélisation très rigoureux (appelé «théorie de la normalisation»). Les séquences dédiées à la théorie de la normalisation illustrent ainsi la complémentarité que l on peut trouver entre modélisation conceptuelle (utile quand les données sont complexes) et la modélisation relationnelle (permettant, sur un ensemble de données restreint, d avoir une démarche rigoureuse). 2

L objectif de cette séquence est : 1- de décrire le modèle Entité Association (noté généralement E-A), modèle fondateur de la représentation conceptuelle de données. Ce modèle E-A a été au fil du temps étendu pour intégrer des concepts plus riches tels que l héritage ou la notion de rôle. 2- de décrire des modèles / notations alternatives de ce modèle E-A. En effet, au fil du temps, des variantes issues tantôt du monde des données (OMT) tantôt du monde logiciel (UML) se sont popularisées et ont tendance à remplacer la notation EA. Généralement assez proche dans les cas simples, leur interprétation peut varier dans des cas un peu plus complexes. Ces cas sont décrits ici. 2- de décrire les règles de dérivation d un schéma conceptuel (structure de données décrite à l aide d un modèle conceptuel) en un schéma logique (structure de données décrite à l aide d un modèle logique, dans notre cas le modèle relationnel). ATTENTION : dans ce cours, nous présentons les différents formalismes, mais dans la pratique, nous utiliserons le formalisme UML, avec une sémantique particulière. Ne pas utiliser naïvement les diagrammes de classes tels que vus en orienté objet. 3

Lors de sa création, le modèle entité association est fondé sur un ensemble de concept très réduit. A l époque, la notion d héritage n est pas dans le modèle. 4

En anglais, le terme d association est traduit par relationship. Faire attention : -Le modèle relationnel (relational model) est un modèle logique -Le modèle entité association (Entity relationship model) est un modèle conceptuel 5

Une entité possède un nom, par exemple voiture, et est décrite par des attributs. 6

Contrairement aux entités, les associations n ont pas d existence propre. Elles se caractérisent comme les entités par un nom, et éventuellement des attributs. En fait, il y a une analogie entre classe/instance, et association/lien: Une association décrit un groupe de liens ayant une structure et une sémantique communes. Par exemple, une personne travaille_pour une société. Tous les liens d une association mettent en relation des objets de même classe. Une association décrit un ensemble de liens potentiels de la même façon qu une classe décrit un ensemble d objets potentiels. Les associations sont fondamentalement bi-directionnelles 7

L association «Composé de» est unaire, tandis que «Stock» est binaire et «Commande» ternaire. 8

Un même produit ne peut être stocké que dans un seul (1) dépôt. Un même dépôt peut stocker plusieurs (N) produits. 9

L ajout de nouveaux concepts a pour objectif de faciliter la représentation des données. 10

On ne peut pas dire que «Monsieur Galsio» est une sorte de personne 11

Créé en 1976, le modèle entité association est né à une époque où la problématique «gestion de données» était dominante dans les systèmes d information. A l époque, les méthodes de développement et les langages de développement utilisés rendaient difficiles la prise en compte des besoins utilisateurs (ces besoins avaient pourtant tendance à furieusement changer ). En revanche, les données, outre le fait qu elles étaient la mémoire de l entreprise) avaient une stabilité rassurante pour les responsables des SI. Si le modèle entité association était adopté, son usage restait critiqué (en particulier la notation des cardinalités). La méthode OMT l a progressivement remplacé. Puis, avec le temps et le développement de nouveaux langages et méthodes de développement, la priorité est progressivement passé du côté des applications. UML a fortement contribué à cette évolution dans les années 90, et sa notation a tendance à s imposer également pour la représentation des données persistantes, quitte à lui conférer une sémantique particulière. 12

OMT : Object Modeling Technic UML : Unified Modeling Language Les différences sont en premier lieu des différences terminologiques : classe au lieu d entité, propriété au lieu d attribut, etc. Sur ce transparent, on décrit également des différences de notation liées aux cardinalités 13

Notation OMT : Cardinalité : 1 : Exactement 1 1+ : Un ou plus 2-9 : De 2 à 9 inclus 2, 5, 7: 2, 5 ou 7 : 1 ou plus Rien, ligne d association sans cardinalité : multiplicité de 1 de chaque coté : 0 ou plus 14

La traduction des associations binaires est assez simple, même si, visuellement, elle se note par une inversion du sens des cardinalités. Toutefois, des nuances existent, par exemple dans l utilisation d UML, par rapport à la sémantique utilisée en développement logiciel. Dans le cas d une modélisation de données, l indication d un sens sur une association n indique pas un sens de parcours de l association mais désigne juste un sens de lecture de l association. Pour les associations ternaires, les différences de sémantiques sont plus nettes : alors que le modèle E-A s intéresse vraiment au nombre d entités qu une association peut réunir, le modèle UML présente une autre caractéristique : chaque cardinalité indique le nombre d instances de la classe associables à une instance de chacune des autres classes. Les deux sémantiques ont des sens différents. 15

La dérivation désigne le processus de transformation d un modèle conceptuel en un modèle logique. Dans le cadre de ce cours, nous ne nous intéressons qu à un seul modèle logique : le modèle relationnel. Côté modèle conceptuel, pour éviter la multiplication des formalismes, nous délaissons à ce stade le modèle Entité association pour utiliser la notation UML, qui a tendance à se généraliser aujourd hui dans le monde du logiciel et qui, comme. 16

A ce stade, une autre ambiguïté langagière est à souligner: -Dans le monde des données, on parle de schéma là où, dans le monde du logiciel, on parle de modèle. -Dans le monde des données, la notion de modèle (comme modèle relationnel ou modèle conceptuel) désigne ce qu on appellerait dans le monde logiciel le méta modèle. Dans cette séquence, nous parlons données, nous utiliserons donc la terminologie associée! A titre préventif, profitons de ce slide pour souligner que, malgré des ressemblances dans leur représentation graphique, les modèles utilisés en entrée et en sortie de la dérivation sont tout à fait différents. Côté conceptuel, on gère des entités et des associations (relationships en anglais). Côté relationnel (niveau logique), on gère des relations (relations en anglais) avec des contraintes de clés primaires et de clés référentielles. 17

A gauche, on a une entité du modèle conceptuel. A droite, on a représenté une relation du modèle relationnel. 18

Les différences entre les deux notations sont perceptibles dans l exemple ci-dessus. Tandis que le concept d association est présent dans le modèle conceptuel, il est absent du modèle relationnel. Ici, l association est dérivée en : -1 relation Stock -2 contraintes de clés référentielles entre Stock d une part, Dépôt et Pièce d autre part. 19

La dérivation des association 1-N est plus simple au premier abord puisqu elle ne nécessite pas de création de nouvelle relation, mais un attribut permettant de «joindre» les deux relations est insérée, de même qu une contrainte de clé référentielle. 20

Le nom d une association ternaire peut être soit à côté du losange, soit dans l entité si l association a des attributs 21

Il existe trois manières différentes de dériver l héritage. 22

Premier type de dérivation de l héritage 23

Deuxième type de dérivation de l héritage 24

Troisième type de dérivation de l héritage 25

26

Cette approche est mise en perspective dans la séquence sur la théorie de la normalisation, qui complète la modélisation conceptuelle, jugée plutôt «intuitive», par un volet formel, qui se focalise sur la réduction de la redondance. 27