Introduction. 1. Une base de données : 2. Un SGBD :



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

Les bases de données Page 1 / 8

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

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

CESI Bases de données

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 du module Base de données spatio-temporelles

Introduction aux Bases de Données

Information utiles. webpage : Google+ : digiusto/

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Bases de données Cours 1 : Généralités sur les bases de données

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

Bases de données relationnelles : Introduction

Bases de Données. Plan

INTRODUCTION AUX BASES de DONNEES

Modélisation des données

Introduction aux Bases de Données Relationnelles Conclusion - 1

Dossier I Découverte de Base d Open Office

Introduction au Système de Gestion de Base de Données et aux Base de Données

Chapitre 1 : Introduction aux bases de données

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

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

Base de Données et Langage SQL

Mercredi 15 Janvier 2014

UML et les Bases de Données

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

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

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

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

Conception d une base de données

Bases de données cours 1

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

Bases de données relationnelles

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

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

CHAPITRE 1. Introduction aux bases de données

Bases de Données Avancées

Bases de données. Chapitre 1. Introduction

1 Introduction et installation

Bases de données avancées Introduction

16H Cours / 18H TD / 20H TP

Méthode d analyse Merise

Modèle conceptuel : diagramme entité-association

I4 : Bases de Données

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

Les bases de données

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

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

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

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

Séance 1 Introduction aux bases de données

Rappel sur les bases de données

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

Cours Bases de données

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

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

SQL MAP. Etude d un logiciel SQL Injection

Le langage SQL Rappels

Bases de données - Modèle relationnel

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

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

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)

GéoPro. Consulting. Offre de Services. Informatique

CATALOGUE FORMATIONS DOMAINE Bases de données

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Licence Professionnelle en Statistique et Informatique Décisionnelle (S.I.D.)

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

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

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

Table des matières. Avant-propos

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

Introduction aux SGBDR

Bases de données Outils de gestion

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Bases de données relationnelles & SQL

Projet Business Object

Gestion des bases de données

Cours de bases de données. Philippe Rigaux

INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année Académique :

et les Systèmes Multidimensionnels

SESSION 2014 ÉPREUVE À OPTION. (durée : 4 heures coefficient : 6 note éliminatoire 4 sur 20)

Modélisation : Entité-Association Pattes de corbeau Relationnel. Plan BD4 : A.D., S.B Des systèmes d'information. Pourquoi?

PostgreSQL. Formations. Calendrier... 14

PostgreSQL. Formations. SQL avancé Calendrier... 18

Bases de données élémentaires Maude Manouvrier

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

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

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Principes de la conception des bases de données

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

Les Géodatabases en 9.2

MEGA Database Builder. Guide d utilisation

Module BDR Master d Informatique (SAR)

Transcription:

Le modèle Entité-Association Introduction Les bases de données ont pris une place importante en informatique, et particulièrement dans le domaine de la gestion. L étude des bases de données a conduit au développement de concepts, modèles, méthodes et algorithmes spécifiques, notamment pour gérer les données en mémoire secondaire (i.e. disques durs). En effet, dès l origine de la discipline, les informaticiens ont observé que la taille de la RAM ne permettait pas de charger l ensemble d une base de données en mémoire. Cette hypothèse est toujours vérifiée car le volume des données ne cesse de s accroître sous la poussée des nouvelles technologies du WEB. Les SGBD ont vu leur domaine d utilisation s élargir considérablement. Systèmes Experts, Systèmes d Information Géographique (SIG), Edition de Documents Informatisés (EDI), Systèmes d Information Documentaire (SID), Conception Assistée par Ordinateur (CAO), Gestion de Production Assistée par Ordinateur (GPAO) sont des domaines où une information structurée est enregistrée et gérée par un SGBD générique (relationnel) et traitée selon des besoins spécifiques, l interface et les outils de traitement dépendant plus particulièrement de l application. 1. Une base de données : Une base de données est un ensemble structuré de données enregistrées avec le minimum de redondance pour satisfaire simultanément plusieurs utilisateurs de façon sélective en un temps opportun. 2. Un SGBD : Un Système de Gestion de Base de Données permet à un utilisateur de communiquer avec une base de données pour : - décrire et organiser les données sur les mémoires secondaires (disques). - rechercher, sélectionner et modifier les données. Un SGBD comprend des langages spécialisés utilisés pour décrire la base de données et pour manipuler et accéder aux données contenues dans la base de données. Les SGDB utilisent généralement le langage SQL. Langage de description des données (LDD)(spécifie le schéma conceptuel) C est un langage descriptif des types d entités, de leur attributs et domaines et des associations (ou relations) entre ces entités. On l utilise lors de la définition de la base de données, lors des modifications de schémas et pour préciser la façon dont les données sont 1

enregistrées et comment y accéder (correspondance entre le schéma conceptuel et le schéma physique). Langage de manipulation des données, ou langage d interrogation (LMD) Pour interroger la base, mettre à jour les données et effectuer les manipulations sur cellesci. Il existe de nombreux systèmes de gestion de bases de données, en voici une liste non exhaustive : SGBD plate-forme mode licence ACCESS Windows mono-poste commerciale SQL SERVER Windows client/serveur commerciale ORACLE Windows et Linux client/serveur commerciale SYBASE Windows et Linux client/serveur commerciale POSTGRESQL Windows et Linux client/serveur libre MYSQL Windows et Linux client/serveur libre 3. Conception des bases de données : Il est difficile de modéliser un univers réel observé sous une forme directement utilisable par un SGBD. En construisant directement les tables d une base de données dans un SGBD (PostgreSQL, Oracle, SQL Server, DB2, base, Access, MySQL,...), deux questions se posent : dans quelle table placer certaines colonnes (par exemple : l adresse de livraison doit être dans la table des clients ou dans la table des commandes?). comment prévoir les tables de jonction intermédiaires (par exemple : la table des interprétations qui est indispensable entre les tables des films et la table des acteurs). Il est donc nécessaire, après la collecte et l acquisition de toutes les données nécessaires, de recourir à une étape préliminaire de conception. Les modèles conceptuels de données MCD (tels que le modèles réseau, hiérarchique, Codasyl, Entité-Association et UML) permettent de concevoir un système d information d une façon standardisée et méthodique. Ces modèles sont indépendants du SGBD utilisé. Ensuite ce modèle conceptuel est représenté exclusivement par un modèle logique : le modèle relationnel. Dans ce modèle, les données sont représentées par des tables, sans préjuger de la façon dont les informations sont stockées dans la machine. Les tables 2

constituent donc la structure logique du modèle relationnel duquel est directement dérivée la base de données. I. Le modèle Entité-Association (EA) : Le modèle entités-associations constitue l un des premiers et des plus courants modèles conceptuels de données. Ce modèle, présenté par Chen en 1976, permet une description naturelle du monde réel à partir des concepts d entité et d association. Il est universel (retenu par l'iso) et répond à l objectif d indépendance données-programmes. I.1. Dictionnaire des données Il est utile, voir indispensable, d'effectuer un inventaire brut des données qui seront stockées et/ou calculées par la base de données (les données collectées et acquises dans la première phase). Il faut donc différencier deux types de données, les données stockées et les données qui peuvent être déduites ou calculés à partir des données stockées. Ce document sera présenté sous forme de tableau de 3 colonnes, avec dans la première colonne le nom de la donnée, la seconde distingue une donnée calculée d une autre stockée et dans la troisième décrit la donnée (longueur, type, Domaine, règle de calcul, etc). I.2. Schéma entité-association La représentation du modèle entités-associations s appuie sur trois concepts de base : L entité. L association. Les cardinalités. I.2.1. Entité Une entité est un objet (concret ou abstrait) qui existe et peut être distingué d un autre objet. Par exemple : Jean Dupont, Pierre Bertrand, un vélo, une voiture, Philippe Daulirent, Le 23/03/2003, un bus, Le 01/01/2011,Etc. Une classe d entités (ou type d entités) désigne un ensemble d entités qui possèdent une sémantique et des propriétés communes. Par exemple : Personne, Vehicule, Date_Location. Notation : Personne Vehicule Date_Location Figure. I.1. Représentation graphique d exemples de classes d entités. 3

Définitions : - Un attribut est une propriété caractéristique des entités de même classe. - Un attribut associe à chaque entité une valeur appartenant à un domaine. - Le domaine d'un attribut caractérise à la fois le type de donnée (énuméré, caractère, entier, réel, chaîne de caractères...) et l'ensemble des valeurs admissibles de celui-ci. Le domaine peut être une liste énumérée, un intervalle numérique ou une chaîne alphanumérique. - Une clé est un attribut ou un ensemble d attributs dont les valeurs identifient de manière unique une entité au sein de l ensemble d entités. - Un tuple ou n-uplet ou une occurrence d une classe d entité est un ensemble de valeurs des attributs caractérisant une entité. Le choix des attributs, des domaines et des clés constitue une étape essentielle lors de la définition d un modèle du monde réel. Exemple et Notations: Attributs: Personne=(Numero,Nom,Prenom,Date de Naissance). Valeur: du Preom peut être Jean. Domaine: D(Nom)=Toutes les chaines de caracrtères. D(Numero)=N+U{0}. Clé: Numero. Un tuple: (23, Jeann Dupont, 13/11/1976) Le schéma: Personne=(Numero,Nom,Prenom,Date de Naissance). Les données: les tuples. Remarque : Un attribut ne peut en aucun cas être partagé par plusieurs classes d entités. Un attribut est une donnée élémentaire, ce qui exclut des données calculées ou dérivées. Une classe d entités et ses attributs doivent être cohérents entre eux (i.e. ne traiter qu un seul sujet). I.2.2. Association Une association d entités est un regroupement de classes d entités traduisant une certaine réalité (lien). L ensemble des classes d entités participant à l association est appelé «collection de l association». 4

On distingue deux types d associations (on parle ici du degré ou de la dimension de l association qui est le nombre de classes d entités qui y participent): - les associations binaires qui ne relient que deux entités. - les associations n-aires qui relient plus de deux entités Un attribut d une association est une propriété qui dépend de toutes les entités intervenant dans l association. Par exemple, l association Louer peut posséder un attribut Durée qui est dépend de la personne, du véhicule et de la date de location. Exemple : > Jean Dupont possède un vélo. > Jean Dupont a loué une voiture, le 28/02/2001 pour une durée de trois jours. La collection de la relation «posséder» est (Personne, vehicule). La collection de la relation «Louer» est (Personne, vehicule, Date_Location). Figure. I.2. Un exemple de relations: binaire et ternaire porteuse de propriété. I.2.3. Cardinalités La cardinalité d'un couple entité-association est définie de la manière suivante : - Etant données une classe d'entité E et une association A reliant E à une (ou plusieurs) autre(s) classes(s) d'entités, on définit m (respectivement M) le nombre minimum (respectivement maximum) d'associations de classe A pouvant exister pour une entité donnée de classe E. Alors (m,m) est la cardinalité du couple (E,A). D autre terme, c est le minimum et le maximum de fois qu une occurrence de l entité E peut être concerné par l association 1. Remarque : Une cardinalité minimal est toujours 0 ou 1 et une cardinalité maximale est toujours 1 ou n (n n étant souvent pas précisé de manière numérique, faute de connaissance suffisante). 5

Exemple et notations : Figure. I.3. Exemple de cardinalités. Les seuls cardinalités admises sont donc : 0, 1 : une occurrence du type-entité peut exister tout en étant impliquée dans aucune association et peut être impliquée dans au maximum une association. 0, n : c est la cardinalité la plus ouverte ; une occurrence du type-entité peut exister tout en étant impliquée dans aucune association et peut être impliquée, sans limitation, dans plusieurs associations. 1, 1 : une occurrence du type-entité ne peut exister que si elle est impliquée dans exactement (au moins et au plus) une association. 1, n : une occurrence du type-entité ne peut exister que si elle est impliquée dans au moins une association. I.2.4. Compléments sur les associations et les classes d entités (cas particuliers): a. Associations plurielles Deux mêmes entités peuvent participer dans plusieurs associations à la fois. Exemple: Figure. I.4. Exemple de relations plurielles. 6

b. Associations réflexives Une association est réflexive quand elle matérialise une relation entre une classe d entités et elle-même Exemple: Figure. I.4. Exemple de relations réflexives. c. Sous type d une classe d entités Une classe d entités peut être un sous-type d une autre classe d entités plus générale. Elle hérite des propriétés générales de la classe générique, et possède des propriétés locales propres à elle. Exemple: La classe d entités «Enseignant» peut être vue comme un sous type de la classe «Personnel». Un autre sous-type est «Personnel-ATS». Figure. I.5. Exemple de sous-typage de classes d entités. Il existe deux types de sous-typage de classes d entités : La spécialisation : dans ce cas, les sous classes n ont pas d identifiant (clé). en effet, elles héritent leur identifiants de la classe générique. La généralisation : dans ce cas, chaque sous-classe possède son propre identifiant indépendamment de celui de la classe générique. Cependant, la classe générique contiendra les propriétés communes. 7

Exemple: Généralisation Spécialisation Figure. I.6. Exemple d un sous-typage multiple de la classe d entité «Personnel». I.2.5. Règles de normalisation Afin de bien modéliser une réalité en modèle entité-associations, différentes règles doivent être respectées. Figure. I.7. Exemple d un schéma E-A non normalisé. Normalisation des entités : Toute entité remplaçable par une association doit être remplacée. Par exemple : l entité «Ligne Commande» doit être remplacée par une association porteuse de propriété «quantité». 8

Normalisation des attributs : les attributs multivalués (en plusieurs exemplaires) sont remplacés par une association supplémentaire de cardinalité maximale n et les attributs calculable à partir d autres attributs sont supprimés. Par exemple : l attribut «Adresses» doit être remplacé par une association «a comme adresse» liée à une nouvelle entité «Adresse». En plus l attribut «Age» est calculable à partir de la «date de naissance» et l attribut «Montant Total» est calculable à partir de la «quantité» et du «Prix Unitaire», alors ils doivent être supprimés. Normalisation des identifiants (clés) : Eviter les clés composées de plusieurs attributs; susceptibles de changer au cours du temps (comme l âge, la situation familiale, l adresse) et les chaînes de caractères. Par exemple : même si l attribut «Désignation» de l entité«produit» peut être unique, mais il éviter comme clé à cause du temps de recherche nécessaire pour les chaines de caractères. Normalisation des associations : Il est indispensable de supprimer - les associations fantômes : avec des cardinalités (1,1) sur toutes les extrémités de l association. Par exemple : l association «possède». - Les associations redondantes : pouvant être déduites d autres associations. Par exemple : l association «Du». - Les associations en plusieurs exemplaires. Par exemple : les deux associations «Est le 1 er Fournisseur de» et «Est le 2 eme Fournisseur de» peuvent être remplacées par une association «Est le Fournisseur de» avec la propriété «Ordre». En plus, toute association n-aire avec une cardinalité (0,1) ou (1,1) sur une de ses extrémités, peut être décomposée en (n-1) associations binaires (voir Figure I.8.). Figure. I.8. Exemple de décomposition d une association ternaire. 9

Normalisation des attributs des associations : Les attributs d une association doivent dépendre directement des identifiants de toutes les entités qui y participent. Normalisation des cardinalités : Une cardinalité minimale est toujours 0 ou 1 (et pas 2, 3 ou n) et une cardinalité maximale est toujours 1 ou n (et pas 2, 3...).. Figure. I.9. Exemple du schéma de la figure I.7. normalisé. I.3. Démarche de construction d un schéma Entité-Association Construire le dictionnaire des données. Identifier les entités et lister leurs attributs. Choisir ou ajouter les identifiants (numéro arbitraire et auto-incrémenté). Etablir les associations binaires entre les entités et lister leurs attributs. Calculer les cardinalités. Vérifier les règles de normalisation et effectuer les corrections nécessaires. Il faut itérer plusieurs fois les étapes successives, pour espérer converger vers une modélisation pertinente de la situation. 10