INTRODUCTION AUX BASES DE DONNEES Modèle entités-relations COURS 6 Université Panthéon-Assas Paris 2 L2 Economie-Gestion
Modèle entités-relations Modèle entités-associations Modèle de représentation et de structuration de l’information Modèle sémantique Comprendre l’organisation des données Visualiser l’organisation des données Non destiné directement à l’implémentation de ces données Étudié dans les années 70 aux USA par Chen, en Belgique par Bodard, en France par Tardieu, Flory et Kouloumdjian
Conception d’une base de données Réalisation d’un modèle entités-relations Transformation de ce modèle en modèle relationnel normalisé,directement implémentable
Concepts de base : entité Objet ayant une existence propre présentant un intérêt pour l’entreprise : - Le client Dupuis - Le fournisseur Durand C0102 Dupuis 42, Champs Elysées, paris Entité client (instance de client)
Concepts de base : type d’entité Classe d’entités ayant en commun un ensemble de propriétés - client - fournisseur Num_client Nom_client Adresse Type d’entité Client
Concepts de base : Association Une association est un lien entre entités, présentant un intérêt pour la représentation de l’entreprise Le lien représente un verbe matérialisant une relation entre entités Le client Dupuis achète des produits du fournisseur Durand C0102 Dupuis 42,Champs Elysées,Paris F011 Durand 11,rue Kléber,Strasbourg achète
Concepts de base : type d’association Un type d’association est un lien entre types d’entités Achète est un type d’association entre le type d’entité client et le type d’entité fournisseur Num_client Nom_client Adresse Num_fournisseur Nom_fournisseur achète
Concepts de base :Propriété Une propriété est une caractéristique d’une entité ou d’une association d’entités L’adresse est une propriété des entités de type client et des entités de type fournisseur Le type d’une propriété peut être - simple : mois, prix, - composé : date formée de jour, mois, année adresse formée de numéro, rue, localité
Concepts de base : Identifiant Un identifiant est une propriété particulière d’un type d’entité ou d’un type d’association permettant de distinguer entre elles les occurrences de ce type d’entité ou de ce type d’association La relation entre entité ou association avec son identifiant doit être bijective L’identifiant est souvent utilisé comme clé Num_fournisseur Nom_fournisseur Adresse Num_client Nom_client Adresse
Concepts de base : Un type d’entité est entièrement défini par son nom son identifiant ses propriétés L’identifiant d’un type d’association est obtenu en concaténant les identifiants des types d’entités concernés Le type d’association achète est caractérisé par Num_client et Num_fournisseur
Concepts de base : cardinalité La cardinalité d’une entité dans une association est le nombre de fois minimum et le nombre de fois maximum qu’une même occurrence de l’entité peut intervenir dans les occurrences de l’association Minimum Maximum L’occurrence ne peut pas participer 1 L’occurrence participe obligatoirement L’occurrence peut participer au plus 1 fois n L’occurrence peut participer plusieurs fois
Exemple 1 : type d’association achète Client Num_client Nom_client Adresse Fournisseur Num_fournisseur Nom_fournisseur Adresse Achète 0, n 0, n Un client peut ne pas acheter à un fournisseur Un client peut acheter à plusieurs fournisseurs Un fournisseur peut ne pas avoir de client qui lui achète des produits Un fournisseur peut avoir plusieurs clients qui lui achètent des produits
Exemple 2 : type d’association propriétaire Personne Appartement est propriétaire 0, n 1, n Une personne peut ne pas avoir d’appartement Une personne peut avoir plusieurs appartements Un appartement appartient à au moins une personne Un appartement peut appartenir à plusieurs personnes
Exemple 3 : type d’association commande Num_commande Date Article Num_article Désignation Prix Concerne quantité 1, n 0, n 1, 1 Une commande est passée par un seul client (DF) Est passée par Un client peut ne pas passer de commande 0, n Un client peut passer plusieurs commandes Client Num_client Nom_client Adresse Une commande concerne au moins un article Une commande peut concerner plusieurs articles Un article peut ne pas être concerné par une commande Un article peut être concerné par plusieurs commandes
Exemple 4 : type d’association enseignement UV Code_UV Nom Année Elève Code_élève Nom Prénom A suivi note 0, n 1, n 1, 1 Une UV est enseignée par un seul professeur (DF) Est enseignée par Un professeur enseigne au moins une UV 1, n Un professeur peut enseigner plusieurs UV Professeur Code_professeur Nom Prénom Une UV peut ne pas être suivie par un étudiant Une UV peut être suivie par plusieurs étudiants Un élève suit au moins une UV Un élève peut suivre plusieurs UV
Exemple 5 : type d’association professeur Etudiant N° étudiant Nom Adresse Professeur N° professeur Nom Matière Avoir pour professeur Nbre d’heures 1, 10 30, n Un étudiant a au moins un professeur Un étudiant a au plus 10 professeurs Un professeur a au moins 30 élèves Un professeur peut avoir plus de 30 élèves
Passage du modèle entités-relations au modèle relationnel : règle a Chaque type d’entité Une relation de même nom Chaque propriété du type d’entité Un attribut de la relation L’identifiant du type d’entité La clé de la relation
Passage du modèle entités-relations au modèle relationnel : règle b Chaque type d’association de dim 2 sans contrainte d’intégrité fonctionnelle Une relation Chaque propriété du type d’association Un attribut de la relation Le couple constitué des identifiants des 2 types d’entités concernés La clé de la relation
Passage du modèle entités-relations au modèle relationnel : règle c Type d’association de dim 2 avec une contrainte d’intégrité fonctionnelle (cardinalité 1,1) Type-Entité-1 Identifiant-1 Propriétés-1 Type-Entité-2 Identifiant-2 Propriétés-2 Type-assoc 0, n 1, 1 Propriétés-assoc L’entité-1 est déterminée par l’Entité-2 Type-Entité-1 est appelé type entité mère Type-Entité-2 est appelé type entité fille
Passage du modèle entités-relations au modèle relationnel : règle c Type-Entité-1 Identifiant-1 Propriétés-1 Type-Entité-2 Identifiant-2 Propriétés-2 Type-assoc 0, n 1, 1 Propriétés-assoc Type-Entité-1 Une relation (règle a) Type-Entité-2 Une relation (règle a) avec un attribut supplémentaire : Identifiant-1 du type entité mère Type-Entité-1 Le type d’association Une relation
Passage du modèle entités-relations au modèle relationnel : règle d Mêmes règles de passage pour des types d’association de dimension supérieure à 2
Exemple 1 : type d’association Achète Client Num_client Nom_client Adresse Fournisseur Num_fournisseur Nom_fournisseur Adresse Achète 0, n 0, n Le modèle relationnel : Client(Num_client, Nom_client,Adresse) Fournisseur(Num_fournisseur, Nom_fournisseur, Adresse) Achat(Num_client, Num_fournisseur)
Exemple 2 : type d’association propriétaire Personne Appartement Propriétaire 0, n 1, n Le modèle relationnel : Personne(Identifiant-personne,…) Appartement(Identifiant-appartement, …) Propriétaire(Identifiant-personne, Identifiant-Appartement)
Exemple 3 : type d’association commande Num_commande Date Article Num_article Désignation Prix Concerne quantité 1, n 0, n 1, 1 Le modèle relationnel : Passée par 0, n Commande(Num_commande,Date, Num_client) Client Num_client Nom_client Adresse Client(Num_client, Nom_client, Adresse) Article(Num_article, Désignation, Prix) Détail_commande(Num_commande, Num_article, Quantité)
Exemple 4 : type d’association enseignement UV Code_UV Nom Année Elève Code_élève Nom Prénom A suivi note 0, n 1, n 1, 1 Le modèle relationnel : enseignant 1, n Elève(Code_élève,Nom, Prénom) Professeur Code_professeur Nom Prénom UV(Code_UV, Nom, Année, Code_professeur) Professeur(Code_professeur, Nom, Prénom) Note(Code_UV, Code_élève, note)