Vous êtes sur la page 1sur 7

Année Universitaire 2022-2023

MODÉLISATION DE BASES DE DONNEES


(Cours M. THÉVENIN)

L3 Eco et Société

Rappel de cours 1 : Le modèle Entité/Association

Le modèle Entité/Association (encore appelé Entité/Relation ou Objet/Relation) permet la modélisation


d’un ensemble d’informations gérées dans le monde réel.
Ce modèle utilise un formalisme suffisamment clair pour être compris par tous les partenaires impliqués
dans la modélisation d’une base de données. Il est basé sur des concepts intuitifs et naturels. De plus, c’est un
formalisme standard et normalisé utilisé dans des méthodes plus globales de conception d’un système
d’information telles que Merise.

Concepts et formalisme

Une entité est un objet du monde réel qui a une existence propre (qui peut exis-
ENTITÉ ter indépendamment de tout autre objet) et qui peut être identifié de façon
et unique.
CLASSE D’ENTITÉS Une classe d’entités regroupe un ensemble d’entités qui ont des caractéristiques
communes
Ex. : des voitures, des personnes, des produits, …

Nom de la Ex. : PRODUITS USINES


classe d ’entités

Une association traduit un lien entre au moins 2 entités du monde réel. C’est un
ASSOCIATION objet du monde réel dépourvu d’existence propre qui n’existe qu’au travers des
et entités qu’il relie.
CLASSE
La classe d’associations regroupe un ensemble d’associations qui ont des
D’ASSOCIATIONS caractéristiques communes et connectent des objets appartenant aux mêmes
classes d’entités.

Ex. : fabrication entre les classe d’entités produits et usines, …

Rque : une classe d’associations peut relier une classe d’entités à elle-même
(association réflexive)

Ex. : PRODUITS USINES


Nom de la
classe d ’associations fabrication

Rôle 1 Rôle 2

Page 1 sur 7
Une propriété est une donnée élémentaire que l’on perçoit sur une entité ou
PROPRIÉTÉ sur une association et qui la caractérise.

Ex. : nom d’une personne, marque d’une voiture, …


Ex. : PRODUITS USINES
Code Produit fabrication Numéro Usine
Libellé Produit Quantité fabriquée Raison Sociale
… …

L’identifiant est une propriété particulière de la classe d’entités (resp. de la


IDENTIFIANT classe d’associations) telle que, à chaque valeur de cette propriété, corresponde
une et une seule entité (resp. une et une seule association) de la classe
d’entités (resp. de la classe d’associations).

Ex. : numéro de facture pour une classe d’entités FACTURES, numéro


d’immatriculation d’une voiture pour la classe d’entités VOITURES, …

L’identifiant d’une classe d’entités ou d’une classe d’associations peut être


simple ou composé de plusieurs propriétés.

L’identifiant d’une classe d’associations est généralement « implicite », c.à.d.


déduit des classes d’entités reliées en combinant les identifiants de ces
dernières.

Ex. : PRODUITS USINES


Code Produit fabrication Numéro Usine
Libellé Produit Quantité fabriquée Raison Sociale
… …

Cas particuliers : gestion des historiques (rajout d’une date dans l’identifiant de
la classes d’associations), …

La cardinalité est un couple de valeurs associé à chaque rôle (lien entre une
CARDINALITÉS classe d’entités et une classe d’associations) partant d’une classe
d’associations. Ces valeurs représentent le nombre minimum et le nombre
maximum de fois qu’une entité donnée participera à la classe d’associations.

Ex. : (0,1) ou (1,1) ou (0,N) ou (1,n) pour les plus utilisées.


Ex. : PRODUITS USINES
Code Produit (1,N) fabrication (1,N) Numéro Usine
Libellé Produit Quantité fabriquée Raison Sociale
… …

Un produit est fabriqué dans au moins une usine et peut être


fabriqué dans plusieurs (nombre max. a priori non défini)
Une usine fabrique au moins un des produits gérés et peut en
fabriquer plusieurs (nombre max. a priori non défini)

Page 2 sur 7
Rappel de cours 2 : Règles de traduction d'un Schéma Entité/Association en Schéma
Relationnel

R1 : Toute CLASSE D’ENTITÉS se transforme en une RELATION avec pour CLÉ l'identifiant de l'entité.
R2 : Toute CLASSE D’ASSOCIATIONS se transforme en une RELATION avec pour CLÉ l'identifiant de
la classe d’associations concaténé aux clés des classes d’entités reliées. Une contrainte d’intégrité ré -
férentielle entre la clé de la classe d’associations et celles des classes d’entités reliées garantit la vali -
dité des tuples.

Cas particulier (optimisation) : Toute CLASSE D’ASSOCIATIONS reliée à une classe d’entités avec une
cardinalité de type (0,1) ou (1,1) peut être fusionnée avec la classe d’entités. Dans ce cas, on fait migrer les
attributs de la classe d’associations vers ceux de la relation traduisant la classe d’entités « côté (1,1) ou (0,1) »
(cf. exemple).
Ex. :

COURTIER [Nom, Adresse] => COURTIER [Nom, Adresse]


POLICE [Numéro, Date] POLICE [Numéro, Date, Nom]
GÉRER [Nom, Numéro]

Exercice 1
"Le jardin de Maelis" est un magasin de fleurs situé dans le 18 ème arrondissement de Paris ; offrant un service
de livraison de bouquets dans la ville de Paris.

La fleuriste du magasin souhaite mettre en place une base de données lui permettant de mieux suivre ses
clients et leurs commandes. Celle-ci contiendra notamment les bouquets qui peuvent être livrés ; ceux-ci sont
décrits par leur nom, leur description et leur prix. Pour chaque client effectuant une commande, la fleuriste
enregistre le client et les bouquets à livrer. Le client est décrit par son numéro du client, le numéro de sa carte
de crédit, son nom, son adresse, son numéro de téléphone et éventuellement son adresse électronique. Pour
chaque bouquet que le client commande, la fleuriste enregistre le nom, l'arrondissement, l'adresse complète et
le numéro de téléphone de la personne à qui le ou les bouquet(s) doivent être livrés, ainsi que leur date de
livraison souhaitée.

Le coût de livraison associée à la commande est déterminé en fonction des lieux de livraison : à chaque
arrondissement est associé un tarif de livraison. Ainsi en fonction de la commande effectuée par le client et des
différents bouquets à livrer, la fleuriste pourra informer celui-ci du coût global de livraison.

Travail à faire

1.1 Etablir le dictionnaire des données pour 4 à 5 propriétés.


1.2 Concevoir le modèle Entité/Association, en prenant soin de bien expliquer les hypothèses et
contraintes.
1.3 Concevoir le schéma relationnel correspondant.
1.4 Quelles sont les questions auxquelles on peut répondre en exploitant votre schéma.

Page 3 sur 7
Exercice 2
Le service du personnel veut construire une base de données concernant la gestion des demandes de
formation des employés. Les formations proposées sont répertoriées par un code de formation, un descriptif,
une date, un nombre maximum de participants et un coût par participant. De plus, pour chaque formation on
enregistre la liste des compétences requises avec pour chacune le niveau nécessaire. Par exemple la formation
« actualisation juridique » du « 10 juin 2007 » nécessite la compétence « baux commerciaux » niveau
« confirmé » et « droit de l’urbanisme » niveau « expert ». Les compétences et les niveaux sont répertoriés par
un code et un libellé. Les libellés utilisés pour décrire les niveaux sont « débutant », « moyen », « confirmé »,
« expert ».
Chaque employé peut demander à s’inscrire à plusieurs formations par an. Le service du personnel donne
ensuite un avis pour chaque demande d’inscription à une formation. Cet avis peut être « favorable »,
« reporté » (à une formation ultérieure équivalente) ou « défavorable ». Les employés sont décrits par un
matricule, un nom, un prénom, un mèl et le service de l’entreprise auquel ils appartiennent. De plus on
enregistre pour chaque employé la liste de ses compétences avec son niveau dans chaque compétence. Les
services de l’entreprise sont décrits par un code, un libellé et un budget de formation.

Exercice 3
Un zoo vous charge de créer une base de données destinée à gérer l'affectation des animaux dans des
emplacements, ainsi que la nourriture qui doit leur être servie en fonction de leurs besoins.
Un emplacement est caractérisé par un numéro, sa superficie, la liste des races auxquelles il est adapté avec
pour chaque race le nombre d'animaux que l'on peut y loger. En effet, le nombre d'animaux que l'on peut
loger dans un emplacement varie en fonction de la race.
Pour chaque animal, on enregistre son âge, son poids et son sexe. De plus, on affecte à chaque animal un
numéro et un nom. On souhaite aussi connaître la mère de chaque animal, ainsi que la race de l'animal.
Chaque animal est affecté à un emplacement. Les races sont répertoriées par un numéro et un nom.
En ce qui concerne la nourriture, on enregistre pour chaque race les différents types de nourriture dont elle
a besoin, avec la quantité nécessaire par Kg d'un animal, ainsi que la fréquence à laquelle ce type de nourriture
est nécessaire. La nourriture en elle-même est simplement identifiée par son type (poisson, viande rouge,
céréales, foin, granulés de ceci, granulés de cela...). De plus, afin de vérifier si les menus sont équilibrés, on
enregistre tous les jours et pour chaque animal, le type de nourriture qu'il a reçu avec la quantité et la date.

Exercice 4
La FFESSM (Fédération Française des Ecoles de Sports Sous-Marins) vous charge de modéliser une base
de données destinée à observer l’activité des clubs de plongée du littoral ainsi que l’expérience des moniteurs
et des plongeurs. Les informations que la FFESSM souhaite modéliser sont résumées dans le compte rendu
d’enquête proposé ci-dessous.
Pour chaque club enregistré, la FFESSM conserve un numéro, un nom, une adresse et un numéro de
téléphone. Pour assurer les plongées, les clubs embauchent des moniteurs qui doivent être diplômés par la
FFESSM. Ce diplôme est sanctionné par un numéro de moniteur et un grade. Dans le cadre de cette étude, la
FFESSM souhaite connaître l’historique de tous les clubs dans lesquels un moniteur a été embauché, avec les
dates de début et de fin d’embauche. Quelques informations personnelles concernant les moniteurs sont aussi
nécessaires. Il s’agit des nom, prénom, adresse, téléphone, date de naissance et groupe sanguin du moniteur.
Enfin, il est important de connaître le président de chaque club, qui doit être un moniteur diplômé. Il n’est pas
nécessaire de conserver l’historique pour les présidents de club.

Chaque plongeur est identifié à l’aide d’un passeport, sur lequel figurent ses nom, prénom, adresse, date de
naissance, groupe sanguin et niveau. Afin de pouvoir plonger, le plongeur doit avoir une licence en cours de
validité, qui lui tient lieu d’assurance. Les licences sont délivrées par les clubs. Une licence est valable un an à
partir de sa date de délivrance. Sur une licence, figurent un numéro de licence, les nom, prénom, adresse et
date de naissance du plongeur, ainsi que la date de délivrance et le numéro du club ayant délivré la licence.

Pour observer l’activité des clubs ainsi que l’expérience des moniteurs et des plongeurs, la FFESSM
enregistre toutes les palanquées organisées par les clubs. Une palanquée est un groupe de plongeurs effectuant
une plongée ensemble, sous la conduite d’un chef de palanquée. Le chef de palanquée est un moniteur. Pour
chaque palanquée, il est nécessaire d’enregistrer la date, l’heure, le site, la profondeur, la durée, le club
organisateur, le chef de palanquée ainsi que la liste des plongeurs y participant.

Page 4 sur 7
Exercice 5
Un cabinet spécialisé dans l'immobilier commercial, souhaite mettre en place une nouvelle base de
données lui permettant de mieux gérer l'offre et la demande concernant sa clientèle. A cette fin, il vous fournit
les informations suivantes.
Tous les clients sont caractérisés par un numéro de client, le nom de la personne assurant le contact et son
numéro de téléphone. Le nom de l’enseigne (marque) que représente le client est également une information
importante, mais elle n'est pas systématiquement renseignée. Un client peut soit proposer un local commercial
à la location, soit faire une demande pour un local satisfaisant certains critères détaillés plus loin.
Un local commercial mis à la location est décrit en premier lieu par son adresse et sa superficie. Un local
commercial peut avoir des façades donnant sur une ou plusieurs rues. On souhaite connaître pour chaque rue,
la surface vitrée de la façade et le nombre de portes. Les rues sont elles mêmes décrites par leur nom, leur type
(boulevard, allée, rue piétonne, rue semi-piétonne, …) et leur clientèle (18/25 ans, 25/35 ans, haut de gamme,
populaire, mixte, …). De plus, pour chaque local commercial, on doit connaître le client qui le propose en
location, et le montant du loyer. Enfin, un local possède un bail commercial pour une activité donnée. Une
activité est décrite par un code et un libellé (Tout commerces, Equipement de la personne, Alimentaire, …).
Une activité peut englober d'autres activités. Par exemple, l'activité Equipement de la personne englobe
l'activité vestimentaire et maroquinerie. Ainsi, un local possédant un bail pour l'activité Equipement de la
personne peut accueillir un magasin de vêtement, mais l'inverse n'est pas vrai sans modification du bail
commercial.
Une demande effectuée par un client est caractérisée par un numéro de demande, une surface minimale
pour le local recherché, une surface maximale, un loyer maximal, la liste des rues dans lesquelles le client
recherche un local et l'activité que le client souhaite exercer dans le local.
Afin de bien maîtriser l'évolution du marché, le cabinet souhaite garder un historique de toutes les
transactions (offres et demandes en location) qu'il a enregistrées pour ses clients. Ainsi, pour chaque offre de
location ou demande de local, il est nécessaire d'enregistrer son état (non traitée, en cours de négociation,
traitée) et par qui elle a été traitée (le cabinet ou un concurrent). Il est à noter qu'un même client peut faire
plusieurs offres et/ou demandes en parallèle.

Exercice 6
Un poney club de la région Toulousaine vous charge de créer une base de données destinée à gérer ses
jeunes adhérents, avec les reprises (leçons) auxquelles ils ont ou vont participer et les paiements de ces
reprises.
Il est très fréquent que plusieurs enfants d'une même famille soient inscrits au poney club. Le poney club
tient compte de cette notion de famille pour simplifier les paiements à ses usagers. Chaque famille est ainsi
enregistrée avec un numéro, le nom de famille, son adresse et la liste des enfants inscrits.
Pour chaque enfant, le poney club enregistre son numéro d'adhérent, son prénom, la famille à laquelle il
appartient, son âge et son niveau à poney. Pour pratiquer, l'enfant doit avoir souscrit une licence sur laquelle
figurent un numéro de licence, son nom, prénom et âge, ainsi que la date de souscription de la licence. Le
poney club garde un historique des licences.
Les reprises sont programmées à l'avance. Chaque reprise est affectée d'un numéro. De plus, pour chaque
reprise on enregistre la date, l'heure de début, le programme, le nombre d'enfants admis et le moniteur
responsable de la reprise avec ses nom et prénom. Le nombre de places étant limité pour les reprises, les
enfants doivent s'inscrire à l'avance aux reprises auxquelles ils souhaitent participer.
Le paiement des reprises se fait au moyen de "cartes passe" achetées par les familles. Une carte passe
permet de payer d'avance 10 reprises pour les différents enfants d'une famille. Chaque carte passe est affectée
d'un numéro et de la date à laquelle la famille l'a achetée. Afin de gérer les paiements, le club enregistre à
chaque reprise la liste des enfants qui y ont participé avec, pour chacun, le numéro de la carte passe sur
laquelle est comptabilisée la reprise.

Page 5 sur 7
Exercice 7
Le directeur de programmation d'une société de télédiffusion, possédant cinq chaînes de télévision, souhaite
mettre en place une nouvelle base de données lui permettant de gérer au mieux l'ensemble de sa
programmation (le nombre de chaînes étant susceptible d'augmenter). A cette fin, il vous fournit les
informations suivantes.
Les cinq chaînes, caractérisées chacune par un numéro et un nom, diffusent des programmes en mono- ou
multi-diffusion. Les programmes peuvent ainsi être diffusés, à des dates et heures différentes, sur plusieurs
chaînes et plusieurs fois sur la même chaîne.
Chaque programme est caractérisé par un code (traduit code à barres), un nom, un résumé, une durée (en
nombre de minutes), un commentaire de quelques mots. On souhaite également préciser pour chaque
programme sa catégorie (cinéma, voyage, documentaire, sport, musique, …) et le public concerné (tous
publics, interdit au moins de 12 ans, interdit aux moins de 16 ans, comportant des scènes pouvant heurter le
jeune public, …). Toutes les catégories, ainsi que les publics concernés, ont été répertoriés avec un code, un
libellé et un commentaire.
On souhaite également, pour chaque programme, disposer d'informations sur les types de diffusions : il s'agit
plus spécifiquement du format (16/9è ou 4/3), de la version (Version française -VF- ou Version originale sous-
titrée -VO-), du son (Mono, Stéréo, Dolby surround). Certaines de ces informations sont propres à un
programme (quelle que soit la diffusion et donc identiques pour toutes les diffusions), comme le format et le
son, alors que la version peut changer à chaque diffusion d'un même programme. Ainsi, pour tout programme,
on enregistre toutes ses diffusions, c'est à dire les dates et heures auxquelles le programme passe sur chacune
des chaînes, avec l'information sur la version diffusée (VO ou VF).
Par ailleurs, le directeur de programmation organise, à l'occasion de manifestations particulières (festivals de
cinéma, rencontres sportives, semaines ou mois thématiques, …), ce qu'il appelle des événements. Un
événement est en fait un ensemble de programmes en mono ou multidiffusion. Chaque événement est alors
caractérisé par un numéro, un nom, un commentaire, un réalisateur et la liste des programmes qui le
composent. A l'inverse, un programme peut éventuellement entrer dans la composition de zéro, un ou plusieurs
événements.

Exercice 8
La société LIVRETRESLOIN spécialisée dans la livraison express de courriers et colis souhaite mettre à
disposition de ses clients et des ses employés un site internet leur permettant de suivre et organiser l'expédition
et la livraison des ces courriers et colis. Les clients disposent sur le site web d'un espace pour prendre des
rendez-vous et les employés disposent d'un espace privé pour enregistrer les opérations correspondant au suivi
de l'expédition. Pour cela, une description des activités et des données utilisées par celles-ci a été effectuée.
Chaque client de la société LIVRETRESLOIN est décrit par un code, une adresse, une ville et un pays. Les
clients prennent rendez-vous sur le site de la société pour que la société prenne en charge des produits à livrer.
Ces produits peuvent être de différents types, à savoir des courriers (pour des documents commerciaux), des
colis (des produits de démonstration) ou des tubes (des affiches). Pour chaque produit à expédier, le client
mentionne le nom du destinataire, l'adresse avec la ville et le pays de destination, ainsi que les modalités
d'envoi : envoi « normal », envoi « express », envoi « super express ». En fonction du type de produit à
expédier, du pays de destination et du mode d'envoi, la société LIVRETRESLOIN pourra indiquer au client le
tarif de l'expédition. Chaque type, pays et modalités d'envoi est décrit à l'aide d'un code et d'un libellé.
La société LIVRETRESLOIN affecte un numéro à chaque produit envoyé ; ce numéro est affecté lors de la
remise du produit à envoyer, cette remise s'effectuant lors du rendez-vous qui a été fixé par le client sur le site
internet de la société. Ensuite, chaque produit est ensuite entièrement suivi jusqu'à la livraison finale. Dans un
premier temps, l'employé (décrit par un code, un nom et un prénom) qui a pris en charge le produit enregistre
dans le site web de la société la date et l'heure où le produit lui a été remis. Dans un second temps, un parcours
type est déterminé et enregistré dans la base de données : quel est le vol ou les vols que doit prendre le colis
pour arriver à destination. Afin de faciliter cette planification, on enregistre dans la base de données si la ville
a un aéroport et sinon quelle est la ville la plus proche ayant un aéroport. Pour chaque vol, on enregistre la
ville de départ, la ville d'arrivée, les heures de départ et d'arrivée, la compagnie effectuant ce vol et enfin les
jours où le vol a lieu (il est possible qu'un vol n'ait lieu que les jours ouvrables). Ensuite le processus
d'expédition commence conformément au parcours type que doit emprunter le colis, l'heure et le jour où le
produit est chargé dans l'avion pour envoi vers le destinataire sont enregistrés ainsi que l'employé qui a chargé

Page 6 sur 7
celui-ci dans l'avion. Si le produit doit prendre plusieurs vols, chaque chargement dans ces vols (heure, jour et
employé) est enregistré.
Lorsque le produit est arrivé dans la ville de destination, la société prend alors un rendez-vous avec le
destinataire pour effectuer la livraison. On enregistre, lors de la livraison, l'heure, le jour et la personne qui a
réceptionné le produit chez le destinataire ainsi que l'employé qui a effectué la livraison. Il peut arriver
toutefois que la livraison échoue, dans ce cas, un autre rendez-vous est alors planifié ; on enregistre alors que
le rendez-vous précédent n'a pu avoir lieu et qu'un nouveau rendez-vous a été pris.

Page 7 sur 7

Vous aimerez peut-être aussi