données
Mr Rida Ezzaoufi
Mr Abdelalim Sadik
Bibliographie
• Les bases de données, Gardarin
• Conception d’une base de données, Cyril Gruau
Comptabilité Chirurgie
Problèmes
Consultations Psychiatrie
Problèmes
Difficultés de gestion
Duhpon Duipont
Turlututu : sq
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Symptomes : yy Turlututudhjsd
Problèmes
Difficultés de gestion
Incohérence des données
Duhpon Duipont
Turlututu : sq
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Symptomes : yy Turlututudhjsd
uSof
Chir
Symptomes : y Symptom: yyyy
Turlututu : sqj Analyses xxxx
t
Analyses : xxx Analyses :xx
Question ⇒développement
Problèmes
Difficultés de gestion
Incohérence des données
Coûts élevés
Maintenance difficile
Duhpon Duipont
ltSoft
Consu
Psychi
aSoft
Turlututu : sq
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Symptomes : yy Turlututudhjsd
uSof
Chir
Symptomes : y Symptom: yyyy
Turlututu : sqj Analyses xxxx
t
Analyses : xxx Analyses :xx
Question ⇒développement
Redondance de code
Problèmes
Difficultés de gestion
Incohérence des données
Coûts élevés
Maintenance difficile
Duhpon Duipont
ltSoft
Consu
Psychi
Turlututu : sq
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Symptomes : yy Turlututudhjsd
uSof
Chir
Symptomes : y Symptom: yyyy
Turlututu : sqj Analyses xxxx
t
Analyses : xxx Analyses :xx
Question ⇒développement
Redondance de code
Problèmes
Difficultés de gestion
Incohérence des données
Coûts élevés
Maintenance difficile
Duhpon Duipont
ltSoft
Consu
Psychi
Turlututu : sq
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Symptomes : yy Turlututudhjsd
Partage des données ???
uSof
Chir
Symptomes : y Symptom: yyyy
Turlututu : sqj Analyses xxxx
t
Analyses : xxx Analyses :xx
Question ⇒développement
Redondance de code
Problèmes
Difficultés de gestion
Incohérence des données
Coûts élevés
Maintenance difficile
Duhpon Duipont
ltSoft
Consu
Psychi
Turlututu : sq
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Symptomes : yy Turlututudhjsd
Partage des données ???
Confidentialité ???
2008/2009 Introduction aux Base de Données 11
L’approche ‘‘Bases de données’’
• Modélisation des données
Eliminer la redondance de données
Centraliser et organiser correctement les données
Plusieurs niveaux de modélisation
Outils de conception
• Accès aux données : L’accès aux données se fait par l’intermédiaire d’un
Langage de Manipulation de Données (LMD). Il est crucial que ce langage
permette d’obtenir des réponses aux requêtes en un temps « raisonnable ».
• Non redondance des données : Afin d’éviter les problèmes lors des mises
à jour, chaque donnée ne doit être présente qu’une seule fois dans la base.
• Sécurité des données : Les données doivent pouvoir être protégées contre
les accès non autorisés. Pour cela, il faut pouvoir associer à chaque
utilisateur des droits d’accès aux données.
• Indépendant du
Modèle modèle de données
conceptuel • Indépendant du
SGBD
Médecin effectue Visite
numéro position
• Compte
Tahiri 23 rue Zerhoune rabat Alaoui 12 rue oujda casa Alami 13 rue sabou Sale
Tahiri 23 rue Zerhoune rabat Alaoui 12 rue oujda casa Alami 13 rue sabou Sale
Modèle Systèmes
RÉALITÉ
Entité-Relation Relationnels
modeling mapping
Introduction aux Base de
24 2008/2009
Données
Entités et ensembles d'entités
• Entité
– "une chose" qui existe et qui peut être distinguée de façon unique. Ex.: un
étudiant, une voiture, une banque
– abstraite ou concrète
• Ensemble d'entités
– Une collection d'entités similaires, ayant les mêmes propriétés, identifiées
par l’ "organisation" ("entreprise" en sens large) comme ayant une vie
propre
Ex.: les étudiants d'une université, les comptes d'une banque, les entreprises
d'un pays, les voitures d'une société de location …
ty Représentation
n°s p mar sous forme de
érie voitures
e que diagramme
ty n no
n°s p mar ° m_
érie voitures
e que d département
d
n° nom n tit
u _u ° re
université délivre diplôme
d
inscription
n nom
° _e
étudiant préno
e
me
Introduction aux Base de
28 2008/2009
Données
Ensemble de relations
• La "valeur" d'une relation est l'ensemble des listes des
entités réellement associées par la relation. Chaque liste est
obtenue en correspondance des ensembles d'entités en
relation.
Exemple: valeur de la relation "délivre"
- l'université identifiée par u1
n°u n°d
délivre les diplômes identifiés
u1 d2
par d2, d3 et d5,
u1 d3
…
u1 d5
l'université identifiée par u100
…. …
délivre les diplômes identifiés
u100 d1
par d1 et d2
u100 d2
Introduction aux Base de
29 2008/2009
Données
Ensemble de relations (2)
• Soit r une relation entre k ensembles d'entités E1, E2, …, Ek. Un ensemble
d'entités peut apparaître plus d'une fois dans la liste.
n° nom
_p n°p n°e n°r
p p1 e2 r1
projet n desc
p1 e3 r2
° r_r
p1 e5 r3
participe r rôle
… … …
n p2 e2 r2
° employé préno p2 e3 r1
nome m_e
_e
Introduction aux Base de
31 2008/2009
Données
Exercices
A r B
r A r
A B
C
(1) (2)
(3)
E1 r
E2
n nom_e n tit
° ° re
employés par p projets
e
tici
pe
(n-m)
employés projets
n no n°s ty
° m_f érie p
fabriquants pr voitures
e
f
od
uit
(1-n) fabriquants voitures
n no n°p date_emi
° m_ ass ssion
personnes
p po passeport
p
ss
èd
(1-1)
e personnes passeports
A r B
n dat no
n
° e_c m_
°
commande con p
produit
c p
cer
ne
quan
tité
A r B
(4)
Min Max
0 1
1 n
n no ty n°s
° m_f p érie
1,n pr 1,1
f fabriquant voitures
e
od
uit
(1-n)
n nom_ tit n
° e 0,n 1,n re °
employé par projet p
e
tici
(n-m)
pe
est composée de
n°pi
èce 0,n
quantité
nom_p pièce
0,n
compose
n° nom
p _p
projet
1,n n desc
° r_r
participe 0,n
r rôle
n 0,n
° employé préno
nome m_e
_e
n 1,1 0,n
a x
° segments rr
s orientés points
1,1 iv
p 0,n y
e
a
r Introduction aux Base de
47 2008/2009
t Données
Héritage
• Relation entre une entité (classe) et une sous-classe qui nécessite
d’être représentée dans un modèle de données
• Par rapport à l'ensemble d'entités plus général, la sous-classe
– contient moins d'éléments
– ses éléments ont des propriétés supplémentaires ou participent
de relations supplémentaires
employés
véhicules
motos avions
pilotes
voitures
cami
ons
Introduction aux Base de
48 2008/2009
Données
Relations is-a
• Relation Is-a ou Est-un: relation binaire
• Induit une relation d'ordre entre les entités
– Généralisation / Spécialisation
• Représentations graphiques
– A généralisation de B et C ; B et C spécialisations
de A A A
Multiplicité ?
Cardinalités ?
is a is a
is a is a
B C B C
domaine
d'activité
industrie raison_s
n l ociale
client
°
c
no
particulier
adre m
sse prén
profes om
sion
est
Homme 1,1 marié 1,1 Femme
marié à mariée
0,n r 0,n
A B
(5)
1,1 départemen
Modifier le modèle ci- t
contre dir 1,n
pour générer des nom
0,1
ig
appa
e
participations totales n°e rtien
1,1
grâce à des relations employé
t
d’héritage 0,1
0,1
trav
est aill 1,n
responsab e
le n°p
1,n projet
libellé
budget
code_t
n 1,1 1,n Type_contra ype
contrat Est
° t
de libellé_
c
date_sign type type
ature
contrats Type_contrats
code_t
n 1,1 1,n Type_contra ype
contrat Est
° t
de libellé_
c
date_sign type type
ature
Exercice:
Esquisser un modèle E-R pour l'exemple ci-dessous
clients industriel
s
particulier type_clients
s
acti
code_type_client vité
n industrie raison_so
° l ciale
type_client Est
c client
de
type no
remise_type_client adre particulie m
sse r prén
profes om
sion
La remise accordée aux clients dépend du type de client,
par exemple: 10% à tous les particuliers, 20% à tous les industriels
1,n
descr_modèle_
comprend moteur
n°modèl 1,n
e_ph phares
descr_modè
le_ph
1,1 1,n
CHAMBRE Situer HOTEL
n dat no
n
° e_c m_
°
commande con p
produit
c p
cer
ne
quan
tité
Patients
Id-P Nom Prénom Ville Médicaments
1 Lebeau Jacques Paris Id-M Nom Description
2 Troger Zoe Evry 1 Aspegic 1000 ……………………………..
3 Doe John Paris 2 Fluisédal ……………………………..
4 Perry Paule Valenton 3 Mucomyst ……………………………..
…. ……. ……. ……. …. …….. ……………………………..
2008/2009 Introduction aux Base de Données 67
Modèle relationnel
70
2008/2009 Introduction aux Base de Données 70
Identifiant ou Clé
• 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
• Un identifiant peut être constitué de plusieurs attributs (clé
composée)
– Exemple:
• [N° , Rue, Ville] pour Maisons
• [Nom, Prénom] pour Personnes
71
2008/2009 Introduction aux Base de Données 71
Domaines
• Ensemble nommé de valeurs
– Un attribut peut prend valeur dans un domaine
– Généralisation des types élémentaires
• Exemples
– Liste de valeurs (1,2,3)
– Type contraint (<0< int <100)
• Permettent de préciser les valeurs possibles des attributs
• Réduisent les ambiguïtés
72
2008/2009 Introduction aux Base de Données 72
Modélisation Relationnelle (1)
Champs,
Relation ou attributs,
table colonnes
Tuples, lignes
ou n-uplets
2008/2009 Introduction aux Base de Données 73
Opérations Ensemblistes
• Opérations pour des relations de même schéma
– UNION notée ∪
– INTERSECTION notée ∩
– DIFFERENCE notée —
• Opérations binaires
– Relation X Relation --> Relation
• Extension
– Union externe pour des relations de schémas différents
– Ramener au même schéma avec des valeurs nulles
74
2008/2009 Introduction aux Base de Données 74
Projection
• Elimination des VINS Cru Mill Région Qualité
75
2008/2009 Introduction aux Base de Données 75
Restriction
• Obtention des tuples de R satisfaisant un critère Q
• Relation ->Relation, notée σ Q(R)
• Q est le critère de qualification de la forme :
– Ai θ Valeur
– θ = { =, <, >=, >, <=, !=}
76
2008/2009 Introduction aux Base de Données 76
Exemple de Restriction
σ MILL>1983
77
2008/2009 Introduction aux Base de Données 77
Jointure
• Composition des deux relations sur un domaine commun
• Relation X Relation ->Relation
– notée
• Critère de jointure
– Attributs de même nom égaux :
• Attribut = Attribut
• Jointure naturelle
– Comparaison d'attributs :
• Attribut1 Θ Attribut2
• Théta-jointure
78
2008/2009 Introduction aux Base de Données 78
Exemple de Jointure
VINS Cru Mill Qualité
VOLNAY 1983 A
VOLNAY 1979 B
CHABLIS 1983 A
JULIENAS 1986 C
79
2008/2009 Introduction aux Base de Données 79
Complétude
• L'algèbre relationnelle est complète
– Les cinq (sept) opérations de base permettent de
formaliser sous forme d'expressions toutes les questions
que l'on peut poser avec la logique du premier ordre
(sans fonction).
• Exemple :
– Nom et prénom des buveurs de volnay 1988 ?
PROJECT (NOM, PRENOM,
RESTRICT(CRU="VOLNAY" et MILL =1988,
JOIN(VINS, ABUS, BUVEURS)))
80
2008/2009 Introduction aux Base de Données 80
CONCEPTION D’UNE BASE DE
DONNÉES
– Nous avons du mal à prévoir les tables de jonction intermédiaires (par exemple, la
table des interprétations qui est indispensable entre les tables des films et table des
acteurs)
1. Le niveau conceptuel :
Il consiste à répondre à la question QUOI ?
Quoi faire, avec quelles données ?
A ce niveau, on ne se préoccupe pas de l’organisation du travail ni du matériel utilisé.
Les deux modèles sont le Modèle conceptuel des données (MCD) et le Modèle
conceptuel des traitements (MCT).
2. Le niveau organisationnel :
Il consiste à répondre à la question QUI ?, OU ?, QUAND ?
C’est à ce niveau que sont intégrés les critères d’organisation de travail.
On tient compte (ou on propose) des choix d’organisation de travail comme la répartition
des traitements entre l’homme et la machine, le mode de fonctionnement (temps réel,
temps différé).
a Société
Employé
1,1 1,n
compose Produit
Commande
1,n quantité Entier 0,n
Langue
Etudiant 0,n
parle
1,n
0,n
Niveau
0,n
appartient
1,1
OUVRAGE AUTEUR
écrit 0,n
0,n
0,n
0,n
1,n
vend édite stocke
0,n
0,n
0,n LIBRAIRIE
EDITEUR
Ces règles s'appliquent aussi bien pour les associations "réflexives" (Cas 3).
Pour les associations de dimension "3" ou plus, elles sont toujours transformées en
table (Cas 4).
2ème cas :
4eme cas :
• Notion de classe
– Ensemble d’objets de comportements et de structure de données commun
Exemple
une personne, une voiture, une maison, ...
Méthodes Démarrer ()
Arrêter()
actions que l'objet est à même de réaliser Rouler()
Notation
un objet est une instanciation (occurrence) d'une classe
Démarrer ()
Arrêter()
Rouler()
Renault-Clio-17 Peugeot-206-75
5323454 : Numéro de série 3434 : Numéro de série
1500 kg : Poids 1700 kg : Poids
64 YFT 17 : Immatriculation 8634 YGG 75 : Immatriculation
23 000 : kilométrage 15 000 : kilométrage
Publique (+)
les classes peuvent accéder aux données et
méthodes d'une classe définie avec le niveau
de visibilité public Nom_de_la_class
e
# Attribut1 : Type
- Attribut2 : Type
Protégée (#): l'accès aux données est …
réservé aux fonctions des classes héritières + méthode1 ()
Méthode2 ()
…
Privée (-): l'accès aux données est limité
aux méthodes de la classe elle-même
Héritage
Association
Contenance
Principe
classe dérivée contient les attributs et les méthodes de sa superclasse
Spécialisation Généralisation
étendre les propriétés factoriser les propriétés
d'une classe, sous groupe de classes sous
forme de sous-classes forme de super-classe
Restriction de la navigabilité
• Le service de contravention Navigable
est associé à une ou plusieurs
voiture(s)
• La voiture ne connaît pas service
de contravention
Nom de l’association
lien sémantique entre les classes
La personne achète la voiture
La voiture est achetée
Professeur
Symbole d’association
Salle Etudiant
Attention
difficiles à déchiffrer
Exemples:
• Une voiture a 4 roues
• Un dessin contient un ensemble de figures géométriques
• Une présentation PowerPoint est composé de transparents
• Une équipe de recherche est composée d’un ensemble de personnes
Propriétés de l’agrégation
• La suppression de A n’implique pas la suppression de B
• L'élément agrégé peut être partagé
Exemples :
• L’enseignant est un composant
d’une (ou plusieurs) équipe de
recherche d’un seul département
• La disparition d’une équipe de
recherche n’entraine pas la
disparition d’un enseignant
Exemple:
« Une présentation PowerPoint est composé de transparents »
Composantes Logique
Use-Case
Répartition Concurrence
• Vues dynamiques
– Les diagrammes de séquence
– Les diagrammes de collaboration
– Les diagrammes d’états-transition
– Les diagrammes d’activités
• Les diagrammes de classes : Une description statique des relations entre les classes.
• Les diagrammes d’objet : Une description statique des objets et de leurs relations. Une
version « instanciée » du précédent.
Ajouter
DesBillets Transporteur
ConsulterSonCompte
Client DeBillets
FaireUnVirement
Assurer
Technicien
LaMaintenance
DistributeurDeBillet
Compte Banque
1..4 0..* 1..* 1..*
Client numéro
titulaires numéro
solde nom
1 signataire ... 0..*
1 Consortium
CarteBleue
0..* 0..1 1
Code
retraitMax AcceptéPar> 0..*
Distributeur
1..*
titulaires
med : Client c4 : Compte : Banque : Consortium
: CarteBleue
signataire
titulaires
omar : Client c2 : Compte : Consortium
titula
ires
titulaires
maria : Client c3 : Compte : Banque
signataire
: CarteBleue
EstAcceptéPar>
sophia : Client : Distributeur
EstAcceptéPar>
Package
Dépendance
Application Application
Saisie Commandes Publipostage
Commandes Clients
émetteur 1 Contrôleur
BoitierEmission trajets
récepteur 1 Télécontrôle
BoitierRéception
<<S1SLT>>
Serveur Palm
distributeur
<<tcpip>>
ServeurWeb
<<https>> PC
code bon
montant correct
billets retirés
En distribution
Se renseigner
Etablir un devis
Commander
Facturer
Payer Livrer
retirer 500 dh
lire n° compte
débiter 500 dh
confirmer
la reserve
le distributeur la banque
5 : confirmer
paul
2 : lire n° de compte
le compte de omar
la carte de O.