Bases de Données et SGBD. Le Modèle Entité/Association



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

A. Définition et formalisme

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

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Bases de données relationnelles

LE MODELE CONCEPTUEL DE DONNEES

Modélisation des données

RÈGLES DE TRANSFORMATION DU MCD AU MLD (MRD)

Rappel sur les bases de données

Introduction aux Bases de Données

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

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

Bases de Données Avancées

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

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

Modèle conceptuel : diagramme entité-association

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

Comprendre Merise et la modélisation des données

UML et les Bases de Données

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

Dossier I Découverte de Base d Open Office

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

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

Base de Données et Langage SQL

Méthode d analyse Merise

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

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

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

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

Bases de données. Chapitre 1. Introduction

1 Introduction et installation

Chapitre 1 : Introduction aux bases de données

Chapitre 07 Le modèle relationnel des données

UML (Diagramme de classes) Unified Modeling Language

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

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

Université de Bangui. Modélisons en 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

Modèle Entité/Association

Concevoir une base de données

Bases de Données. Plan

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

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

MEGA Database Builder. Guide d utilisation

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

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

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

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

Acteur/Objet. Page 1 of 5

Les bases de données

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

Patrice BOURSIER. Professeur, Univ. de La Rochelle. Bases de Données. Notes de cours

Introduction aux Systèmes de Gestion de Bases de Données Relationnelles. Olivier Losson

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

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

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

Exercices de modélisation de Bases de Données

Les diagrammes de modélisation

NF26 Data warehouse et Outils Décisionnels Printemps 2010

Conception d une base de données

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

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

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

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

Information utiles. webpage : Google+ : digiusto/

Recherche dans un tableau

Vincent Augusto

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

TP 8: LES OPERATEURS ENSEMBLISTES

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

Cours 1 : introduction

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Mejdi BLAGHGI & Anis ASSÈS

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

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

TP Bases de données réparties

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

La méthode MERISE (Principes)

Stratégies pour l'évolution des applications de bases de données relationnelles : l'approche DB-MAIN

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

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

Cours de bases de données. Philippe Rigaux

Premiers Pas en Programmation Objet : les Classes et les Objets

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

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

BASES DE DONNEES ORIENTEES OBJETS BDA10.1

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Créer une base de données

Introduction aux Bases de Données

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

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

Le modäle conceptuel de donnåes (MCD)

Fonctionnalités Fid'Elite

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

Protocoles réseaux. Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1).

ET LA DÉLIVRANCE DU CERTIFICAT

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

Tickets 3:3. ChevauxPartants

ANNEXE 1 RÈGLEMENTS GÉNÉRAUX 1 ASSOCIATION DES ARCHÉOLOGUES PROFESSIONNELS DU QUÉBEC (AAQ) CODE D ÉTHIQUE ET DES NORMES PROFESSIONNELLES

OpenOffice Base Gestionnaire de Base de Données

Transcription:

Bases de Données et SGBD Le Modèle Entité/Association 1

Modèle Entité/Association Représentation explicite de 3 concepts principaux: entité, association, attribut. 1. Entité = classe générique d'individus ou d'objets ayant les mêmes caractéristiques. Ex: les entités "clients", "produits" ou "fournisseurs", dans une base de données de magasin. 2. Association = classe générique de liens reconnus ou possibles entre individus ou objets. Ex: l'association "achète" relie les clients et les produits d'un magasin. 2

Modèle Entité/Association 3. Attribut = propriété distinctive d'une entité ou d'une association. Ex: le nom d'un client est un attribut de l'entité "clients". Rmq : Les termes officiels sont : entité-type ou type-entité au lieu de entité, etc ==> Par abus de langage, on parle de : entité, association, attribut 3

Association binaire/n-aire binaire : relie 2 entités E1 A E2 ternaire : relie 3 entités E1 A E2 E3 n-aire : relie plusieurs (>2) entités 4

Exemple 5

Autres concepts : identifiant ou clé Identifiant : Un identifiant d une entité est constitué par un ou plusieurs de ses attributs dont les valeurs doivent identifier de manière unique cette entité. Au niveau d une entité, chaque attribut possède un domaine = l'ensemble des valeurs possibles pour cet attribut : entiers, chaîne de caractères, booléen Exemples d'identifiant : le numéro d'immatriculation de l'entité VOITURE, le code-barre de PRODUIT, le numéro d'étudiant de ETUDIANT Remarque : une entité peut avoir plusieurs identifiants possibles. Exemple pour ETUDIANT : son numéro d'étudiant, son numéro de sécu. 6

suite On parle parfois de clé d'une entité, plutôt que d'identifiant. Chaque entité possède au moins un identifiant, éventuellement formé de plusieurs attributs. Pour une association, l'identifiant, qu'il soit explicite ou non, doit être la concaténation des identifiants des entités liées On admet parfois un identifiant plus naturel : Comme un numéro de vol pour l'association VOL qui relie un PILOTE et un AVION (au lieu de [num-pl et num-av], qui est aussi identifiant de l'association). 7

Autre concept : cardinalité d un couple (E,A) Définition : La cardinalité d'une association est le nombre de fois minimal et maximal qu'une entité peut intervenir dans une association de ce type : La cardinalité minimale doit être inférieure ou égale à la cardinalité maximale. Exemple de cardinalité : un client peut commander entre 1 et n produits. ==> représentation : (1,n) L'expression de la cardinalité est obligatoire pour chaque patte d'un type-association. 8

Autre concept : cardinalité d un couple (E,A), suite La cardinalité minimale peut-être : 0 : Cela signifie qu'une entité peut exister tout en n étant impliquée dans aucune association. 1 : Cela signifie qu'une entité ne peut exister que si elle est impliquée dans au moins une association. N : Cela signifie qu'une entité ne peut exister que si elle est impliquée dans plusieurs associations (cas rare). Remarque : le cas n comme cardinalité minimale est rare et pose problème. Il est prudent de l'éviter. 9

Autre concept : cardinalité d un couple (E,A), suite La cardinalité maximale peut-être : 1: Cela signifie qu'une entité peut être impliquée dans au maximum une association. N: Cela signifie qu'une entité peut être impliquée dans plusieurs associations. Remarque : la cardinalité maximale 0 ne doit pas exister : il démontre un problème de conception puisque l entité est inutile à l association. Il faut alors reconsidérer la cardinalité ou retirer la liaison entre l entité et l association. 10

Remarques Une entité ou une association est composée d occurrences ou instances. Un attribut ne peut en aucun cas être partagé par plusieurs entités ou associations. Il est parfois difficile de faire un choix entre une entité et une association. Ex. un mariage est-il une association entre deux personnes ou une entité pour laquelle on veut conserver un numéro, une date, un lieu, etc. et que l'on souhaite manipuler en tant que telle? ==> Le contexte doit aider à répondre à ce genre de question. 11

Autre concept : type d association Il existe différents types d'associations: * Association (1-1): A une occurrence de l'entité E1 peut correspondre au plus une occurrence de l'entité E2, et inversement. Ex: l'association "loue" liant deux entités "clients" et "voitures" d'une agence de locations de voitures, si un client ne peut louer qu'une voiture à la fois. L'association loue est du type (1-1) CLIENT loue VOITURE 12

Autre concept : type d association * Association (1 n) : A une occurrence de l'entité E1 peuvent correspondre plusieurs occurrences de l'entité E2, mais à une occurrence de l'entité E2 peut correspondre au plus une occurrence de l'entité E1. Ex: l'association "possède" liant deux entités "clients" et "comptes" d'une banque (un client peut posséder plusieurs comptes, mais un compte n'appartient qu'à un seul client) * Association (m n) : A une occurrence de l'entité E1 peuvent correspondre plusieurs occurrences de l'entité E2, et inversement. Ex: l'association "achète" liant deux entités "clients" et "légumes" d'un supermarché. Un client peut acheter plusieurs types de légumes, et un type de légume peut être aché par plusieurs clients (ex. Type de légume : pêches) 13

Problèmes de modélisation Une fois qu un objet est reconnu comme entité, il ne peut pas être à la fois une association, et vice-versa. Une association lie forcément 2 objets (ou plus). Une entité est forcément liée à (au moins) une autre entité par (au moins) une association. Une fois qu un attribut est placé sous une entité, il ne peut pas appartenir à la fois à une association, ou à une autre entité, et vice-versa. 14

Problèmes de modélisation (2) Le locuteur ne se modélise pas lui-même : l organisme du point de vue duquel on réalise le modèle ne fait pas partie du modèle. => On ne représente une entité (association) que si l on sait reconnaître une classe d individu dans cette entité (association). La détermination des attributs pertinents est fonction du point de vue. Ex : la taille d un étudiant n est pas utile pour la scolarité, mais elle est pertinente pour ses papiers d identité. Un attribut appartient à une association si la connaissance des valeurs des clés des entités reliées par cette association détermine de manière unique la valeur de cet attribut. cf. dépendances fonctionnelles) 15

Prise en compte du temps 1. Point de vue synchronique (instantané) : le temps n intervient pas comme élément discriminatoire. Exemple : Avec le schéma suivant, on ne peut pas faire l'historique des assurance de la même voiture, du même propriétaire. Etudiant - num-e - nom-e - date-n - permis Assure - montant - date-contr Voiture - imm-i - chev - marque - categ 16

2. Point de vue diachronique (historique). 2.1. Création d une entité date : une association n-aire devient (n+1)-aire Date - date Etudiant - num-e - nom-e - date-n - permis Assure - montant Voiture - imm-i - chev - marque - categ 17

Avec le schéma précédent, on peut faire l'historique : proprio p1, voit. V1, date d1 : assurace 1000 euros proprio p1, voit. V1, date d2 : assurance 900 euros; etc. => le même propriétaire assure le même véhicules avec des montants différents (à des dates différentes)

2.2 Point de vue diachronique : Introduction d événements datés À l'assurance correspond une police d assurance (document avec date, ) Police - num-p - date - montant Etudiant - num-e - nom-e - date-n - permis Assure Voiture - imm-i - chev - marque - categ 19

On en fait des associations binaires Etudiant (1,1) Souscrit - num-e (0,1) Possède Voiture (0,1) (0,1) - num-i (0,1) Police - num-p - date-p (1,1) Concerne 20

Passage E/A --> Relationnel 21

Passage modèle E/A --> modèle relationnel Dans le modèle E/A : notion d entités, attributs, associations, contraintes de cardinalités Dans modèle relationnel : notion de relations, attributs, dépendances fonctionnelles (df). Les df dans le modèle E/A sont : SUR L ENTITE : une clé d une entité (identifiant) est un ensemble d attributs qui détermine fonctionnellement tous les autres attributs de l entité. SUR LES CARDINALITES : si la cardinalité du couple (E, A) est (0,1) ou (1,1) alors une occurrence de l entité E détermine les occurrences de toutes les autres entités intervenant dans l association A. E (1,1) Les clés des autres entités dépendent fonctionnellement de la clé de E 22

Rappel DF : dépendances fonctionnelle Soit une relation R (A, B, C, D) On dit que A est en dépendance fonctionnelle avec C (ou C dépend fonctionnellement de A) si la connaissance d'une valeur de l'attribut A détermine de manière unique la valeur de l'attribut C Exemple : Etudiant (num-etudiant, date-naissance, ) Num-etudiant df date-naissance => la connaissance du numéro d'un étudiant détermine de manière unique sa date de naissance. 23

Passage modèle E/A --> modèle relationnel Si T est un attribut dans d une association dans laquelle les cardinalités sont toutes (0,n) ou (1,n), alors T est déterminé par les occurrences de toutes les entités intervenant dans la définition de l association => T dépend fonctionnellement des clés des entités intervenant dans l association. D où les règles de passage suivantes : 24

Passage modèle E/A --> modèle relationnel R1. Chaque entité devient une relation. Les attributs de l entité deviennent attributs de la relation. L identifiant de l entité devient clé de la relation. CLIENT Numcli nom prenom datenaiss rue cp ville CLIENT(numcli, nom, prénom, datenaiss, rue, cp, ville) 25

Passage modèle E/A --> modèle relationnel R2. Si dans une association, il existe une entité pour laquelle la cardinalité est (0,1) ou (1,1), alors ajouter à la relation représentant cette entité les identifiants des autres entités intervenant dans cette association comme clé étrangère, ainsi que les attributs éventuels de l association. ETUDIANT ETUDIANT Numet nom-et (0,1) ASSURE VEHICULE Num-imm marque prenom-et adr-et montant categ couleur num-ss Clé étrangère ETUDIANT(num_et, nom-et, prenom-et, adr-et, num-ss, num-imm, montant) 26

R3. Toute association où il n existe pas de cardinalité (0,1) ou (1,1), devient une relation avec comme clé la concaténation des clés des entités qu elle relie (relations participantes) et comme attributs les attributs éventuels de l association. Exemple : (1,n) (1,n) CLIENT Cod-cl nom-cl adr-cl commande qte PRODUIT Cod-pr design-pr pu-pr CLIENT(Cod-cl, nom-cl, adr-cl) PRODUIT(Cod-pr, design-pr, pu-pr) COMMANDE(cod-cl, cod-pr, qte) 27

Remarques Si, pour une association, il existe des entités pour lesquelles la cardinalité du couple E/A est (0,1) et d autres pour laquelle elle est de (1,1), alors privilégier la cardinalité (1,1). Exemple : CLIENT Cod-cl nom-cl adr-cl (0,1) (1,1) EFFECTUE COMMANDE Num-cmd nature date CLIENT (cod-cl, nom-cl, adr-cl) COMMANDE (Num-cmd, nature, date, code-cl) 28

Soit le modèle E/A simplifié 29

Relations déduites de ce schéma : Patient(numéro, nom, nummutuelle) Mutuelle(numMutuelle, nommutuelle) Médecin(numMédecin, nommédecin) Affection(codeAffection, nomaffection) Hospitalisation(numéro, codeaffection, nummédecin, dateentrée, datesortie) Notation : nomrelation (clé, Attribut1, Attribut2, ) 30

31