Conception de Bases de Données Avec UML



Documents pareils
Cours: Administration d'une Base de Données

Cours: Les Jointures 1

Information utiles. webpage : Google+ : digiusto/

Université de Bangui. Modélisons en UML

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Introduction aux Bases de Données

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

UML (Diagramme de classes) Unified Modeling Language

Entrepôt de données 1. Introduction

Chapitre 1 : Introduction aux bases de données

LE MODELE CONCEPTUEL DE DONNEES

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

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

MEGA Database Builder. Guide d utilisation

OASIS Date de publication

Bases de Données. Plan

Généralités sur le Langage Java et éléments syntaxiques.

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

Comprendre Merise et la modélisation des données

Catalogue des Formations

UML. Diagrammes de classes (suite) Delphine Longuet.

Devenez un véritable développeur web en 3 mois!

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

CHAPITRE 1. Introduction aux bases de données

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

UML et les Bases de Données

Modèle Entité/Association

Patrons de Conception (Design Patterns)

MASTER II ECONOMIE ET GESTION Spécialité Management des Organisations de la Neteconomie

Modèle conceptuel : diagramme entité-association

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

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Introduction aux bases de données. Généralités sur les bases de données. Fonctions d'un SGBD. Définitions. Indépendance par rapport aux traitements

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

GOL502 Industries de services

Cours de Génie Logiciel

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

Analyse,, Conception des Systèmes Informatiques

Dossier I Découverte de Base d Open Office

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Programme et contenus Licence d'informatique de Lille, parcours MIAGE, en alternance ou en formation continue (13:40)

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

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

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

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

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

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 Bases de données

UML (Paquetage) Unified Modeling Language

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

Licence Professionnelle Génie logiciel, développement d'applications pour plateformes mobiles

Présentation du module Base de données spatio-temporelles

Visual Paradigm Contraintes inter-associations

Bases de données. Chapitre 1. Introduction

Chapitre I : le langage UML et le processus unifié

Ecole Polytechnique de Louvain INGI Fichiers et bases de données

Talend Technical Note

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

Description de la formation

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

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

INTRODUCTION : Données structurées et accès simplifié

Diagramme de classes

RÉSUMÉ DESCRIPTIF DE LA CERTIFICATION (FICHE RÉPERTOIRE)

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

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

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

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

Les diagrammes de modélisation

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

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

Bases de Données Avancées

MODE OPERATOIRE OPENOFFICE BASE

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

Les bases de données Page 1 / 8

Conception, architecture et urbanisation des systèmes d information

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)

FONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières

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

Bases de données avancées Introduction

Les bases de données

Chapitre 07 Le modèle relationnel des données

Introduction aux Bases de Données

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

Bases de données cours 1

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

Chap. 2: L approche base de données

Héritage presque multiple en Java (1/2)

Méthodologies de développement de logiciels de gestion

3. UML - Unified Modeling Language Diagrammes statiques

Cours en ligne Développement Java pour le web

Introduction aux Bases de Données Relationnelles Conclusion - 1

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

Nom de l application

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

Transcription:

1 1 Bases de Données Avancées Module B IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Plan du Cours Table of Contents Conception de Bases de Données Avec UML UML et la conception de Bases de Données...2 Les Modèles de conception de Base de Données...2 UML et Modèle Entité-Relation...2 Classes et Schémas relationnels...2 Les Associations...3 Modèles UML Spécifiques...3 Les Design Patterns...3 Associations...3 Clés secondaires...4 Répétition d'attributs...4 Attributs multivalués...5 Domaines...5 L'héritage...5 Aggrégation...6 Associations récursives...6 1

I. UML et la conception de Bases de Données A. Les Modèles de conception de Base de Données Les principaux modèles de représentation de Base de Données sont les suivants: Modèles UML (Unified Modeling Language, Langage de Modèles Unifié) Utilisé pour la modèlisation des grand systèmes d'information basés sur la Programmation orientée Objects. Les Objects dont les attributs doivent être gardés en mémoire sont stockés dans une Base de Données. C'est ce qu'on appelle la persistence. Modèles Entité relation Modèle le plus couramment utilisé. Il est souvent représenté graphique par un MCD (Modèle Conceptuel de Données) Modèle relationnel Modèle formel datant du début des années 197O, basé sur la théorie des ensembles. Il contient des informations qui ne sont pas exprimées en UML (charactérisation des clés, des contraintes sur les attributs, etc.) Algèbre relationnelle Langage formel de manipulation d'objets du modèle relationnel Modèles par tables (informel) Modèles SQL (programmatique) Supporte la définition d'ensemble de données et leur manipulation. B. UML et Modèle Entité-Relation Classe Association UML Type et dénomination des champs Attributs naturels seulement Clés non représentées Permet de générer des Objects Java; Persistence transparente possible Entité Relations Modèle ER Type et dénomination des champs Attributs naturels + attributs de conception (Identifiants, etc.) Charactérisation des clés Gestion de la l'accès aux données par le concepteur 2

C. Classes et Schémas relationnels Un exemple de classe: Le schéma relationnel correspondant: D. Les Associations Exemple d'association en UML: 3

II. Modèles UML Spécifiques A. Les Design Patterns Un Design Pattern ou `Patron de Conception', est un modèle exprimant la relation existant entre plusieurs classes pour résoudre un problème particulier. B. Associations On identifie 3 grands types d'associations: 1-to-1 un object A est associé à un objet B 1-to-many un object A est associé à plusieurs objets B, et un objet B donné n'est associé qu'à un seul A B contient un attribut 'valeur de A associée à B' many-to-many Chaque objet A peut être associé à plusieurs objets B, et chaque objet B peut être associé à plusieurs objets A. Un objet spécifique doit être réaliser pour représenter l'association. Il contient pour chaque A les valeurs de B associées. Example d'association `many-to-many': C. Clés secondaires Une clé secondaire est un attribut C qui peut être associé de manière unique à un autre attribut D dans une classe donnée, quand aucun des attributs C et D ne font partie de la clé primaire. Une classe qui contient une clé secondaire est mal conçue. Il faut créer une autre classe spécifique pour stocker les attributs C et D (voir le cours sur la normalisation). D. Répétition d'attributs Il peut être nécessaire de préciser les propriétés de certains attributs. Par exemple, un numéro de téléphone peut être celui d'un portable, d'un téléphone personnel, professionnel, etc. Exemple: 4

Problèmes avec ce modèle: grand nombre de champs non renseignés nécessité de modification s'il l'on ajoute un nouveau type de numéro (ex.: numéro Skype) La solution consiste à créer un Classe spécifique, qui contient le nom de la personne, ainsi que le numéro de téléphone et le type de celui-ci. De tels attributs sont appelés 'attributs répétés', ou 'entités faibles'. Ils n'ont pas d'intérêt sans les informations principales (ici: les coordonnées d'une personne). Exemple de Modèle UML avec des entités faibles: E. Attributs multivalués Un même attribut peut prendre plusieurs valeurs différentes simultanément pour une même occurrence d'une Table de Données. C'est cec qu'on appelle un 'Attribut Multivalué'. Exemple: Hobbies d'une personne. Solution: créer une Table de Données secondaire qui contient une référence sur la personne concernée, et un hobby associé. Chaque personne peut apparaître plusieurs fois dans la table. F. Domaines Un domaine est l'ensemble des valeurs que peut prendre un attribut donné. Il est défini par des `règle de validation', dont l'objectif est de renforcer le contrôle de l'intégrité des données. 5

Exemple: le poids d'une personne ne peut pas être négatif. Les domaines énumérés: Un attribut peut prendre des valeurs données. Par exemple, le nom d'un enseignant en CE-Stat est limité à l'ensemble des enseignants du l'iut Lumière. Solution: Une Table de Données associée contient les valeurs possibles pour un attribut, en l'occurence les noms des enseignants. G. L'héritage Comme en Programmation Objet, il peut être nécessaire dans le cadre de la conception de Bases de Données de spécialiser des classes (ou des Tables de Données) existantes, ou de les généraliser. La spécialisation La spécialisation en UML se fait par héritage. Il s'agit de créer des classes filles, qui contiennent l'ensemble des attributs de la classe mère, plus des attributs spécifiques. Exemple: Les contraintes de spécialisation Une spécialisation peut avoir les propriétés suivantes: être incomplète, ou partielle, une partie seulement des individus parents sont spécialisés (ex.: certains étudiants peuvent être assistant d'enseignement, mais tous ne le sont pas forcément) être complète tous les individus parents sont spécialisés (ex.: tous les animaux appartiennent à une espèce donnée) être disjointe, ou exclusive un individu de la classe parent ne peut être membre que d'une seulement classe d'enfants (ex.: un animal est SOIT un chien, SOIT un chat, pas les deux) être non exclusive un individu de la classe parent peut être membre de plusieurs classes d'enfant (une personne peut à la fois être un étudiant de CE-Stat et un salarié) La généralisation La généralisation est l'opération inverse de l'héritage. Il s'agit s'abstraire des informations pertinentes dans une super-classe moins détaillée que la classe d'origine. H. Aggrégation Une classe peut contenir des élements définis par une autre classe. Cette relation s'appelle l'aggrégation. Une classe peut contenir des aggrégats. Si la classe principale disparait, les aggrégats ne sont pas modifiés. 6

Un forme plus forte de relation entre deux classes est la composition: la destruction de la classe principale (ex.: System) a pour conséquencec la destruction de ses composants. La présence d'un aggrégation ou d'une comparaison n'as pas de conséquence directe sur le format d'une Base de Données (pas plus que sur celui d'un programme Java). Par contre, elle indique que la gestion des occurrences doit être gérée de manière cohérente. I. Associations récursives Une association récursive connecte une Classe (correspondant à un rôle particulier) à elle-même (correspondant à un autre rôle). Modèle Incorrect: Solution: Exemple: relation entre un manager et ses employés. Le manager est lui-même un employé de la même entreprise. 7