BD1 Ea
BD1 Ea
BD1 Ea
des Données
1. Objectifs et principes
2. Le modèle Entité-Association (E/R)
3. La conception en pratique
3ASTI - 2015
1. Objectifs de la Modélisation
B. Nguyen
Dériver le schéma de la BD
Schéma
Définition de tous les types de données de la base et de leurs liens
Agrégation de données
Type élémentaire (de base): Entier, Réel, String, ...
Type complexe (composé): Collection de types élémentaires
Exemple : Type Personne (nom: String, Prenom: String, age: Réel)
Possibilité d'intégrer des relations entre données (liens)
Exemple : Personne Voitures;
Le schéma (abstrait) est utilisé pour créer de véritables objets du monde réel
(instantiation)
Instance ou occurrence : Personne("Dupont", "Jules", 20)
Ensemble de Voitures {id:String}: Voitures {"AB-754-RE", "VX-940-PG"}
Création d’une relation entre une personne et une voiture :
"Dupont" "AB-754-RE"
B. Nguyen
Modélisation à plusieurs niveaux
Réel
Indépendant du
Modèle modèle de données
Indépendant du
conceptuel SGBD Médecin effectue Visite
Dépendant du
Modèle modèle de données
Relationnel Objet XML
Indépendant du
logique SGBD
Dépendant du
Modèle modèle de données
Organisation physique des données
Structures de stockage des données
Dépendant du
Physique SGBD
Structures accélératrices (index)
B. Nguyen
Méthodes
B. Nguyen
Un exemple de modèle Entité-Association
Attribut Attribut Attribut
Marque Date
Nom
Attribut
NP Cardinalité Cardinalité
1..* 0..*
Entité Produit Achete Client Entité
produit acheteur
Rôle Association Rôle
Cardinalité produit
1..*
Rôle Attribut
Remise Attribut
Prenom
Association Vend Attribut
Nom
Attribut
Cardinalité Prix
1..* vendeur Clés Primaires :
Rôle - (NP) clé de Produit
Entité Fournisseur - (NF) clé de Fournisseur
- (Nom, Prénom) clé de Client
Attribut Attribut Attribut
B. Nguyen NF Nom Région
A- Classe d’Entité
Voiture
B. Nguyen
Attribut
Un identifiant aussi appelé clé est un attribut qui permet de retrouver une
instance d'entité unique à tout instant parmi celles de la classe.
Exemple: NVeh dans Voitures, NSS dans Personnes
va identifier l’entité
B. Nguyen
B- Association
B. Nguyen
Association: quelques définitions
Association (Association)
Une relation entre des instances de deux (ou plus) classes
Lien (Link)
Une instance d'association
Rôle (Role)
Une extrémité d'une association
Attribut de lien (Link attribute)
Un attribut de l'association instancié pour chaque lien
Cardinalité (Multiplicity)
Le nombre d'instance d'une entité pour chaque instance de l'autre
B. Nguyen
Représentation
E/R
Personne Voiture
Possède
Propriétaire Possédée
Date Prix
Date Quantité
B. Nguyen
Degré d'une association
M# Nom …
Composant Composé
Ingénieur Suivi
Date Pièce
Composée_de Rôle
…
P# Des. …
B. Nguyen
Cardinalité (max) d'une association
B. Nguyen
Cardinalités min et max
(Notations UML)
Cardinalité maximum
Indique le nombre maximum d'instances d'une classe d'entité
participant à une association
Cardinalité minimum
Indique le nombre minimum d'instances d'une classe d'entité
participant à une association
1..* 0..7
Etudiant Passe Examen
B. Nguyen
3. La conception en pratique
B. Nguyen
Clé Etrangère : le chaînon manquant
entre le modèle E/A et le modèle
relationnel
Dans le modèle E/A il est simple de voir quelles entités sont liées avec d’autres
: c’est le but même du modèle.
Dans le modèle relationnel : on n’a que des tables. Comment faire ?
On définit le concept de clé étrangère :
GROUPE D'ATTRIBUTS DEVANT APPARAITRE COMME CLE DANS
UNE AUTRE RELATION
Les clés étrangères définissent les contraintes d'intégrité référentielles
Lors d'une insertion, la valeur des attributs doit exister dans la relation référencée
Lors d'une suppression dans la relation référencée les tuples référençant doivent
disparaître
B. Nguyen
Améliorer son modèle :
Dépendances fonctionnelles
Permet d’indiquer que certains attributs dépendent d’autres attributs
e.g. La valeur de la prime d’un employé dépend de son poste
i.e. SECTIONDEPARTEMENT ou (PRODUIT, QUANTITE) PRIX
Les attributs non clé ne peuvent pas dépendre d’un sous-ensemble d’une clé candidate
3e forme normale
Les attributs non clé ne peuvent pas dépendre d’un sous-ensemble d’attributs non clé
Boyce-Codd NF
Les attributs clé ne peuvent pas dépendre d’un sous-ensemble d’attributs non clé.
« The key, the whole key, nothing but the key, so help me Codd »
Permet de réaliser un « bon » schéma relationnel (éviter les redondances, et donc les problèmes de mise
à jour).
Par contre ça demande de faire plus de jointures …
B. Nguyen
Conversion vers le modèle relationnel
1/2
Méthodologie pour implémenter des entités et associations sous forme de
tables
B. Nguyen
Conversion vers le modèle relationnel
2/2
Traduction des associations : règle de base
Une association est représentée par une table dont le schéma est le nom de
l'association et la liste des clés primaires des entités participantes suivie des
attributs de l'association. Ces clés primaires deviennent des clés étrangères de cette
nouvelle table.
Exemples :
ACHETE (numproduit, numClient, Date)
FOURNIT (NumFournisseur, NumProduit, Prix, Remise)
Amélioration possible
Regrouper les associations 1:N --> 1:1 avec la classe cible
Exemple :
VOITURE (N°VEH, MARQUE, TYPE, PUISSANCE, COULEUR)
POSSEDE (N° SS, N° VEH, DATE , PRIX )
regroupées si toute voiture a un et un seul propriétaire
B. Nguyen