2A-SI 4 - Bases de Données 4.3 - Conception d une BdD relationnelle par le modèle entités-associations



Documents pareils
Modèle conceptuel : diagramme entité-association

Rappel sur les bases de données

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

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

A. Définition et formalisme

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

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

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

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

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

Modélisation des données

Conception d une base de données

Modèle Entité/Association

Bases de données relationnelles

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

UML. Diagrammes de classes (suite) Delphine Longuet.

UML (Diagramme de classes) Unified Modeling Language

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

GOL502 Industries de services

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

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

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

A QUOI SERVENT LES BASES DE DONNÉES?

16H Cours / 18H TD / 20H TP

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

UML et les Bases de Données

Entrepôt de données 1. Introduction

Concevoir et déployer un data warehouse

Méthode d analyse Merise

Talend Technical Note

LE MODELE CONCEPTUEL DE DONNEES

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

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

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

Traduction des Langages : Le Compilateur Micro Java

Tickets 3:3. ChevauxPartants

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

BASES DE DONNEES ORIENTEES OBJETS BDA10.1

Introduction aux Bases de Données

Bases de données. Chapitre 1. Introduction

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

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)

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

NF26 Data warehouse et Outils Décisionnels Printemps 2010

Programmation Objet Java Correction

Dossier I Découverte de Base d Open Office

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

Bases de données élémentaires Maude Manouvrier

Information utiles. webpage : Google+ : digiusto/

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

et les Systèmes Multidimensionnels

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

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

TP 8: LES OPERATEURS ENSEMBLISTES

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

Application web de gestion de comptes en banques

L INTEGRATION D UN NOUVEAU COLLABORATEUR

Programmation en Java IUT GEII (MC-II1) 1

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

L équipe doit être constituée d'au moins 3 membres dont le chef de projet. Informations sur le Projet. Scientifiques. Secteurs développement

Introduction aux bases de données: application en biologie

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

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

TP1 : Initiation à Java et Eclipse

Diagramme de classes

I4 : Bases de Données

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

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Vincent Augusto

TP Bases de données réparties

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Le modèle de données

CADRE OPÉRATIONNEL ET PLAN D ACTION DE DÉVELOPPEMENT DURABLE POUR LE MASSIF INC. Par. Marie-Michèle Couture-Morissette

Base de Données et Langage SQL

Ecran principal à l ouverture du logiciel

Types de REA produites dans le cadre de la séquence pédagogique

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

Table des matières Sources

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

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

La méthode MERISE (Principes)

Évaluation et implémentation des langages

.../5. Gestion de Bases de Données (J. Wijsen) 27 janvier 2011 NOM + PRENOM : Orientation + Année : Cet examen contient 8 questions. Durée : 2 heures.

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier?

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

Définition du Modèle Conceptuel de Référence du CIDOC (CRM)

Chapitre 1 : Introduction aux bases de données

A QUOI SERVENT LES BASES DE DONNÉES?

Systèmes de Gestion de Bases de Données

TD/TP PAC - Programmation n 3

Chap. 2: L approche base de données

Bases de Données. Plan

UE C avancé cours 1: introduction et révisions

Université de Bangui. Modélisons en UML

Comprendre Merise et la modélisation des données

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

Cours d'informatique

Modélisation avec UML

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Transcription:

2A-SI 4 - Bases de Données 4.3 - par le modèle entités-associations Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Avec l aide du cours de Y. Bourda Modèle entités-associations 1. Objectifs et démarche 2. Définition du modèle entités-associations 3. Exemples 4. Passage aux relations 5. Introduction de clés numériques 6. Limitations 1

Objectifs et démarche 1 - Observation de la réalité Collecte d informations 2 Réflexion & modélisation Méthodologie 3 - Définition des tables (relations) d une BdD relationelle Contraintes : Obtenir une représentation correcte de la réalité Pouvoir faire évoluer facilement la représentation Difficile!! Objectifs et démarche Pourquoi pas une seule table?! (ce serait si simple ) Exemple : bibliothèque Bibli(Titre, Auteur, ISBN,,, Adresse, Date) Problèmes : Un livre peut avoir plusieurs auteurs. Que faire? Duplication de données, ex : adresse d une personne empruntant plusieurs livres. Comment conserver un client qui rend son dernier livre? Bilan : Sémantique des données très mal représentée! (emprunteurs et livres non distincts) il faut définir plusieurs tables/relations 2

Objectifs et démarche Méthodologie de conception de la BdD relationnelle : 1 observation & collecte d informations 2 analyse et modélisation des données en suivant une méthode «concrète, simple, intuitive et non-ambiguë» (!) obtention d un schéma entités-associations 3 génération des tables (relations) de la BdD relationnelle à partir du schéma entités-associations, par une démarche systématique et simple obtention d un schéma relationnel Modèle entités-associations 1. Objectifs et démarche 2. Définition du modèle entités-associations 3. Exemples 4. Passage aux relations 5. Introduction de clés numériques 6. Limitations 3

Déf. du modèle entités-associations Concepts de base : Entités : «objets concrets ou abstraits» provenant de l observation du monde réel. Possède un nom : personne, livre, commande, enseignement, Occurrence : instanciation d une entité Attribut : propriété d une entité (nom, couleur, marque,...), il possède un domaine de valeurs. Clé/Identifiant : ensemble minimum d attributs dont les valeurs identifient de façon unique chaque occurrence de l entité. Déf. du modèle entités-associations Concepts de base : attributs Personne : String : String Adresse : String NumSecuSociale : int DateNaissance : int Personne : «Dupont» : «Jean» Adresse : «3 rue» NumSecuSociale : 17807 DateNaissance : 14071978 entité clé occurrence Rmq: la CNIL interdit de «ficher» des individus avec leurs numéros de sécurité sociale! 4

Déf. du modèle entités-associations Concepts de base : Association : relation entre plusieurs entités. 1, 2, ou plus de 2 entités concernées, 2 ou plus de 2 occurrences concernées. Possède un nom : «emprunte», «conduit», Peut posséder des attributs. Voiture Immat : String Type : String Marque : String Couleur : String Association de 2 entités Appartient à DateAchat: int Attribut Personne : String : String Adresse : String Age : int Sexe : String Déf. du modèle entités-associations Concepts de base : L association d une entité vers elle-même doit porter sur des occurrences différentes Personne : String : String Adresse : String Age : int Grade : String Est dirigée par Personne Dupont Jean Paris Est dirigée par Personne Durand Paul Paris 5

Déf. du modèle entités-associations Concepts de base : Cardinalité d une association : «min.. max» «Compte le nombre de fois (min et max) où une occurrence de l entité peut se retrouver engagée dans l association» Cardinalité minimum : 0 : peut ne pas être engagée 1 : doit être engagée au moins une fois Cardinalité maximum : 1 : ne peut pas être engagée plus d une fois n : peut être engagée plus d une fois min..max min..max Déf. du modèle entités-associations Concepts de base : Voiture Immat : String Type : String Marque : String Couleur : String 1..1 0..n Appartient à DateAchat: int Personne : String : String Adresse : String Age : int Sexe : String Une voiture appartient à une personne et une seule : Elle est engagée dans «1..1» association «Appartient à» Une personne peut posséder 0, 1 ou plusieurs voitures : Elle est engagée dans «0..n» associations «Appartient à» Rmq : les cardinalités du modèle entités-associations semblent parfois «à l envers» 6

Modèle entités-associations 1. Objectifs et démarche 2. Définition du modèle entités-associations 3. Exemples 4. Passage aux relations 5. Introduction de clés numériques 6. Limitations Exemples Exemples : 3 entités reliées par 2 associations 7

Exemples Exemples : 2 entités reliées par 2 associations différentes Exemples Exemples : associations de plus de deux entités Plusieurs solutions. Celle-ci montre bien qu un accident s est produit avec «telle» voiture conduite par «telle personne». Schéma Entités- Associations difficile à traduire ensuite en Relations!! 8

Modèle entités-associations 1. Objectifs et démarche 2. Définition du modèle entités-associations 3. Exemples 4. Passage aux relations 5. Introduction de clés numériques 6. Limitations Passage aux relations Principes : La transformation d un schéma entités-associations en un schéma relationnel peut être systématisé E1 0..1-0..1 E2 : ajout à une entité (E1 ou E2) de l identifiant (clé) de l autre et des attributs de l association. E1 0..1-1..1 E2 : ajout à E2 de l identifiant de E1 et des attributs de l association. E1 1..1-1..1 E2 : ajout à une entité (E1 ou E2) de l identifiant de l autre et des attributs de l association. Possibilité de ne faire qu une seule relation. E1 x..1 - y..n E2 : ajout à E1 de l identifiant de E2 ainsi que des attributs de l association. E1 x..n - y..n E2 : l association devient une nouvelle relation (3 relations au final), avec les attributs de l association et les identifiants de E1 et E2. 9

Passage aux relations E1 0..1-0..1 E2 : ajout à une entité (E1 ou E2) de la clé de l autre et des attributs de l association. Si un professeur ne peut diriger au plus qu une seule thèse (à la fois) : 0..1 Dirige la thése de 0..1 DateDébutThèse Etudiant NuméroEtudiant DernierDiplome Année d étude Relations Générées : NuméroEtudiant DateDébutThèse Etudiant NuméroEtudiant DernierDiplome Année d étude Pb éventuel : comment représenter un professeur qui ne dirige pas de thèse? Passage aux relations E1 0..1-1..1 E2 : ajout à E2 de l identifiant de E1 et des attributs de l association. Si un professeur ne peut diriger au plus qu une seule thèse (à la fois) : 0..1 Dirige la thése de 1..1 DateDébutThèse Doctorant NuméroEtudiant DernierDiplome Année d étude Relations Générées : Doctorant NuméroEtudiant DernierDiplome Année d étude Directeur Directeur Directeur DateDébutThèse 10

Passage aux relations E1 1..1-1..1 E2 : ajout à une entité (E1 ou E2) de l identifiant de l autre et des attributs de l association. Possibilité de ne faire qu une seule relation. Si tout professeur enseigne un cours et un seul : 1..1 Enseigne 1..1 SalleDeCours OU Cours Titre Domaine Durée Niveau Relations Générées : TitreCours SalleDeCours Cours Titre Domaine Durée Niveau TitreCours DomaineCours DuréeCours NiveauCours SalleDeCours Cours Titre Domaine Durée Niveau Si cette entité n est pas engagée dans une autre association Passage aux relations E1 x..1 - y..n E2 : ajout à E1 de l identifiant de E2 ainsi que des attributs de l association. Si un professeur peut répondre au plus à un appel à projet Européen Appel à projet 0..1 Répond à appel à projet 0..n DateDeReponse Référence Domaine Durée Financement Relations Générées : Référence DateDeReponse Appel à projet Référence Domaine Durée Financement Pb éventuel : comment représenter un professeur qui ne répond pas à un appel? 11

Passage aux relations E1 x..n - y..n E2 : l association devient une nouvelle relation (3 relations au final). Un professeur à publié plusieurs articles avec des collègues (différents) Article 0..n A-publié TempsDeRédaction 1..n Titre Conférence NbrDePages Date Relations Générées : Article Titre Conférence NbrDePages Date A-publié Titre Conférence TempsDeRédaction Passage aux relations Dans certains modèles entités-associations on définit l association particulière «est_un» (isa). - Ex : «est_un» Personne Etudiants «sont des» Personnes - C est une sorte d héritage! - Dans ce cas les entités et Etudiants n ont pas de clé dans le modèle entités-associations, et vont hériter d une clé. - «E1 est_un E2» : se traduit en modèle relationnel par l ajout de la clé de E2 dans la relation E1 (tout simplement!) 12

Modèle entités-associations 1. Objectifs et démarche 2. Définition du modèle entités-associations 3. Exemples 4. Passage aux relations 5. Introduction de clés numériques 6. Limitations Motivation : Introduction de clés numériques Quand la clé est constituée de nombreux attributs il peut être efficace d introduire une clé (artificielle) numérique. Ex : on veut identifier les employés d une société Idée 1 : clé = numéro de sécurité sociale Identifiant unique pour une personne : parfait Mais la CNIL l interdit!!! Idée 2 : clé = {nom, prénom, adresse, } Assez d attribut pour éviter les confusions Mais les associations vont générer des tables avec bcp d attributs (on reprend les clés des entités) Idée 3 : clé = numéro d employé (créé spécialement) n gérés par la base (incrément automatique) 13

Introduction de clés numériques Conséquences : A Att1 Att2 Att3 Att4 A IdA Att1 Att2 Att3 Att4 0..n 0..n «A utilisé» Date d utilisation «A utilisé» Date d utilisation 0..n 0..n B Att-a Att-b Att-c Att-d B IdB Att-a Att-b Att-c Att-d Tables globalement moins volumineuses Jointures plus rapides : efficacité accrue A Att1 Att2 Att3 Att4 A IdA Att1 Att2 Att3 Att4 B Att-a Att-b Att-c Att-d B IdB Att-a Att-b Att-c Att-d A-utilisé Att1 Att2 Att3 Att-a Att-b Att-c Att-d Date-Util A-utilisé IdA IdB Date-Util Mais perte de la 3NF (voir + loin) d autres optims ne seront plus possibles ex : table A : Att4 dépend de IdA (la clé) et de {Att 1, Att 2, Att 3} Modèle entités-associations 1. Objectifs et démarche 2. Définition du modèle entités-associations 3. Exemples 4. Passage aux relations 5. Introduction de clés numériques 6. Limitations 14

Limitations Le modèle relationnel ne prend pas en compte : - Des objets structurés avec leurs opérations associées BdD orientées objets - Des objets peu structurés : texte, sons, images, BdD multimédia - Les techniques d IA déduisant de nouvelles données BdD déductives Le modèle entités-associations est simple mais : - La formalisation est parfois difficile - Pour un même ensemble de données il peut exister différentes modélisations Le passage systématique au modèle relationnel : - Ne donne pas des relations «optimales» et les opérations de mises-à-jour de la base peuvent être inutilement complexe (voir plus loin formes normales) 15