Vous êtes sur la page 1sur 47

Plan du cours

1- Introduction

2- Le modèle Entité/Association

3- Le modèle relationnel

4- Normalisation d’un schéma relationnel

5- L’algèbre relationnel

6- SQL
2
Plan du cours

1- Introduction

2- Le modèle Entité/Association

3- Le modèle relationnel

4- Normalisation d’un schéma relationnel

5- L’algèbre relationnel

6- SQL
3
Pour construire une base de données, il faut
1. Construire un schéma conceptuel, modélisé sous forme d’entités et d’associations
2. Transformer le schéma E/A en schéma relationnel
3. Mettre en œuvre via un SGBD

Interview Modélisation
Documents Entité association

Schéma conceptuel en MCD


Entité-Association

Transformation
en relationnel

Schéma logique
en relationnel
4
le processus de modélisation des données passe par deux
phases :

• Réalisation d’un modèle conceptuel


– Annalyse du problème réel
– Définit les données à utiliser
– Définit les relations entre les données
–  travail réalisé par des spécialistes de l’analyse
– S’exprime dans un formalisme (par exemple : E/A)

• Traduction en un modèle relationnel

5
• Un schéma conceptuel représente :
– Les faits et les évènements qui décrivent le monde à
modéliser. Exemple : une compagnie aérienne, ses avions
et ses pilotes.
– Certaines contraintes. Exemple : un pilote ne doit exercer
que s’il détient une licence en cours de validité et une
qualification correspondant au type d’avion.

• Les différentes techniques de MCD :


– Entité-Association (en anglais E-R pour Entity Relationship)
– Modèle binaire
– Modèle Z

6
7
1. Définition : C’est un Formalisme graphique pour la
modélisation de données

2. Origine : Travaux de Chen (USA), Tardieu(France),


en 74/75
3. Son succès est dus à :
o langage graphique
o concepts simples :
— Choses (objets)->entités
— liens entre les choses (objets)-> association

8
Le modèle Entité-Association est un modèle de données de
type conceptuel basé sur 3 éléments essentiels :

a) L’entité

b) L’association

c) La propriété

9
C’est un concept :
- pourvu d'une existence propre
- conforme aux besoins de gestion de l'entreprise

Elle peut représenter une notion concrète : CLIENT


ou une notion abstraite : PORTEFEUILLE D'ACTIONS

Synonymes : INDIVIDU, OBJET

Formalisme

10
4 entités : FILMS, CINEMA, ACTEURS, REALISATEURS

11
C’est un lien sémantique entre deux ou plusieurs entités.

Exemple : woody allen a joué dans “ Coups de feu sur brodway ”


Tannenbaum a écrit l’ouvrage Réseaux Informatique

Le lien n'est pas orienté : les commandes comportent des produits veut dire
également que les produits peuvent être commandés.

Souvent nommé par un verbe ou un substantif.

Synonyme : RELATION

Formalisme graphique

12
Dimension : La dimension d’une association est le nombre
d’entités participant à l’association.
Exemple : L’association Ecrit_Par est de dimension deux (binaire)

Exemple : L’association Est_Marié_A est de dimension deux


(binaire réflexive)

Exemple : L’association A_Vendu_A est de dimension trois


(ternaire)

13
Type de liaison inter-entités
 Liaison de type 1 à 1 : A toute occurrence de X correspond une et
une seule occurrence de Y et réciproquement.

 Liaison de type 1 à plusieurs (1 à n) : A toute occurrence de X


correspond une ou plusieurs occurrences de Y et à toute occurrence
de Y une seule de X.

 Liaison de type plusieurs à plusieurs (n à m) : A toute occurrence


de X correspond une ou plusieurs occurrences de Y et
réciproquement.

14
La notion de cardinalité minimum/maximum est liée aux types de
liaison inter-entités. Les cardinalités consistent en deux nombres, min
et max tel que :

 La cardinalité minimum est le nombre minimum d’occurrences


d’une entité X dans l’association considérée.

 La cardinalité maximum est le nombre maximum d’occurrences


d’une entité dans l’association

min et max sont deux entiers tels que


– max≥min,
– min≥0,
– max≥1.

15
Les valeurs de cardinalités sont en général 0, 1 ou n:

 La cardinalité minimum à 0 veut dire que certaines occurrences de l’entité


X ne sont pas impliquées dans une occurrence de l’association.

 La cardinalité minimum à 1 veut dire qu’une occurrence de l’entité X ne


peut exister sans participer à une occurrence de l’association.

 La cardinalité maximum à 1 veut dire que toute occurrence de l’entité X ne


peut participer au plus qu’à une occurrence de l’association.

 La cardinalité maximum à n veut dire qu’une occurrence de l’entité X peut


être impliquée dans un maximum de n occurrences de l’association.

16
 L’expression de la cardinalité est obligatoire pour chaque
association.
 Il ne peut y avoir de cardinalité maximale égale à 0, car elle
rendrait l’association inutile.
 Une cardinalité minimale est toujours 0 ou 1 et une
cardinalité maximale est toujours 1 ou n.
 Si une cardinalité est connue et vaut 2 ou plus, alors nous
considérons qu’elle est indéterminée et vaut n.
 Les seules cardinalités admises sont :
– 0,1
– 0,n
– 1,1
– 1,n

17
18
La propriété est définie comme étant une donnée élémentaire :
– ayant un sens,
– pouvant être utilisée de manière autonome.
– Sert à décrire les entités et les associations.
Exemples : NomEtudiant, TitreCours, NbEnfants
Synonyme : ATTRIBUT
Une propriété peut être:
- atomiques. Ex: Prénom, nom, ...
- composés. Ex: Date de Naissance (Jour/Mois/Année)

19
20
Les propriétés prennent des valeurs appelées
occurrences de la propriété.

Propriété Occurrences
NomEtudiant Dupont, Martin
AnnéeSouscription 1988, 1989

21
Exemple d’entité avec ses valeurs d’attribut:

22
• Objectif : chaque occurrence doit pouvoir être repérée de manière
unique et sans ambiguïté, pour être distinguée de toutes les autres

• Identifiant : propriété ou groupe de propriétés dont la valeur identifie


sans ambiguïté une entité ou une liaison d’une classe (identifiant=clé
primaire).

• Identifiant d ’une entité :


– Attributs ou groupe d’attributs qui permet de repérer une occurrence de
manière unique. On souligne l’identifiant.
– Un seul identifiant.
– On privilégie l’identifiant le plus court, le plus naturel (n°bon de commande,
n° étudiant,…)
– On peut créer un identifiant artificiel par commodité. Dans le cas de notre
exemple il est intéressant de créer un identifiant artificiel pour chaque entité
– Identifiant non variable dans le temps.

23
1. Une propriété ne peut pas figurer sur deux objets différents

2. Une entité possède au moins une propriété (son identifiant :


par exemple le N° de commande)

3. Une association peut ne pas avoir de propriété

24
Il peut exister plusieurs associations entre les mêmes entités.
Une association peut être réflexive, c’est-à-dire qu’elle relie une entité à elle-même.

25
Concevoir un schéma EA pour une base de données de gestion d’un
hypermarché. Dans ce diagramme, sont représentés 4 entités:
- Employé, d'attributs nom et salaire;
- Rayon, d'attributs nomR et étage;
- Article, d'attributs nomA et type;
- Fournisseur, d'attributs nomF et adresse.

Ces entités sont reliées par les associations suivantes:


- Livraison, d'attribut quantité, liant Fournisseur, Article et Rayon;
- Vente, d'attribut quantité, liant Rayon et Article;
- Emploi, liant Employé et Rayon;
- Chef, cyclique, liant Employé (avec le rôle Inf) et Employé (avec le
rôle Sup).

26
27
On introduit des spécialisations dans une entité
lorsque :

Certaines propriétés n’ont pas de sens pour


l’ensemble des occurrences de cette entité.

Le lien (association) entre deux entités n’a de


sens que pour certaines occurrences de ces
entités.
28
• La généralisation est le procédé par lequel on factorise les
attributs communs d’entités de même nature.

• Dans le même ordre d’idée, la spécialisation est le procédé


inverse permettant de préciser des caractéristiques
particulières à des entités similaires mais différentes.

• Ces deux procédés sont à la base de la notion plus large


d’héritage.

• Correspond souvent à la structure : EST UN

29
Exemple : La gestion d’un contrat d’assurance du point de vue
de son souscripteur, de ses assurés et de ses
intervenants (courtiers, agents).

30
A partir de l’entité PersPhysique, on a envie de distinguer (dans deux entités
spécialisées) deux sous-populations : les souscripteurs de contrat et les assurés.
L’héritage est non exclusif: certaines personnes peuvent être à la fois souscripteurs et
assurés.

Dans ce modèle avec entités spécialisées, toutes les occurrences d’assurés


et de souscripteurs sont concernés par les associations (cf cardinalités). 31
Par généralisation des entités Intervenant et PersPhysique, on peut identifier une
entité générique Personne.
Cette fois-ci, l’héritage est exclusif (symbolisé par une croix) : les intervenants sont
considérés en tant que personnes morales et les autres (souscripteurs et assurés) sont
considérés en tant que personnes physiques.

32
Le modèle Entité/Association est simple et pratique.
1. Il n’y a que 3 concepts : entités, associations et attributs.
2. Il est approprié à une représentation graphique intuitive,
même s’il existe beaucoup de conventions.
3. Il permet de modéliser rapidement des structures pas trop
complexes.

Inconvénients :
1. non-déterminisme
2. Pauvre en contraintes et en structures complexes

33
• Associations binaires ou associations n-aires

• Problème : Soit A, B, C trois entités. Si A,B,C sont


liées on peut souvent choisir de représenter cette
« liaison » de manières différentes.
– Par exemple on peut choisir de définir trois
associations R1, R2, R3, ou bien d’en
– définir une seule R4(A,B,C).
– Comment choisir entre ces différentes solutions?

34
• Comment représenter des données sur les inscriptions
– 1 enseignant enseigne une ou plusieurs matières à des
étudiants
– 1 étudiant suit 1 ou plusieurs matières chacune avec un
enseignant

• Entités:

35
36
37
1. Première lecture : Identifier les entités les plus
naturels
2. Deuxième lecture : Identifier les associations
entre ces entités (verbes n’exprimant pas de
dépendance fonctionnelle)
3. Recenser les attributs et les identifiants de ces
entités et associations (constitution du
dictionnaire de données)
4. Déterminer les cardinalités entre entités et
associations
5. Enumérer des contraintes d’intégrité.
38
• Comment identifier les entités dans un texte?
– Généralement identifié par un sujet ou un complément.
– Le nom de l’entité est suivi dans le texte par une des
expressions suivantes : est caractérisé par, est composé de,
est identifié par, contient les informations suivantes, est
décrit par, …

• Comment identifier les associations dans un texte?


– Généralement identifié par un verbe.
– Ce verbe définit une liaison entre les noms des deux
entités dans la même phrase.

39
• On veut modéliser les recettes de cuisine,
sachant qu’une recette est composée d’un
nom, une liste d’ingrédients, un mode de
préparation (texte descriptif) et du temps de
cuisson. Chaque ingrédient est de type donné
(solide, liquide, poudre,…), d’une unité de
mesure donnée (litre, gramme, verre,) et un
type d’ingrédient utilise toujours la même
unité.
40
• On veut modéliser les recettes de cuisine,
sachant qu’une recette est composée d’un
nom, une liste d’ingrédients, un mode de
préparation (texte descriptif) et du temps de
cuisson. Chaque ingrédient est de type donné
(solide, liquide, poudre,…), d’une unité de
mesure donnée (litre, gramme, verre,) et un
type d’ingrédient utilise toujours la même
unité.
41
• On veut modéliser les recettes de cuisine,
sachant qu’une recette est composée d’un
nom, une liste d’ingrédients, un mode de
préparation (texte descriptif) et du temps de
cuisson. Chaque ingrédient est de type donné
(solide, liquide, poudre,…), d’une unité de
mesure donnée (litre, gramme, verre,) et un
type d’ingrédient utilise toujours la même
unité.
42
43
44
Exercice 1

45
Exercice 2

46
Exercice 3

47