Académique Documents
Professionnel Documents
Culture Documents
EXAMEN
Première session
1/6
Centre d’Enseignement à Distance
Laurent MOREAU
CONSERVATOIRE NATIONAL DES ARTS ET METIERS
Le Modèle Conceptuel de Données suivant permet de modéliser le domaine de gestion d’un parc informatique
Travail à réaliser :
Il ne fallait pas oublier d’insérer les clés étrangères dans les bonnes tables
CREATE TABLE reparation (
id_reparation uniqueidentifier NOT NULL,
date_envoi datetime,
date_ret datetime,
prix decimal,
id_panne uniqueidentifier,
id_tiers uniqueidentifier );
ALTER TABLE reparation ADD CONSTRAINT PK_reparation PRIMARY KEY (id_reparation);
ALTER TABLE reparation ADD CONSTRAINT FK_reparation_id_panne FOREIGN KEY (id_panne)
REFERENCES panne (id_panne);
2/6
Centre d’Enseignement à Distance
Laurent MOREAU
CONSERVATOIRE NATIONAL DES ARTS ET METIERS
ALTER TABLE reparation ADD CONSTRAINT FK_reparation_id_tiers FOREIGN KEY (id_tiers) REFERENCES
tiers (id_tiers);
2. Expliquez les choix de modélisation effectués par l’analyste. Vous concentrerez vos explications sur les
choix de cardinalités.
-- CREATION DE TABLES
3/6
Centre d’Enseignement à Distance
Laurent MOREAU
CONSERVATOIRE NATIONAL DES ARTS ET METIERS
CONSTRAINT FK_se_composer_code_element FOREIGN KEY (code_element) REFERENCES
element_de_base (code_element),
CONSTRAINT FK_se_composer_id_menu FOREIGN KEY (id_menu) REFERENCES menu_type
(id_menu)
);
1. Requête 1 : Quels sont les tigres mâles qui reçoivent un menu composé de 40% de protides ?
SELECT nom baptême
FROM Animal, Recevoir, Menu Type, Se composer, Eléments de base, Espece
WHERE Animal.sexe = « Male »
AND Se composer.pourcentage = 40
AND Element de base.Libellé aliment = « Protides »
AND Espece.Libellé espèce = « Tigre »
2. Requête 2 : Pendant quelle période les rhinocéros vivent-ils dans un enclos ?
SELECT date début, date fin
FROM Période, Enclos, Espèce, Pouvoir vivre, Occuper
WHERE Espèce.Libellé espèce = « Rhinocéros »
3. Requête 3 : Quels sont les menus qui sont composés de moins de 10% de glucides ?
SELECT id menu
FROM Menu type, Se composer, Eléments de base
WHERE Eléments de base.libellé éléments = « Glucides »
AND Se composer.pourcentage >= 10
4. Requête 4 : Lister les animaux dont le nom ressemble à « PUMBA »
SELECT Nom baptême
FROM Animal
4/6
Centre d’Enseignement à Distance
Laurent MOREAU
CONSERVATOIRE NATIONAL DES ARTS ET METIERS
WHERE Nom baptême LIKE « %PUMBA% »
5. Requête 5 : Combien d’espèces peuvent vivre en enclos ?
SELECT COUNT(Code espèce)
FROM Espèce, Pouvoir vivre, Enclos
On dispose de :
CREATE TABLE dept(
nodept NUMERIC(2) NOT NULL CONSTRAINT dept_nodept_pk PRIMARY KEY,
nom VARCHAR(25),
noregion NUMERIC(1) NOT NULL
);
1. Écrire une fonction moySalaire sans paramètre qui renvoie le salaire moyen des employés.
CREATE OR REPLACE FUNCTION moySalaire() RETURNS NUMERIC AS ’
DECLARE
Moyennne NUMERIC
BEGIN
SELECT INTO moyenne AVG(salaire) FROM emp;
RETURN moyenne;
END;
‘ LANGUAGE plpgsql;
2. Utiliser ensuite cette fonction pour afficher les noms et le salaire des employés qui gagnent plus que le
salaire moyen,
SELECT nom, salaire FROM emp
WHERE salaire > moySalaire() ;
3. puis ceux dont le salaire est égal au salaire moyen à 10% près (c'est-à-dire ceux dont le salaire est
compris entre 90% et 110% du salaire moyen).
SELECT nom, salaire FROM emp
WHERE ABS(salaire-moySalaire()) < 0.10*moySalaire() ;
Une table ayant été créée, son propriétaire peut accorder ou retirer à un autre utilisateur (ou à tous) les droits
suivants :
¾ SELECT : Accès en lecture à toutes les colonnes d'une table ou d'une vue.
¾ INSERT : Insérer des données dans toutes les colonnes d'une table.
5/6
Centre d’Enseignement à Distance
Laurent MOREAU
CONSERVATOIRE NATIONAL DES ARTS ET METIERS
1. Créer une vue relative au numéro, nom, titre, numéro de département des employés.
Puis accorder les droits de SELECT sur la vue à un autre user
CREATE VIEW EMPVUE AS
SELECT NOEMP, NOM, TITRE, NODEPT
FROM EMP;
GRANT SELECT
ON EMPVUE
TO <nom de l’utilisateur>
2. Accorder tous les droits sur la table DEPT à un autre user
Cf cours
6/6
Centre d’Enseignement à Distance
Laurent MOREAU