1. Objectifs de la Modélisation. Dériver le schéma de la BD. Élaborer un modèle conceptuel. Modélisation E/R des Données



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

UML (Diagramme de classes) Unified Modeling Language

Bases de données. Chapitre 1. Introduction

GOL502 Industries de services

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

Information utiles. webpage : Google+ : digiusto/

Rappel sur les bases de données

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

Modèle conceptuel : diagramme entité-association

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

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

Introduction aux Bases de Données

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

UML et les Bases de Données

Bases de Données Avancées

OBJECTIFS ET ARCHITECTURE DES SGBD

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

Université de Bangui. Modélisons en UML

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

Diagramme de classes

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

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Le niveau conceptuel : la modélisation des bases de données

Modèle Entité/Association

UML. Diagrammes de classes (suite) Delphine Longuet.

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

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)

Table des matières Sources

Chap. 3: Le modèle de données entité-association (E.A.)

Introduction aux Bases de Données

IFT2255 : Génie logiciel

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Dossier I Découverte de Base d Open Office

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

I4 : Bases de Données

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Bases de données relationnelles

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

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

A. Définition et formalisme

LE MODELE CONCEPTUEL DE DONNEES

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

BASES DE DONNEES ORIENTEES OBJETS BDA10.1

Chapitre VI- La validation de la composition.

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

Modélisation des données

Bases de Données Relationnelles. Le Modèle Relationnel

Les diagrammes de modélisation

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Chapitre 1 : Introduction aux bases de données

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

16H Cours / 18H TD / 20H TP

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

MEGA Database Builder. Guide d utilisation

CHAPITRE 1. Introduction aux bases de données

Meta Object Facility. Plan

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

Bases de Données. Plan

Cours STIM P8 TD 1 Génie Logiciel

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

Entrepôt de données 1. Introduction

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. UML - Unified Modeling Language Diagrammes statiques

Générer du code à partir d une description de haut niveau

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

Comprendre Merise et la modélisation des données

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

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

Patrons de Conception (Design Patterns)

UML (Paquetage) Unified Modeling Language

Génie Logiciel avec Ada. 4 février 2013

Nom de l application

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Bases de données relationnelles & SQL

INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

Systèmes de Gestion de Bases de Données

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

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

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

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

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

Bases de données avancées Introduction

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Conception d une base de données

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Créer le schéma relationnel d une base de données ACCESS

A QUOI SERVENT LES BASES DE DONNÉES?

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

Urbanisation de système d'information. PLM 3 (Product Lifecycle Management) Élaborations, versions, variantes, configurations

Intégration de bases de données: Panorama des problèmes et des approches

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

Cours 1 : introduction

Modèle Entité-Association. C est un modèle important pour la conception des bases de données relationnelles. Il

Mercredi 15 Janvier 2014

OCL - Object Constraint Language

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

Transcription:

. Objectifs et principes Modélisation E/R des Données 2. Le modèle Entité-Association (E/R) 3. Passage au relationnel 4. Conclusion. Objectifs de la Modélisation Permettre une meilleure compréhension Le monde réel est complexe Concentration sur les aspects cruciaux du problème Réduire la distance sémantique entre le langage des utilisateurs et le langage des concepteurs abstraction du réel perçu en termes compréhensibles et visibles Permettre une conception progressive Abstractions et raffinements successifs, prototypage rapide Automatisation de la construction du schéma de la BD Élaborer un modèle conceptuel Dériver le schéma de la BD Isoler les concepts fondamentaux Que vont représenter les données de la BD? Découvrir les concepts élémentaires du monde réel Décrire les concepts agrégés et les sous-concepts Découvrir les relations entre ces concepts Faciliter la visualisation du système Diagrammes avec notations simples et précises Compréhension visuelle et non seulement intellectuelle Schéma Définition de tous les types de données de la base et de leurs liens Agrégation de données Type élémentaire (de base): Entier, Réel, String,... Type complexe (composé): Collection de types élémentaires Tuple : Exemple: Type (nom: String, Prenom: String, age: Réel) Instance ou occurrence ("Dupont", "Jules", 20) Set : Exemple : s {id:string}; s {"75AB75", "200VV94"} Bag, List,... Possibilité d'intégrer des relations entre données (liens) Exemple : s; "Dupont" "75AB75"

Réel Modélisation à plusieurs niveaux Modèle conceptuel Indépendant du modèle de données Indépendant du SGBD Médecin effectue Visite 2. Le Modèle Entité Association (E/R Model) Ensemble de concepts pour modéliser les données d'une application (d'une entreprise) Ensemble de symboles graphiques associés Modèle logique Dépendant du modèle de données Indépendant du SGBD Codasyl Relationnel Objet XML Formalisé en 976 par P. Chen Etendu vers E/R généralisé puis vers l'objet Modèle Physique Dépendant du modèle de données Dépendant du SGBD Organisation physique des données Structures de stockage des données Structures accélératrices (index) Exemple de modèle E/R Entité NP NF Nom Type PRODUITS Couleur (0,N) (,N) VEND (0,N) FOURNISEURS Prix Remise Nom Région ACHETE NSS Nom Prénom (0,N) CLIENTS Un objet du monde réel qui peut être identifié et que l'on souhaite représenter La classe d'entité correspond à une collection d'entités décrites La classe d'entité correspond à une collection d'entités décrites par leur type commun (le format) L'instance d'entité correspond à un élément particulier de la classe d'entité (un objet) Attention: on dit entité pour les deux! Comprendre selon le contexte. Il existe généralement plusieurs entités dans une classe

Représentation d une entité Exemple d'instance d entité Rectangle avec attributs (UML) s Nveh: Int Type: String Marque: String Vitesse: Int Km : Int Nom Rectangle avec attributs accrochés (E/R) s Nveh Type Marque Vitesse Km Attribut : Type s Nveh: Int Type: String Marque: String Vitesse: Int Km : Int Nveh: 75AB75 Type: Mégane Marque: Renault Vitesse: 20 Km : 54000 Nveh: 850VV94 Type: 407 Marque: Peugeot Vitesse: 0 Km : 4000 Attribut Identifiant ou Clé Description des propriétés des entités Toutes les instances d'une entité ont les mêmes attributs Attribut simple: attribut ayant une valeur d'un type de base Attribut composé: attribut constitué d'un groupe d'attributs Attribut multi-valué: attribut pouvant avoir plus d'une valeur Avec le modèle E/R de base tout attribut est simple Avec le modèle E/R étendu, les attributs peuvent être complexes Composés et multi-valués Un identifiant aussi appelé clé est un (groupe d ) attribut qui permet de retrouver une instance d'entité unique à tout instant parmi celles de la classe. Exemple: NVeh dans s, NSS dans s Un identifiant peut être constitué de plusieurs attributs (clé composée) Exemple: [N, Rue, CodePostal] pour Maisons [CodeProduit, Id_Fournisseur] pour Produit

Association Association: quelques définitions Les entités sont reliées ensemble par des associations Entre instances: exemple véhicule est associé à personne Entre classes: abstraction des associations entre instances Une association peut avoir des attributs (propriétés) Ex: la date de l achat Association (Association) Une relation entre des instances de deux (ou plusieurs) classes Lien (Link) Multiplicité Une instance d'association Rôle (Role) Une extrémité d'une association Entreprise..* emploie 0..* Attribut de lien (Link attribute) employeur Un attribut de l'association instancié pour chaque lien Cardinalité (Multiplicity) Rôle Le nombre d'instance d'une entité pour chaque instance de l'autre Degré Nombre de classes reliées par l association employé Représentation E/R Degré d'une association Possède Propriétaire Possédée Pièces Composant Composé Salle Prix Professeur Cours 3..* Elève Composée_de Buveurs Abus Consommateur Estbu Vins Heure_deb Quantité La plupart des associations sont de degré 2 (binaires)

Cardinalités min et max Représentation UML Cardinalité maximum Indique le nombre maximum d'instances d'une classe d'entité participant à une association Cardinalité minimum Indique le nombre minimum d'instances d'une classe d'entité participant à une association Propriétaire Possède > Prix Possédée Se lit Etudiant [0,7] Un étudiant passe entre 0 et 7 examens Passe [,N] Examen Un examen est passé par au moins un étudiant, sans limite supérieure de nombre Buveurs Consommateur Abus > Quantité Estbu Vins Cardinalités: notations UML Exemple en UML * plusieurs (0 à N) 0.. optionnel (0 ou )..* 0..* {ord} obligatoire ( ou plus) ordonné (0 à N) 3..5 limité (de 3 à 5) nv marque type puissance couleur 0..* Possède date prix nss nom prenom datenais Se lit: Une voiture est possédée par une seule personne Une personne peut posséder un nombre quelconque de voitures ATTENTION : les cardinalités sont indiquées sur l extrémité inverse du lien par rapport à E/R

Associations... Agrégation et Composition Attribut d association = propriété du lien entre deux objets 0.. Loue 0..* N contrat Classe d association = élément ayant à la fois les propriétés d une classe et d une association 0..* 0.. Société Agrégation association particulière spécifiant une relation «tout-partie» entre l agrégat et un composant. Notée Composition forme forte d agrégation avec cycle de vie des parties lié à celui du composite (la destruction du composite entraîne celle des composants) Notée Distinction utile pour exprimer des contraintes d intégrité Contrat de Travail salaire résilier 0..n respecte 0.. Convention Collective Exemples Hiérarchies de classes Flotte d entreprise Enfants ** Parent * 0..2..n Véhicule homme Gérer la complexité Arborescences de classes d abstraction croissante Généralisation Super-classes Spécialisation Sous-classes Super-classe {abstract} Classe plus générale <S'occupe de 0..2 Bras 0..2 Jambe Tête Tronc Sous-classe Classe plus spécialisée

Généralisation Généralisation Généralisation = relation taxonomique entre un élément plus général et un élément plus spécifique qui est entièrement conforme avec le premier élément, et qui ajoute de l information supplémentaire Héritage = mécanisme par lequel des éléments plus spécifiques incorporent la structure et le comportement d éléments plus généraux Factoriser les éléments communs attributs, opérations et contraintes Abstraction plus gˇnˇrales Vˇhicule Vˇhicule terrestre Vˇhicule aˇrien Camion Avion Hˇlicopt re Spécialisation Domaines Extension cohérente d'un ensemble de classes Transmission Continue Discr te Variateur Dˇrailleur Bo te de vitesses Ensemble nommé de valeurs Un attribut peut prendre sa valeur dans un domaine Généralisation des types élémentaires Exemples Liste de valeurs (,2,3) Type contraint (0< val <00) Permettent de préciser les valeurs possibles des attributs Utile pour déclarer des contraintes d intégrité Extension par spˇcialisation

La pratique de la conception 3. Passage au relationnel Bien comprendre le problème à résoudre Essayer de conserver le modèle simple Bien choisir les noms Ne pas cacher les associations sous forme d'attributs utiliser les associations Faire revoir le modèle par d'autres définir en commun les objets de l entreprise Documenter les significations et conventions élaborer le dictionnaire Implémentations des entités et associations sous forme de tables mémorisent les états des entités et liens Les attributs correspondent aux colonnes des tables nom attribut nom colonne Ensemble de valeurs domaine Exemple Etudiant (Ne: integer, Nom: string, Prénom: string, Age: integer) Traduction des associations Exemple Règle de base Une association est représentée par une table dont le schéma est le nom de l'association et la liste des clés des entités participantes suivie des attributs de l'association Exemples : POSSEDE (N SS, N VEH,, Prix ) ABUS (Nv, Nb,, Quantité) Amélioration possible Regrouper les associations --> n avec la classe cible Exemple : VOITURE (N VEH, MARQUE, TYPE, PUISSANCE, COULEUR) POSSEDE (N SS, N VEH, DATE, PRIX ) regroupés si toute voiture a un et un seul propriétaire Buveurs nb nom type * Boire..* Abus Estbu Abus Quantité Vins nv cru millésime degré À cause de la cardinalité min de. BUVEURS (NB REF ABUS.NB, NOM, TYPE) VINS (NV, CRU, MILLESIME, DEGRE) ABUS(NB REF BUVEURS.NB, NV REF VINS.NV, DATE, QUANTITE) À cause de l'association (obligatoire).

6. Conclusion Intérêt de l utilisation d une méthode de conception proche du monde réel démarche sémantique claire diagrammes standards Passage au relationnel semi-automatique outils du commerce utilisables (Objecteering, Rose, etc.) supporteront les extensions objet-relationnel à venir Extensions à venir avec la conception objet