1.09k likes | 1.37k Views
François Jacquenet Professeur d'Informatique Faculté des Sciences Laboratoire Hubert Curien – UMR CNRS 5516 18 rue Benoit Lauras 42023 Saint-Etienne cedex 2 Tél : 04 77 91 58 07 e-mail : Francois.Jacquenet@univ-st-etienne.fr Web : http://eurise.univ-st-etienne.fr/~fj.
E N D
François Jacquenet Professeur d'Informatique Faculté des Sciences Laboratoire Hubert Curien – UMR CNRS 5516 18 rue Benoit Lauras 42023 Saint-Etienne cedex 2 Tél : 04 77 91 58 07 e-mail : Francois.Jacquenet@univ-st-etienne.fr Web : http://eurise.univ-st-etienne.fr/~fj Licence de Sciences et Techniques Unité d’enseignement BASES DE DONNEES Modélisation d’une base de données
Mais avant : Qu’avons nous appris la semaine dernière ?
Aujourd’hui nous verrons • Cycle de vie d’une Base de Données • Modèle conceptuel • Modèle entité-association et plus particulièrement les notions de • type d’entités • type d’associations • Attributs • cardinalité • identifiant • contraintes d’intégrité
Cycle de vie d’une base de données Schéma conceptuel Personne Voiture Voiture conduit Personne Monde réel Concepteur Table Personne Table Voiture Table Conduit … BD Voiture Ford KA Peugeot 106 Toyota yaris … Personne Dupont Durant Rochat … Schéma logique Utilisateurs LMD
Voiture conduit Personne Ce qui nous intéresse aujourd’hui La modélisation conceptuelle Personne Voiture Monde réel Concepteur C’est-à-dire : la définition du schéma conceptuel de la base de données Schéma conceptuel
Culture générale • Cycle de vie du logiciel (modèle en cascade) Analyse des besoins Spécification Conception générale Conception détaillée Codage Tests Distribution Maintenance
Modéliser les données • Modèle de données = ensemble de • concepts permettant la description et lamanipulation des données du monde réel • règles d’utilisation de ces concepts • Ces concepts décrivent les aspects • Statiques : structure des données • Dynamiques : opérations sur les données + contraintes explicites • Schéma = description de la BD obtenue en utilisant un modèle de données
Pourquoi la modélisation conceptuelle ? • Objectif: représenter la réalité telle qu'elle est perçue par les utilisateurs • Contrairement aux modèles logiques qui décrivent la réalité en fonction du modèle du SGBD • Représentation à l’aide de la trilogie de base • objets • liens • propriétés
Avantages de la modélisation conceptuelle • L’attention est portée sur les applications • Indépendante des technologies • Portabilité • Longévité • Orientée utilisateur • Compréhensibilité • Support du dialogue concepteurs / utilisateurs • Permet la collaboration et la validation par les utilisateurs
Avantages de la modélisation conceptuelle • Spécifications formelles, non ambiguës, • Puissance des concepts • Support d’interfaces visuelles (lisibilité) • Diagrammes de définition de données • Manipulation de données • Facilite les échanges d’informations entre SGBD différents
TRES IMPORTANT La qualité de la conception de la BD est un facteur critique de réussite
Culture générale • Importance des premières étapes dans le cycle de vie du logiciel Analyse des besoins Spécification Conception générale Conception détaillée Codage Tests Distribution Maintenance
Elaboration d’un schéma conceptuel • Analyse du monde réel • Identification des phénomènes à représenter dans la BD • délimitation de l’univers du discours • Représentation à l’aide des concepts du modèle • contenu • structure • règles • dynamique • Représentation • Partielle • Infidèle et Subjective
Marielle Claire ... Fabien Camille Abstraction De la réalité perçue à la représentation: Faire abstraction des particularités permet de passer des objets aux types ou classes d'objets Type d’objet: Personne propriétés: - nom, - âge, ...
Possède Personne Voiture Est-marié-avec Définition d’un schéma • Un schéma est une collection de types • d’entité <-> objets • d’association <-> liens • La bases de données contiendra les valeurs représentant les instances de ces types
Divers types de modèles conceptuels • Entité-Association (EA) - (ER: Entity-Relationship) • UML (Unified Modelling Language - cf Master 1) • MERISE (cf cours de Systèmes d’Information en L2) • ...
Vocabulaire Le monde réel Abstraction / Description Diagramme Ensemble d’objets perçus comme similaires Etudiant étudiants Base de données Schema Type d'objetÉtudiant: -nom -prénoms -date de naissance -section -année Instances ou occurrences Population
ET MAINTENANT Le modèle Entité Association (entity-relationship)
Généralités • C’est un modèle conceptuel • Conçu par Chen en 1976
A quoi ressemble un schéma conceptuel ? chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type
On y voit des rectangles chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type
On y voit des losanges chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type
On y voit des traits étranges chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type
On y voit des mots reliés aux rectangles par des traits chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type
On y voit des mots reliés aux losanges par des traits chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type
Modèle de type conceptuel • But : permettre la description conceptuelle des structures de données d'une application • Les concepts de base (qui correspondent aux concepts d’abstraction de la réalité): • objet <=> entité • lien <=> association (relationship) • propriété <=> attribut • en plus : la représentation multiple
Marielle Claire ... Fabien Camille Entité et Type d’entités • Entité: représentation d’un objet du monde réel ayant une existence propre • Type d'entités (TE): représentation d'un ensemble d'entités perçues comme similaires et ayant les mêmes caractéristiques Personne
achète Personne Maison Association et type d’associations • Association : représentation d'un lien non orienté entre plusieurs entités (qui jouent un rôle déterminé) • Typed'associations (TA) : représentation d'un ensemble d'associations ayant la même sémantique et décritespar les mêmes caractéristiques achète est une association entre une personne et une maison
Rôles d’une association • Dans une association, chaque entité joue un rôle déterminé • Association binaire deux rôles achète Personne Maison ACHETEUR ACHETÉ
Association cyclique • Une association est cyclique lorsque deux rôles (au moins) lient le même type d’entité marié à est une association entre une personne et une autre personne problème : comment savoir, dans un couple, qui est le mari et qui est la femme ? exemple : <Dupont Dominique, Dupont Dominique> marié à Personne
marié à Personne Association cyclique, rôles nommés • Solution : spécifier le rôle de chaque entité marié à est une association entre une personne qui est une femme et une autre personne qui est son mari exemple : <Dupont Dominique / femme, Dupont Dominique / mari> femme mari
Association ternaire achète Client Produit Fournisseur achèteest une association (ternaire) entre un client, un fournisseur et un produit
Association ternaire cyclique Emprunteur Emprunt Personne Banque Garant
Population d’un TE et TA achète Personne Maison
Cardinalité des rôles Possède • Combien de voitures minimum une personne peut-elle possèder ? • Combien de voitures maximum une personne peut-elle possèder ? Personne Voiture Possède min:max Personne
Contraintes de cardinalités • Une personne peut ne pas avoir de voiture, en avoir une, deux, ..., n • Une voiture à un et un seul propriétaire Possède 0:n Personne Possède 1:1 Personne Voiture 0:n
Population d’un TE et TA achète Personne 1:1 Maison 0:n
Valeurs et notations des cardinalités Minimum Maximum 0 1 1 1 0 n 1 n n m Possède Personne Voiture
Autres notations possibles Pour les liens 0:1 1:1 0:n 1:n m:n
Association ternaire, cardinalité • Plus difficiles à lire sur le schéma • Nombre min et max d’occurrences du TA qui peuvent lier une occurrence donnée du TE Assure Personne Voiture N°secu N°imm. Compagnie Assurance Nom
Les attributs • Ils décrivent les propriétés associées à: • un type d’entité • un type d’association • un autre attribut femme Marié à Personne mari Date_mariage nom prénom salaire mois année jour Domaine [1,31]
Attributs simples • simple (atomique) : non décomposable • Exemples : jour, prénom • Le domaine de valeurs est constitué de valeurs atomiques • Exemple : • jour • domaine de valeurs = {1, 2, …., 31} • Domaines prédéfinis standard, intervalles, énumérés
Attributs complexes • Complexe : décomposé en d'autres attributs • Exemples • date qui se décompose en jour, mois, année • adresse qui se décompose en rue, ville, code postal • Un attribut complexe ne porte pas de valeur propre (pas de domaine directement associé) • La valeur d'un attribut complexe est la composition des valeurs de ses attributs composants. • Un composant d'attribut complexe peut être lui-même un attribut complexe.
Attributs obligatoires ou facultatifs • Obligatoire: une valeur au moins par occurrence (cardinalité min1). • Exemples : nom, prénoms • Facultatif: peut ne pas prendre de valeur (cardinalité min=0). • Exemples : salaire, téléphones
Attributs mono ou multi-valués • monovalué : une seule valeur par occurrence (cardinalité max=1) • Exemples: date de naissance, numéro sécu • multivalué : plusieurs valeurs par occurence (cardinalité max>1). • Exemples: prénoms, téléphones • Une valeur d'attribut multivalué est un ensemble ou une liste ou un multi-ensemble de valeurs, prises chacune dans le domaine de valeurs associé à l'attribut.
Attributs, cardinalité • min : caractère facultatif ou obligatoire de l’attribut • max : caractère mono-valué ou multi-valué de l’attribut • Même notation pour les attributs que pour les cardinalités des rôles • Exemples • nom d’une personne • prenoms • téléphone fixe • téléphone mobile 1:1 1:n 0:1 0:n
Attributs, exemple Employé liste No-emp nom prénoms CV postes diplôme année intitulé salaires date-début date-fin simple obligatoire monovalué complexe, facultatif, multivalué de type ensemble montant date année mois simple, obligatoire, multivalué de type liste Rappel : 0:n m:n 0:1 1:n 1:1
( technicien, (1500, 1997, 10) (1600, 1999, 10) (1700, 2000, 10) ’01/01/1997’, ’31/12/2001’ ), (analyste, (2500, 2000, 06) (2800, 2001, 06) ’01/01/2000’, ’31/12/2002’ ), (chef_de_projet, (3500, 2002, 10) ’01/01/2002’, ’31/12/2003’ ) /* intitulé /* salaires /* date début /* date fin Attributs, exemple postes intitulé salaires date-début date-fin montant date année mois
Employé nom salaire nom salaire Autres notations existantes Pour les entités et leurs attributs Employé nom salaire Employé
Identifiants de TE et TA • Nécessité de pouvoir désigner une entité (une association) de façon univoque • Identifiant: Ensemble minimal d'attributs tel qu'il n'existe pas deux instances du TE (TA) où ces attributs aient la même valeur