Upload
faysal-bensalah
View
217
Download
0
Embed Size (px)
Citation preview
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 1/76
Bases de Données&Systèmes d’Information
Mohammed [email protected]
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 2/76
Plan du cours
1. Introduction2. Modèle conceptuel de données Entité-Association
3. Modèle relationnel de données
4. Le langage SQL
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 3/76
Chap. 1 : Introduction
Limites des systèmes de gestion de fichiers
• Chaque application dispose de ses fichiers (données)⇒redondance des données
• Chaque application dispose de ses programmes
⇒complexité du maintien de la cohérence
• Programmes dépendants de l’organisation physique desdonnées
• Pas de gestion des accès multiples
d’où l’apparition de la notion de base de données
(début des années 60)
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 4/76
Notion de BD et de SGBD
• Base de données (BD) : collection importante de donnéescohérentesstructurées indépendamment d’une application
de redondance minimaleaccessibles par plusieurs utilisateurs à la fois
• Système de Gestion de Bases de données (SGBD) :logiciel assurant structuration, stockage, maintenance, miseà jour et consultation d'une BD
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 5/76
Quelques applications des BDs
• Gestion (salaires, stock…)
• Transactionnel (comptes bancaires, centrales d'achat…)
• Librairies électroniques (bibliothèques, journaux…)
• Documentation technique (plans, dessins…)
• Génie logiciel (programmes, manuels…)• …
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 6/76
Fonctions d’un SGBD
a. Définition des données :Un Langage de Définition de Données (LDD) permet dedécrire :
- des objets ( personnes, véhicules)
- Des attributs sur les objets (nom, n° d’immatr .)- Des liens entre objets ( personne possède véhicule)
- Des contraintes sur objets, attributs et liens (un
véhicule n’a qu’un seul propriétaire)
Schéma = description d’une BD à l’aide du LDD
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 7/76
Fonctions d’un SGBD
b. Manipulation des données
Un Langage de Manipulation de Données (LMD)permet de créer, rechercher, supprimer, modifierdes données (SQL)
Un SGBD doit offrir plusieurs interfaces d'accès,
correspondant à différents types d'utilisateurs interface orientée utilisateur final
(langage de requêtes comme SQL avec mise enoeuvre graphique, interface de type formulaire, ...)
interface orientée programmeur d'applications
(SQL immergé dans C ou Java).
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 8/76
Fonctions d’un SGBD
c. Contrôler l'intégrité des données
Les données enregistrées doivent vérifier certainespropriétés appelées contraintes d’intégrité (CI)
CI exprimées dans le schéma (définition) de la BD
le SGBD doit les préserver durant la vie de la BD
CI plus complexes
à coder dans des programmes d’application
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 9/76
Fonctions d’un SGBD
d. Assurer la sécurité de fonctionnement
Mécanisme de transaction- Séquence d'opérations faisant passer une BD d'un état
cohérent à un nouvel état cohérent
- Une transaction est exécutée complètement avec succèsou est annulée.
Remettre rapidement une BD dans un étatopérationnel après un incident hardware/software1. Journalisation des opérations réalisées sur la BD
(dans le journal ou LOG)
2. Ré-exécution automatique en cas d’incident
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 10/76
Fonctions d’un SGBD
e. Gérer les accès concurrents
Permettre des accès simultanés par plusieursutilisateurs
Mécanismes de gestion de conflits d’accès- autorisation d’accès multiples en consultation
(lecture)
- verrouillage en cas d’accès en modification(écriture)
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 11/76
Fonctions d’un SGBD
f. Assurer la confidentialité
Cacher certaines informations à certains utilisateurs
Mise en œuvre :
- mots de passe et privilèges d’accès
- utilisation de sous-schémas
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 12/76
SystSystèème dme d‘‘InformationsInformations
12
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 13/76
• Ensemble complexe, composé de données et de liens.
• Décrit une activité.
• Plusieurs valeurs possibles.
13
LL’’informationinformation……??
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 14/76
Un système d'Information (noté SI) représentel'ensemble des éléments participant :
• à la gestion,
• au traitement,• au transport et,• à la diffusion,
de l'information au sein de l'organisation.
SystSystèème dme d’’informationinformation -- DDééfinitionfinition
14
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 15/76
15
Et la grande question estEt la grande question est……
Comment r Comment r ééaliser unaliser un «« bonbon »» systsystèème dme d’’information ?information ?
La réponse sur les techniques et démarches classiques du Génie Logiciel :
•Analyse• de l’existant et des besoins de l’utilisateur.
•Conception• du système et du logiciel.
•Réalisation• Traduction des algorithmes dans un langage choisi.
•Tests du logiciel• Vérification et validation du logiciel.
• Tests de non régression.
•Exploitation• Utiliser le logiciel une fois installé.
•Maintenance• Correction des erreurs.
• Ajouts de fonctionnalité.
•…
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 16/76
16
Analyse et Conception deAnalyse et Conception deSystSystèème dme d’’InformationInformation
Que faut-il pour analyser, concevoir…?
On doit :
• avoir une vision abstraite du fonctionnement,
• garantir les délais, la pertinence, l’efficacité,
• faciliter la maintenance,
• prolonger la durée de vie,
• …
Nous avons, donc, besoin :
• de MODELES,• de METHODOLOGIE.
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 17/76
17
• Un modèle est par définition une représentation abstraite, d’une partie dumonde réel, exprimée dans un langage de représentation.
• Ce langage peut être :
• formel : ayant une syntaxe et une sémantique bien définies comme
• la logique du premier ordre ou,
• un langage informatique,
• …
• Semi-formel : notation graphique normalisée.
• Informel : description en langage naturel.
ModModèèlele……cc’’est quoi ?est quoi ?
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 18/76
18
Les principales motivations sont (Vernadat, 2000) :
- comprendre et analyser la structure et le fonctionnement de l’entreprise ;
- prévoir (de manière fiable) le comportement et les performances desprocessus opérationnels avant leur implantation ;
- choisir la (ou les) meilleure(s) alternative(s) d'implantation ;
- identifier les risques d'implantation à gérer ;
- justifier les choix d'implantation sur des critères liés aux ressources et
aux coûts (méthodes de comptabilité par activités, par exemple) ;
- bâtir une vision commune du fonctionnement de l’entreprise et lacommuniquer facilement au plus grand ensemble possible dupersonnel.
ModModèèlele……pourquoi ?pourquoi ?
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 19/76
19
• Formalisation claire et complète du problème informationnel.
• Maîtrise de la résolution du problème par l’utilisation de critères
objectifs pour évaluer les solutions.
• Construction de SI pertinents, complets, cohérents, fiables flexibleset adaptatifs.
• Évaluation du SI à tout moment de son cycle de vie.
• Faciliter la coopération entre concepteurs, informaticiensgestionnaires, utilisateurs.
• Rigueur dans l’élaboration de la solution.
• Réduire les coûts et les délais.
MMééthodologiethodologie……pourquoi ?pourquoi ?
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 20/76
• Approche cartésienne.
– Orientée traitements.
• Approche systémique.– Orientée données.
• Approche Objet.– Orientée données et traitements.
MMééthodologiethodologie……TypologieTypologie
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 21/76
• MERISE : Méthode d’Etude et deRéalisation Informatique pour les
Systèmes d’Entreprises(Tardieu, 83).• AXIAL : analyse et conception des
systèmes d’informations assistés
par logiciel (IBM, 86).• SSADM : Structured Systems Analysis and
Design Method (CCTA, 80).
• SADT : Structured Analysis and DesignTechnique (Softech, 77).• RUP : Rational Unified Process.
(IBM, 2003).
MMééthodologiethodologie……exemplesexemples
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 22/76
• Partir de principes théoriques,
• pour développer un ensemble cohérent demodèles qui,
• par des raisonnements simples, sebasant sur des définitions et unlangage (visuel) précis,
• permettent de construire un systèmed’information cohérent et efficace.
22
MeriseMerise……DDéémarchemarche
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 23/76
• Deux modèles : données et traitements.
• Elaborés séparément.
• Déclinés sur trois niveaux :1. Conceptuel.2. Organisationnel.
3. Opérationnel.
• Validation données / traitements.23
MeriseMerise……deux moddeux modèèlesles
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 24/76
Système d’information
manuel
Expression des Besoins
Modèle Conceptuel
Modèle Organisationnel
Modèle Opérationnel
Système d’information
automatique
•Recueil des informations•Délimiter le système.
•…
•Construire les MCD et MCT
•Construire les MOD et MOT
•Construire (entre autres) les MLD,MPD…
24
MeriseMerise……cycle dcycle d’’abstractionabstraction
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 25/76
• Faire l'inventaire des éléments d’informations circulant
dans le système : existants et demandés.
• Plusieurs approches sont possibles :
– La plus basique (orientée données) repose sur :• la création d’un dictionnaire de données et,• la matrice des dépendances fonctionnelles.
– La plus complète (orientée traitement ) est basée sur :• la création du Modèle Conceptuel d’Activité (MCA) et,• du Modèle Conceptuel de Communication (MCC).
25
Recueil et organisation desRecueil et organisation des
informationsinformations
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 26/76
• Toute donnée recensée doit être mémorisée.
• Le MCD modélise cette mémoire (collective) du système.
• Un formalise de référence :–– le modle modèèlele EntitEntitéé--Association.Association.
–– ConceptsConcepts dd’’entitentitéés et ds et d’’associations.associations.
–– ParticuliParticulièèrement adaptrement adaptéé auxaux Base de DonnBase de Donnéées relationnelles.es relationnelles.
•• Redondance interditeRedondance interdite !!
26
ModModèèle Conceptuel de Donnle Conceptuel de Donnééeses
(MCD)(MCD)
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 27/76
• Son objectif est la description de la transformation destransformation des
informationsinformations
.• Se base sur plusieurs notions :
• Activité : décrit perception globale du fonctionnement du
système, et est, par le fait, complexe.• Traitement : décrit l’un des composants de l’activité du
système.
• Action : décrit une fonctionnalité atomique dans untraitement (consultation, mise à jour…).
27
ModModèèle Conceptuel de Traitementle Conceptuel de Traitement
(MCT)(MCT)
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 28/76
• Concepts identiques à ceux du MCD et MCT sauf que …
• l’intégration de notions supplémentaires, comme– les lieux (où ?),– Les personnes (qui ?),– Les ressources (comment ?),– …– En bref, les contraintes spatiales et temporelles,
• imposent que,– la redondance de données soit tolérée et que,– les traitements soient raffinés.
28
ModModèèles Organisationnelles de Donnles Organisationnelles de Donnéées etes et
de Traitements (MOD, MOT)de Traitements (MOD, MOT)
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 29/76
• Le modèle logique représente un choix logicielpour le système d'information.
• Le modèle physique reflète un choix matériel
pour le système d'information.
29
ModModèèles Oples Opéérationnels : Logique etrationnels : Logique et
PhysiquePhysique
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 30/76
Processus de conception d'une base de
données
Monde réel
Spécificationsde la BD
Modèle
conceptuel
Analyse
Conception
Modèle
logique
Modèlephysique
Transformation
Implémentation
Indépendantd'un SGBD
Spécifique àun SGBD
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 31/76
Concepts manipulés dans les ≠
modèles
• Procédure• Phase
• Tâche
• Table• Attribut
Logique(relationnel)
• Processus
• Opération• Événement/résultat
• Synchronisation
• Entité
• Association• Attributs
Conceptuel
• Application• Unité de traitement
•Table•Tuple
•Attribut
+ langage SQL
Physique
(relationnel)
TRAITEMENTSDONNEESNIVEAU
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 32/76
Plan du cours
1. Introduction2. Modèle conceptuel de données Entité-
Association
3. Modèle relationnel de données4. Le langage SQL
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 33/76
Chap. 2 : Modèle
Entité-association (E/A)
Proposé par Chen en 1976Modèle conceptuel abstrait utilisé pour décrire les données
d’un SI
Entité-Association (E/A) traduction deEntity/Relationship (E/R)
Une représentation graphique rigoureuse est
associée au modèle E/A
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 34/76
• Entité : objet concret ou abstrait à propos duquel onsouhaite conserver des informations.
ex. client , journal, département
• Attribut : propriété attachée à une entité.
ex. nom, prix Attribut atomique / composé (subdivisé en attributs)ex. nom versus adresse
Attribut dérivé : calculé à partir d’autre(s) attribut(s)ex. âge
Attribut monovalué / multivalué (plusieurs valeurs par entité)
2.1. Concepts de base du modèle E/A
a. Entités et attributs
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 35/76
a. Entités et attributs
• Domaine d’un attribut : ensemble des valeurs que peutprendre un attribut.
ex. Prix des produits : nombre réel positif
nom : chaîne de caractères alphabétiques
couleur : {rouge, vert, bleu, jaune}
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 36/76
Employé
NomPrénom
Date de naissanceRueCode postalVille
Autre représentation graphique
d'une entité avec ses attributs
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 37/76
b. Type et occurrences d’entité
• Type d'entité : classe de toutes les entités de mêmenature et jouant le même rôle.
ex. Employé • Occurrence d’un type d’entité : tout individu
particulier faisant partie du type d’entité.
ex. Occurrences du type d’entité Employé : les employés
Richard AlbusMarie DupontBernard Schmidt
...
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 38/76
b. Type et occurrences d’attribut
• Type d'attribut : nom d'un attribut et domaine des valeurspossiblesex.
Nom et Prénom : chaînes de caractères
Date de naissance : date
Âge : entier positif
• Occurrence d'attribut : valeur particulièreex. bleu, rouge, jaune : occurrences de l’attribut couleur
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 39/76
c. Identifiant d’entité
• Identifiant d’entité : ensemble minimald’attributs caractérisant de façon unique lesoccurrences d'un type d'entité.
• Représentation graphique : attribut(s)identifiant(s) souligné(s)
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 40/76
ex. Un identifiant du type d'entité Employé : {Nom, Prénom, Date de naiss.}
Employé
NomPrénom
Date de naissanceRueCode postalVille
Un autre identifiant du type d'entité Employé : un nouvel attribut(artificiel) Numéro
Employé
NuméroNomPrénom
Date de naissanceRueCode postalVille
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 41/76
d. Associations
• Chaque entité joue un rôle dans l'association- Les rôles devront être précisés si l’association relie une entité à elle-même.
• Une association peut concerner plus de deux entités
- degré d’une association (association binaire, ternaire, n-aire)
commandeClient Produit
• Association : liaison existant entre des entités.ex. les clients commandent des produits
commande est commandé par
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 42/76
e. Attributs d’associations• Une association peut être caractérisée par des attributs.
ex. date de la commande et quantité de produits commandés.
commandeClient Produit
date
quantité
• Occurrence d'un type d'association : occurrence de chaque typed'entité + occurrence de chaque type d’attribut
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 43/76
f. Cardinalités d’associations• Cardinalité d’une assoc. : nombres minimum et maximum departicipations de chaque occurrence d’entité à l’association.
ex. un client doit commander au moins un produit ; un produit peutêtre commandé par zéro ou un nombre quelconque de clients.
En fonction des cardinalités maximales, une associationbinaire (degré = 2) peut être de type 1-1, 1-N ou N-M
commandeClient Produit1,N 0,M
commande est commandé
par
minimum maximum
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 44/76
f. Cardinalités d’associations
Typologie des associations binaires
Association de type 1-1 (one-to-one)
A By,1
Association de type 1-N (one-to-many)
A Bx,1 y,N
R
R
Association de type N-M (many-to-many)
A Bx,N y,MR
x,1
f C di lité d’ i ti
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 45/76
f. Cardinalités d’associations
Typologie des associations binaires
a1
a2
a3
a4
a1
a2
a3
a4
b1
b2
b3
b4
b1
b2
b4
Many-to-manyOne-to-many
a1
a2
a3
a4
b1
b2
b3
One-to-one
a5
A B0,1 1,1R A B1,N 1,M
RA B1,1 0,NR
a5
b3
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 46/76
Un client est titulaire d’au maximum un compte; un compteappartient à un client et un seul.
affiliationClient Compte0,1 1,1
Association 1-1:
Une association A entre deux entités E et F est de cardinalité1-1 si une occurrence de E ne peut être associée qu’à uneoccurrence de F et réciproquement.
f. Cardinalités d’associations
f C di li é d’ i i
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 47/76
Association 1-N
Une association A entre deux entités E et F est de cardinalité
1-N si une occurrence de F peut être associée à plusieursoccurrences de E et qu’une occ. de E ne peut être associéequ’à une occ. de F.
fournitureProduit Fournisseur1,1 0,N
Un produit est fourni par un fournisseur et un seul; un fournisseur peut fournir un nombre qq de produits.
f. Cardinalités d’associations
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 48/76
Association N-MUne association A entre deux entités E et F est de cardinalité
N-M si une occurrence de E peut être associée à plusieursoccurrences de F et réciproquement.
commandeClient Produit0,N 0,M
Un client peut commander plusieurs produits; un produit peut être commandé par plusieurs clients.
f. Cardinalités d’associations
E tité f ibl
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 49/76
g. Entité faible
Entité faible = entité sans identifiant propre
Une entité faible n'existe qu'en référence à une autre entité diteentité identifiante
• l'association qui les unit est dite association identifiante
• l'entité faible a une contrainte de cardinalité 1,1 sur sonassociation identifiante
Ouvrage Exemplairematérialise
numOtitre
auteuréditeur
numEposition
date achat
1,N 1,1entité faible
identifiant partiel
entité identifiante
h S é i li ti
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 50/76
h. Spécialisation
Définition d'une relation de spécialisation entre une entitésuper-classe et plusieurs entités sous-classes
Secrétaire Ingénieur Technicien
d
Employé
numéro nom prénom adresse
vitesse_frappe spécialité grade
Une Spécialisation est
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 51/76
Une Spécialisation est …
C1 Cn
d
S
Disjointe partielle Disjointe totale
A recouvrement partiel A recouvrement total
C1 Cn
d
S
C1 Cn
S
C1 Cn
S
}=∩≠ ji C C ji ji ,,
∪ niiC S
,1==
Disjointe…
ou à recouvrement
Totale …
ou partielle
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 52/76
i. Contraintes d’intégritéBut : Spécifier des contraintes de la réalité perçue qui ne sont pasexprimables dans le modèle E/A.
• Contrainte d’intégrité (CI) : propriété que doivent satisfaire lesdonnées.
– CI statique : doit être vérifiée à tout moment.ex1 : date-de-mariage > date-de-naissance☺
ex2 : nom-de-jeune-fille, numéro-portable : attributs facultatifs
ex3 : nom, no-sécurité-sociale : attributs obligatoires– CI dynamique : tout changement d’état de la BD doit la respecter.
ex1 : l’attribut salaire ne peut que croître.
ex2 : le changement d’état civil doit respecter le graphe suivant :
célibataire mariédivorcé
veuf
2.2. Dictionnaire de données
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 53/76
2.2. Dictionnaire de données
Pour qu’un schéma E/A soit complet, il faut construire le dictionnaire dedonnées associé
chaque entité/association/attribut/CI est décrit par certaines propriétés
Pour une entité : Exemple
un nom Auteur
une définition "Un auteur a écrit au moins unlivre édité par un éditeur X"
une liste d’attributs {nom-aut, prénom-aut, ville-aut}
au moins un identifiant {nom-aut, prénom-aut}
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 54/76
2.2. Dictionnaire de données
Pour une association : Exemple
un nom Écriture une définition "L'écriture associe l'auteur aux livres
qu'il a écrits"
la liste des entités Auteur, Livre
participantes
éventuellement, les rôles Auteur écrit (1, N) Livre
et leur cardinalité Livre est écrit par (1,1) Auteur
la liste des attributs aucun
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 55/76
2.2. Dictionnaire de données
Pour un attribut : Exemple
un nom ville-aut une définition "Nom de la ville dans laquelle
réside un auteur." une structure
(atomique/composé, atomique, monovalué mono/mutivalué)
un domaine de valeurs chaîne de caractères alphabétiquesAttribut obligatoire
ou facultatif facultatif
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 56/76
2.2. Dictionnaire de données
Pour une contrainte d’intégrité : Exemple
un nom CI d'existence d'un mariage
les éléments de la CI association Mariage, attributs
âge et sexe de l'entité personne.
expression de la CI "Une occurrence del'association Mariage entre P1
et P2 n'est valide que siâge(P1)>18 et âge(P2)>18 etsexe(P1) ≠ sexe(P2)"
2 3 Exemple VPC complet
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 57/76
2.3. Exemple VPC completSpécifications du système d'informations• Les clients sont caractérisés par un numéro de client, nom,
prénom, date de naissance, rue, code postal et ville.• Les clients commandent des produits à une date donnée et
dans une quantité donnée.• Les produits sont décrits par un numéro de produit, libellé
et prix unitaire.• Chaque produit est fourni par un fournisseur unique• Un fournisseur peut fournir plusieurs produits• les fournisseurs sont décrits par un numéro de fournisseur
et leur raison sociale.
2 3 Exemple VPC complet
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 58/76
Démarche pratique pour produire un schéma E/A
1) Identifier les (types d') entités2) Identifier les (types d') associations entre les entités3) Identifier les attributs de chaque entité et de
chaque association4) Évaluer les cardinalités des associations.5) Exprimer les CI éventuelles.
Construire le dictionnaire de données avec soin
2.3. Exemple VPC complet
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 59/76
commandeClient Produit
numCli
nomprénomddnrue
CPville
numProdlibellépu
datequantité
fournit
Fournisseur
numFourraisonSoc
1,N
1,1
1,N
1,M
Schéma E/A de l'exemple VPC
Autre représentation graphique
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 60/76
p g p q
utilisée
commandeClientProduit
numClinomprénomddnrueCPville
numProd
libellépu
datequantité
fournitFournisseurnumFourraisonSoc
1,N
1,1
1,N
1,M
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 61/76
A vous : Construire un schéma E/AGestion d'une mini-bibliothèque
• Un ouvrage est caractérisé par un numéro identifiant, un titre, un auteur
et un éditeur.• Un ouvrage est aussi décrit par une liste de mots-clés numérotésprécisant les sujets qui y sont traités.• La biblio. dispose d'un ou plusieurs exemplaires de chaque ouvrage.L'exemplaire est identifié par un numéro et est caractérisé par sa positiondans les rayons et sa date d'achat.• Un exemplaire peut être emprunté par un lecteur pouvant en emprunterplusieurs.• Un lecteur est décrit par un numéro, son nom et son adresse.
Identification des entités
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 62/76
Identification des entités
Ouvrage
Exemplaire Lecteur
Mot-clé
Identification des associations + cardinalités
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 63/76
Ouvrage
Exemplaire Lecteur
Mot-clécaractérise
matérialise
emprunte
1,N 1,M
1,N
1,1
0,1 0,N
Affectation des attributs
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 64/76
Affectation des attributs
Ouvrage
Exemplaire Lecteur
Mot-clécaractérise
matérialise
emprunte
numOtitreauteuréditeur
numEpositiondate achat
numLnomadresse
numMsujet
date emprunt
1,N 1,M
1,N
1,10,1 0,N
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 65/76
BD et UML Parmi tous les diagrammes proposés par la
méthode UML, seul le diagramme de classespermet de modéliser les bases de données.
Les autres diagrammes ne seront donc pas
expliqués dans ce cours.
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 66/76
Entité, Classe Merise UML
Entité
IdentifiantAttribut 2
....Attribut n
Classe
Attribut 1Attribut 2....
Attribut n
Méthode
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 67/76
L'association Merise UML
Entite_2Entite_1
Lie
Classe_2Classe_1
Lie
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 68/76
Cardinalités, Multiplicités Merise UML
Cardinalités Lecture
0 , 1 Lien vers 0 ou 1
1 , 1 Lien vers 1
0 , n Lien vers 0 ou N
1 , n Lien vers 1 ou N
Multiplicités Lecture
0..1 Lien vers 0 ou 1
1 Lien vers 1
* Lien vers 0 ou plusieurs
1..* Lien vers 1 ou plusieurs
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 69/76
Les associations un à un Merise UML
Cardinalités Multiplicités
0 , 1 0 , 1 0 .. 1 0 .. 1
0 , 1 1 , 1 0 .. 1 1
1 , 1 1 , 1 1 1
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 70/76
Les associations un à plusieurs Merise UML
Cardinalités Multiplicités
0 , 1 0 , N 0 .. 1 *
0 , 1 1 , N 0 .. 1 1 .. *
1 , 1 0 , N 1 *
1 , 1 1 , N 1 1 .. *
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 71/76
Associations plusieurs à plusieurs Merise UML
Cardinalités Multiplicités
0 , N 0 , N * *
0 , N 1 , N * 1 .. *
1 , N 0 , N 1 .. * *
1 , N 1 , N 1 .. * 1 .. *
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 72/76
Exemple d'association Merise UML
Entite_2Entite_1
Lie
Classe_2Classe_1
Lie
1,N 0,1 0..1 1..*
ProfessionPersonne
Exerce0,1 0,N
ProfessionPersonne
* 0..1
Exerce
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 73/76
Association avec attributs Merise UML
Entite_2Entite_1
Lie
Attribut_1
Classe_2Classe_1
Lie
Classe_Asso
Attribut_1Classe-association
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 74/76
L'association ternaire Merise UML
Entite_2Entite_1Lie
Attributs
Min,Max Min,Max
Entite_3
Min,Max
Classe_2Classe_1Min,Max Min,Max
Classe_3
Min,Max
Cass_Asso
Attributs
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 75/76
L'association réflexive Merise UML
Entite_1
Lie
Attributs
Classe_1
Verbe_passif
Verbe_actif
7/23/2019 BD1_Bousmah
http://slidepdf.com/reader/full/bd1bousmah 76/76
Merci de votre attention