17/01/2014
M2203 Bases de donnes
Cours 1
Introduction, modle entit-relation
Philippe Gambette
Organisation pratique
Contact
- Courriel : philippe.gambette@gmail.com
(M2203 doit apparatre dans le sujet du courriel).
- Avant ou aprs le cours.
- Possibilit de poser des questions, de demander des exercices
supplmentaires d'entrainement.
Enseignants
Cours par Philippe Gambette, TD par Thanh-Long Dang
Notes et devoirs
- QCM ( le retour) : ncessit de relire le cours au moins chaque veille
de cours et de TP/TD
- ventuellement une note de travail la maison
- devoir final le 11 juin a priori
Sources
Cours de Tony Grandame l'IUT de Marne-la-Valle en 2010-2011
Cours de Mathieu Mangeot, IUT de Savoie
http://jibiki.univ-savoie.fr/~mangeot/Cours/BasesDeDonnees.pdf
Cours de Fabrice Meuzeret, IUT de Troyes
http://195.83.128.55/~fmeuzeret/vrac/
Livre de Laurent Audibert : Bases de donnes - de la modlisation au SQL
Version partielle sur :
http://laurent-audibert.developpez.com/Cours-BD/html/index.php
Plan
Introduction aux bases de donnes
Le modle relationnel : entits et attributs
Le modle relationnel : relations et cardinalit
Choix de modlisation
Dfinitions
Base de donnes
Une base de donnes est un lot d'informations stock dans un dispositif
informatique.
Systme de gestion de bases de donnes
Un systme de gestion de bases de donnes (SGBD) est un module
informatique charg de grer les donnes en en permettant la cration,
la modification, la suppression et la lecture.
Exemples
Critiques de films
Avis cinma de Monique Pantel
(http://monique.pantel.free.fr)
Films, articles.
Objectifs
indpendance : la BD est un module dissoci du systme d'information,
le format des donnes est indpendant du systme.
accs : la BD gre les accs aux donnes en grant les accs
concurrentiels.
cohrence : la BD assure l'intgrit des donnes.
scurit : la BD gre les accs aux donnes en fonctions des utilisateurs.
administration : la BD peut tre administre au sauvegarde de faon
autonome.
http://fr.wikipedia.org/wiki/Arbre_de_Porphyre
hirarchique
hirarchique
Base relationnelle
Stocke les informations dcomposes et organises dans
des matrices appeles relations ou tables.
Base objet
Stocke les informations groupes sous forme de
collections d'objets persistants.
rseau
Base XML
S'appuie sur le modle de donnes fourni par XML.
relationnelle
Base XML
S'appuie sur le modle de
donnes fourni par XML.
http://academic.research.microsoft.com
Plan
Introduction aux bases de donnes
Le modle relationnel : entits et attributs
Le modle relationnel : relations et cardinalit
Choix de modlisation
Le modle relationnel
L'entit
Concept concret ou abstrait du
monde modliser.
Prsentation :
Nom
Exemple :
Personne
Le modle relationnel
L'attribut
Donne lmentaire qui sert
caractriser les entits (et les
associations).
Les attributs sont lists dans
l'entit.
Prsentation :
Nom
Attribut 1
Attribut 2
....
Attribut n
Exemple :
Personne
Nom
Prenom
Date_naiss
Le modle relationnel
L'identifiant (ou cl)
Attribut(s) particulier(s)
permettant d'identifier chaque
occurrence d'une entit.
Les attributs servant d'identifiant
sont souligns.
Prsentation :
Nom
Identifiant
Attribut 2
....
Attribut n
Exemple :
Personne
Nom
Prenom
Date_naiss
Personne
ID
Nom
Prenom
Date_naiss
Le modle relationnel
L'occurrence
lment particulier d'une entit
(ou d'une association).
L'occurrence ne fait pas partie du
modle relationnel mais est
explique ici pour mieux
comprendre l'entit.
Prsentation :
Nom
Identifiant
Attribut 2
....
Attribut n
Exemple :
ID
Nom
Prnom
Date_naiss
Cartman
Eric
01/05/2002
Kyle
05/60/2003
Stanley
15/07/2001
NomBroflovski
Prenom
3Date_naiss
Marsh
2
4
MacCormick
Kenny
26/08/2002
Stotch
Butters
11/09/2002
Entit
Identifiant
Attributs
Nom
Occurences
Identifiant
Champ_1
Champ_2
Champ_N
id_val_a
ch_1_a
ch_2_a
ch_N_a
id_val_b
ch_1_b
ch_2_b
ch_N_b
id_val_c
ch_1_c
ch_2_c
ch_N_c
id_val_d
ch_1_d
ch_2_d
ch_N_d
id_val_e
ch_1_e
ch_2_e
ch_N_e
Plan
Introduction aux bases de donnes
Le modle relationnel : entits et attributs
Le modle relationnel : relations et cardinalit
Choix de modlisation
L'association ou relation
L'association binaire
Les cardinalits
Association un un
Association un plusieurs
Association plusieurs plusieurs
Association plurielle
Association N-aire
Association rflexive
Les relations
L'association binaire
Permet de relier deux
entits entre elles.
Prsentation :
Entite_1
Lie
Attributs
Entite_2
Exemple :
Personne
Profession
Exerce
date_origine
Les relations
Les cardinalits
Couple de valeurs indiqu
l'extrmit de chaque lien
d'une association.
Prsentation :
Entite_1
Entite_2
Min,Max
Lie
Attributs
Min,Max
La cardinalit minimum
indique le caractre
optionnel (0) ou obligatoire
(1) de la relation.
La cardinalit maximum
indique le caractre unique
(1) ou multiple (n) de la
relation.
Exemple :
Personne
Profession
0,1
Exerce
date_origine
0,n
Les relations
Les cardinalits
Couples de cardinalits possibles Associations selon les cardinalits maximum
Entite_1 Entite_2 Lecture
Card.
Lecture
0,1
Lien vers 0 ou 1
Association 1 1
1,1
Lien vers 1
Association 1 plusieurs
0,n
Lien vers 0 ou n
Association 1 plusieurs
1,n
Lien vers 1 ou n
Association plusieurs
plusieurs
Les relations
L'association un un
Est caractrise par des
cardinalits maximales 1.
Prsentation :
Entite_1
Entite_2
Min,1
Lie
Attributs
Min,1
Exemple :
Personne
Profession
0,1
Exerce
date_origine
0,1
Les relations
L'association un plusieurs
Est caractrise par une
cardinalit maximale 1 et
une cardinalit maximale
n.
Ici, une personne exerce au
plus une profession et une
profession peut tre
exerce par aucune ou
plusieurs personnes.
Prsentation :
Entite_1
Entite_2
Min,n
Lie
Attributs
Min,1
Exemple :
Personne
Profession
0,1
Exerce
date_origine
0,n
Les relations
L'association plusieurs
plusieurs
Prsentation :
Entite_1
Entite_2
Min,n
Lie
Attributs
Min,n
Exemple :
Personne
Profession
0,n
Exerce
date_origine
0,n
Les relations
L'association plurielle
Deux entits peuvent tre
lies par plusieurs relations.
Prsentation :
Entite_1
Lie
Entite_2
Lie
Exemple :
Personne
Exerce
Enseigne
Profession
Les relations
L'association n-aire
Il est possible d'associer
autant d'entits que
ncessaire.
Prsentation :
Entite_1
Min,Max
Lie
Min,Max
Entite_3
Attributs
Min,Max
Entite_2
0,n
Enseigne
Jour
Heure
0,n
Universite
0,n
Matiere
Les relations
L'association rflexive
L'association rflexive
permet d'associer une
entit elle-mme.
Prsentation :
Entite_1
Lie
Attributs
est_parent
Plan
Introduction aux bases de donnes
Le modle relationnel : entits et attributs
Le modle relationnel : relations et cardinalit
Choix de modlisation
Choix de modlisation
Il n'existe pas de modle de donnes idal.
Le modle doit correspondre un besoin prcis.
Il est indispensable que chaque dcision, chaque faon de faire soit
rflchie.
En cas de multiples possibilits, il faut s'assurer que le fonctionnement mis
en place rpondra au besoin.
Risques
Il peut tre tentant de crer un modle le plus gnraliste possible.
Attention toutefois ce type de modles qui mneront des bases de
donnes trop complexes.
Les performances seront alors moindres et les fonctionnalits mises en place
pas forcment utilises.
Choix de modlisation
Une base donnes doit permettre de stocker toutes les informations
ncessaires son utilisation.
Toute la complexit rsidedans l'organisation de ces attributs.
Toute redondance est interdite.
Il faut essayer de crer un modle la fois volutif mais aussi suffisant pour
le besoin.
Choix de modlisation
Utiliser un attribut dans l'entit ou crer une association ?
Personne
ID
Nom
Prenom
Adresse
CP
Ville
Personne
OU
ID
Nom
Prenom
Adresse
0,1
Reside
date_debut
date_fin
0,n ID
Voie
CP
Ville
Choix de modlisation
Choix des cardinalits ?
Personne
ID
Nom
Prenom
Adresse
0,1
Reside
date_debut
date_fin
Personne
ID
Nom
Prenom
0,n ID
Voie
CP
Ville
Adresse
1,n
Reside
type
date_debut
date_fin
0,n ID
Voie
CP
Ville
Usages
Pour nommer les entits et les attributs, il est interdit d'utiliser espaces et
accents.
Les relations sont nommes par des verbes la forme active ou passive.
Attention la casse, certaines bases de donnes y sont sensibles, d'autres
non. Il est donc frquent de devoir appliquer une normalisation propre
l'entreprise.
Nous appliquerons dans ce cours, pour les attributs et entits, la rgle :
premire lettre majuscule puis minuscules.
Aberrations
Toute rptition d'entit doit tre supprime.
Les relations binaires un pour un ne doivent pas apparatre dans un modle
E-A mais si nous verrons qu'elles existent frquemment dans un modle de
donnes.
Les relations n-aires sont souvent complexes comprendre et interprter.
Il faut donc toujours se demander si celles-ci sont indispensables.
Exercice 1 Le restaurant
Un restaurant veut pouvoir grer son stock de faon automatique en
fonction des commandes passes. Ainsi chaque plat de la carte est associ
aux ingrdients. Lorsqu'un client commande un plat, on doit donc pouvoir en
dduire les ingrdients consomms et ainsi connatre le stock.
Q1. De quelles informations avons-nous besoin pour grer la demande ?
Q2. Quelles sont les entits? Quels sont les attributs ?
Q3. Dessinez le schma entit-association qui correspond un systme de
gestion automatique du stock d'un restaurant