Académique Documents
Professionnel Documents
Culture Documents
Exercice 1 ( 3 points)
Dans un contexte de base de données relationnelle, compléter des mots de cette liste :
ON DELETE CASCADE, NOT NULL, SELECTION, CHECK, ON UPDATE CASCADE,
PROJECTION, BETWEEN, UNIQUE, NULL, DEFAULT, DISTINCT
N° Clause/terme Utilité
1 ON UPDATE Pour modifier automatiquement la valeur d’une clé étrangère dans une table fille à
CASCADE la suite de la modification de la valeur de la clé primaire de la table mère
correspondante
2 NOT NULL Pour garantir l’obligation de la saisie d’une valeur dans une colonne
3 CHECK Pour garantir que la valeur d’une colonne soit conforme à une contrainte
4 PROJECTION Recherche de colonnes à partir d’une table
5 DISTINCT Eviter les résultats en doubles pour une même colonne
6 DEFAULT Affecter une valeur à une colonne si cette première n’est pas saisie par l’utilisateur
Exercice 2 ( 11 points)
Afin de mieux gérer les différentes locations des panneaux publicitaires, le responsable informatique
d'une agence publicitaire propose d’utiliser la base de données simplifiée intitulée "Gestion_Panneaux"
décrite par le schéma textuel suivant :
Panneau ( IdPanneau , AdresseP , PrixLocJour )
Client ( IdClient , NomCli , PrenomCli , email )
SpotPub ( IdSpot , Description , idClient# )
Location ( IdPanneau # , IdSpot# , DateLoc , NbJours )
A) 1/ Compléter la représentation textuelle de la base de données par les clés primaires et/ou
étrangères nécessaires en tenant compte des règles suivantes :
R1 : Un spot publicitaire ne concerne qu’un seul client
R2 : Un client peut avoir plusieurs spots publicitaires
R3 : Un panneau peut être réservé à plusieurs spots publicitaires durant des dates différentes
R4 : Un spot publicitaire peut être affiché sur plusieurs panneaux.
2/Donner les commandes SQL permettant de :
a/ Créer les tables Panneau et SpotPub en respectant les types et les propriétés cités dans la
description ( voir tableau de la page suivante)
CREATE TABLE SpotPub (
CREATE TABLE Panneau(
IdSpot VARCHAR(4) PRIMARY KEY ,
IdPanneau VARCHAR(4) PRIMARY KEY ,
Description VARCHAR(100),
Adresse VARCHAR(50) NOT NULL ,
idClient VARCHAR(4) REFERENCES client( idClient)
PrixLocJour DECIMAL(7,3) CHECK (PrixLocJour>=100)
);
);
Page 1 / 4
Description des colonnes des tables de cette base de données :
Nom Description Type Taille Contrainte
IdPanneau Identifiant d'un panneau Texte 4
AdresseP Adresse d'un panneau Texte 50 obligatoire
PrixLocJour Prix de location journalier exprimé en DT Decimal 7,3 > =100
IdClient Identifiant d'un client Texte 4
NomCli Nom d'un client Texte 50 obligatoire
PrenomCli Prenoom d'un client Texte 100 obligatoire
Email Email du client Texte 50
IdSpot Identifiant d'un spot publicitaire Texte 4
Description Description d'un spot publicitaire Texte 100
DateLoc Date de début de location d'un panneau pour un S potPub Date Null interdit
NbJours Nombre de jours de location d'un panneau pour un S potPub Entier 3
b/ Pour contacter un client, il est préférable d’utiliser son numéro de téléphone plutôt que de lui
envoyer un email. Ecrire la(les) instruction(s) nécessaires pour supprimer la colonne email et de la
remplacer par la colonne Tel (de type entier, de taille 8 et ne pouvant pas être vide)
ALTER TABLE Client
DROP Email ;
e/ Insérer les lignes suivantes dans la table SpotPub en utilisant une seule instruction SQL
INSERT INTO SpotPub ( IdSpot , idClient, Description )
SpotPub
VALUES (‘SP01’, ‘CL01‘, ‘Yaourt’),
IdSpot IdClient Description
(‘SP01’, ‘CL02‘, ‘Fromage’), SP01 CL01 Yaourt
SP01 CL02 Fromage
(‘SP03’, ‘CL04‘, ‘Tomate’),
SP03 CL04 Tomate
NB : L’ordre des colonnes dans ce tableau n’est pas celui de la
représentation textuelle
f/ Lors de l’exécution de l’instruction d’insertion, un message d’erreur est affiché. Identifier (en
l’expliquant) l’origine de cette erreur.
La valeur SP01 de la clé primaire (IdSpot) est la même pour la 1ère et la 2ème ligne alors qu’elle
doit être unique Contrainte d’intégrité de table
La valeur CL04 de la clé étrangère (IdClient) n’existe pas dans la colonne IdClient (clé primaire
de la table mère Client) Contrainte d’intégrité référentielle
Page 2 / 4
3/ Ecrire des requêtes SQL permettant de :
a/ Afficher (dans l’ordre décroissant de leur PrixLocJour), les identifiants et les adresses
des panneaux publicitaires situés à Béja.
FROM Panneau
WHERE Adresse=’Béja’
b/ Diminuer de 10% le prix de location journalier des différents panneaux ci ce dernier est
compris entre 150 et 200
UPDATE Panneau
FROM Client
d/ Afficher (en utilisant des alias), le plus haut ainsi que le plus bas prix de location
journalier des différents panneaux
Exercice 3 (2 points)
Cocher la bonne réponse :
a) onLoad [ ] S'exécute lorsque l’utilisateur télécharge un fichier multimédia
[ ] S'exécute lorsque le navigateur charge la page en cours
[ ] S'exécute lorsque l’utilisateur clique sur le bouton de type Submit
Page 3 / 4
Exercice 4 (4 points)
<head>
<script language=’’javascript’’ scr =’’contrôle.js’’> </script>
</head>
function calculer() {
} else
document.getElementById("T4").value=prix*nb+s ;
Page 4 / 4