Vous êtes sur la page 1sur 2

TD1 Bases de données

Exercice 1

Une société qui effectue des travaux de maintenance chez ses clients vous demande de lui créer
une base de données afin de mémoriser l’ensemble de ses données. Elle vous communique les
informations suivantes :

Pour chacun de ses clients (Matricule, nom, adresse), elle peut ouvrir des chantiers de
maintenance. Chaque chantier est représenté par un dossier. Le dossier est numéroté, présente une
description sur les travaux de maintenance demandées et contient la date de création du dossier.
Dans chaque chantier, on peut effectuer une ou plusieurs interventions. Une intervention est
constituée par un code, une date d’intervention et une description de l’intervention. Chaque
intervention est effectuée par un technicien (CIN, nom, prénom).
Chaque intervention peut nécessiter ou pas des pièces de rechange. Les pièces de rechange ont
une référence, une désignation et une quantité en stock.
Chaque pièce de rechange peut être livrée par un ou plusieurs fournisseurs (Matricule, nom,
adresse).

1. Construire le modèle entités-association.


2. En déduire le modèle relationnel décrivant la base de données.
3. Donner les ordres create table.
4. Insérer quelques données dans la table client.
5. Ajouter l’attribut Date de naissance et l’attribut mail dans la table client.
6. Insérer quelques données dans la table client.

Exercice 2

Une entreprise de dépannage possède plusieurs services spécialisés regroupant chacun un certain
nombre d’employés. Les employés ont une fonction dans l’entreprise et ne travaillent que dans un
seul service. Leur salaire dépend de leur fonction et de leur ancienneté au sein de l’entreprise.

En plus du petit outillage courant (marteau, tournevis, etc.), l’entreprise de dépannage dispose de
gros matériels demandant une qualification particulière aux salariés susceptibles de l’utiliser.
Tous les salariés ne sont pas qualifiés pour l’utilisation de tout le matériel. Ce matériel est
référencé au niveau de l’entreprise.
Une intervention de dépannage se fait toujours à la demande d’un client. Une intervention de
dépannage se décompose en un certain nombre d’actes de dépannage faisant intervenir un
employé. Chaque acte de dépannage comporte un coût. Lorsqu’un employé participe à un acte de
dépannage, la date de début et de fin de la participation de l’employé est notée.

1. Construire le modèle entités-association.


2. En déduire le modèle relationnel décrivant la base de données.
3. Donner les ordres create table.
Exercice 3

Soit le script SQL permettant de créer la base de données db_entreprise :

CREATE TABLE IF NOT EXISTS `employe` (


`id` int(11) NOT NULL,
`nom` varchar(100) NOT NULL,
`prenom` varchar(100) NOT NULL,
`date_naissance` date NOT NULL,
`date_arrivee` date NOT NULL) ;

CREATE TABLE IF NOT EXISTS `exerce` (


`id_employe` int(11) NOT NULL,
`id_metier` int(11) NOT NULL,
`id_service` int(11) NOT NULL,
`temps` enum('plein','mi-temps','quart-temps') NOT NULL) ;

CREATE TABLE IF NOT EXISTS `metier` (


`id` int(11) NOT NULL,
`nom` varchar(100) NOT NULL) ;

CREATE TABLE IF NOT EXISTS `service` (


`id` int(11) NOT NULL,
`nom` varchar(100) NOT NULL) ;

ALTER TABLE `employe` ADD PRIMARY KEY (`id`);

ALTER TABLE `exerce`


ADD PRIMARY KEY (`id_employe`,`id_metier`,`id_service`), ADD KEY `id_employe`
(`id_employe`), ADD KEY `id_metier` (`id_metier`), ADD KEY `id_service`
(`id_service`);

ALTER TABLE `metier` ADD PRIMARY KEY (`id`);

ALTER TABLE `service` ADD PRIMARY KEY (`id`);

ALTER TABLE `exerce`


ADD CONSTRAINT `exerce_ibfk_1` FOREIGN KEY (`id_employe`) REFERENCES `employe` (`id`)
ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `exerce_ibfk_2` FOREIGN KEY (`id_metier`) REFERENCES `metier` (`id`) ON
DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `exerce_ibfk_3` FOREIGN KEY (`id_service`) REFERENCES `service` (`id`) ON
DELETE CASCADE ON UPDATE CASCADE;

1. Donner le modèle relationnel décrivant la base de données.


2. En déduire le modèle entités-association.

Vous aimerez peut-être aussi