0% ont trouvé ce document utile (0 vote)
6 vues4 pages

Exercices pratiques SQL Server IAC

Ce document présente un schéma de base de données pour une entreprise appelée IAC, avec des tables pour les projets, les employés, les tâches, les affectations, les clients et l'enregistrement des heures. Il propose ensuite 28 exercices SQL impliquant la création de fonctions, de procédures stockées, de vues et de déclencheurs pour manipuler et interroger des données dans cette base de données.

Traduit par

ScribdTranslations
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues4 pages

Exercices pratiques SQL Server IAC

Ce document présente un schéma de base de données pour une entreprise appelée IAC, avec des tables pour les projets, les employés, les tâches, les affectations, les clients et l'enregistrement des heures. Il propose ensuite 28 exercices SQL impliquant la création de fonctions, de procédures stockées, de vues et de déclencheurs pour manipuler et interroger des données dans cette base de données.

Traduit par

ScribdTranslations
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Exercices de SQL Server

Étant donné la base de données IAC avec le schéma suivant :

PROYECTOS(cod_proy, cod_cliente, fecha_inicio, tipo)


PERSONAL(cod_func, nombre, fecha_ingreso, salario, hijos)
TAREAS(cod_tarea, descripcion, tipo)
AFFECTATION(cod_func, cod_proy, cod_tâche)
CLIENTES(cod_cliente, nombre, dirección, poblacion, teléfono,email,cod_func)
ENREGISTREMENT_HEURES
CRÉER UNE BASE DE DONNÉES IAC;

CRÉER TABLE asignation (


cod_func varchar(3) NON NULL,
cod_proy varchar(3) DEFAULT NULL,
cod_tarea varchar(3) DEFAULT NULL
);

CRÉER UNE TABLE personnelle (


cod_func varchar(4) NOT NULL,
nom varchar(30) DEFAULT NULL,
date DEFAULT NULL
);

CRÉER TABLE projets (


cod_proy varchar(3) NOT NULL,
cod_cliente varchar(4) DEFAULT NULL,
fecha_inicio date DEFAULT NULL,
type varchar(10) DEFAULT NULL
);

CRÉER TABLE registre_heures (


cod_func varchar(3) DEFAULT NULL,
cod_proy varchar(3) DEFAULT NULL,
date date DEFAULT NULL
cant_horas int DEFAULT NULL
);

CRÉER TABLE tâches (


Exercices de SQL Server

cod_tarea varchar(3) NOT NULL,


description varchar(30) DEFAULT NULL
type varchar(10) DEFAULT NULL
);

ALTER TABLE personnel


AJOUTER LA CLÉ PRIMAIRE (cod_func);

MODIFIER TABLE projets


AJOUTER UNE CLE PRIMAIRE (cod_proy);

MODIFIER LA TABLE tâches


AJOUTER UNE CLE PRIMAIRE (cod_tarea);

MODIFIER TABLE asignation


AJOUTER CONTRAINTE FK1 CLÉ ÉTRANGÈRE (cod_proy) RÉFÉRENCES projets (cod_proy);

MODIFIER LA TABLE asignation


AJOUTER CONTRAINTE FK2 CLÉ ÉTRANGÈRE (cod_tarea) RÉFÉRENCE tâches (cod_tarea);

MODIFIER LA TABLE registro_horas


AJOUTER CONTRAINTE FK3 CLE ÉTRANGÈRE (cod_func) RÉFÉRENCES personnel (cod_func);

MODIFIER TABLE registro_horas


AJOUTER CONTRAINTE FK4 CLÉ ÉTRANGÈRE (cod_proy) RÉFÉRENCE projets (cod_proy);
Exercices de SQL Server

Réalisez des instructions en SQL qui répondent aux questions suivantes en faisant le script et son
exécution pour chacun d'eux :
1. Créer une fonction qui reçoit comme paramètre "total" ou "partiel" et si elle reçoit "total", affiche to-
donner les données des clients et si c'est "partiel", il affichera le cod_client, le nom, l'adresse et
email.
2. Créer une procédure appelée "pa_funcionarios_en_proyecto" qui sélectionne les noms
des employés qui travaillent sur le projet envoyé en paramètre.
3. Créer une vue qui montre toutes les données des clients qui commencent par "C".
4. Créer une procédure appelée "pa_sueldototal" qui reçoit le code d'un employé et
muestre su nombre
salaire par enfant, qui est de 80 € si le salaire est inférieur à 1200 € et 50 €, s'il est supérieur ou égal à
1200).
5. Créer une procédure ou une fonction dans laquelle on passe en paramètre le code d'un ...
Le diccionario augmente son salaire de 1,2 % s'il a plus de deux enfants, sinon non.
le salaire devra être ajusté.
6. Créer une procédure qui ajoute un nouveau type de tâche à un employé que nous passons.
comme paramètre. Une fois ajouté, il devra afficher le nom du fonctionnaire et les postes de
tâches qu'il effectue.
7. Créer une procédure qui reçoit le code du fonctionnaire et supprime de la table assigne
les enregistrements qui correspondent à ce code.
8. Créez une fonction qui nous renvoie le nombre de projets distincts auxquels il a participé.
pado un employé que nous avons passé par le code de fonctionnaire
9. Créez une procédure stockée appelée "pa_projets_clients" qui sélectionne les
nombres et codes des clients, codes du fonctionnaire et nom, ainsi que le code du
projet et type de projet pour un client que nous passons comme paramètre.
10. Étant donné la table copieProjets avec la même structure que la table projets, réaliser un
déclencheur qui génère une copie exacte de tous les enregistrements de la table projets dans copie-
Projets chaque fois qu'une altération de la table projets est réalisée
11. Déclencheur empêchant de changer le nom des désignations des projets
12. Déclencheur qui empêche la suppression d'un projet sur lequel ils ont travaillé.
emplorés le jour où l'ordre de suppression est tenté. Utiliser la fonction qui
nous renvoie le jour actuel.
13. Déclencheur empêchant le client CEPSA de demander des projets de type docen-
te.
14. Dispositif qui empêche de travailler plusieurs fois sur un projet sur lequel on a déjà travaillé
ce jour-là.
15. Établir une règle interdisant d'assigner un employé qui travaille déjà pour un client
au projet qui est detpo Recherche.
16. Fonction qui affiche les années que le personnel a travaillées dans l'entreprise.
17. Fonction qui affiche pour un projet donné la liste du personnel (code et nom)
qui a travaillé dessus.
18. Fonction qui reçoit les paramètres "Clients", "Personnel" ou "Projets" pour afficher
tous les données des Clients
Personnel et des projets si tu as mis Projets
19. Générer une fonction qui indique le nombre de tâches effectuées par un employé dans un
le jour indiqué, le nom de l'employé et le nombre de tâches différentes doivent être affichés
qu'il a réalisé.
20. Vue montrant le nombre de projets, regroupés par portefeuille et par client.
21. Sous-requêtes SQL : Vue montrant les projets sur lesquels travaillent au moins deux
employés qui ont travaillé sur des projets du client ULL
22. Vue affichant uniquement les employés qui travaillent actuellement
en projets du client CEPSA.
Exercices de SQL Server

23. Vue montrant tous les clients qui n'ont PAS commandé de projet dans lequel tra-
baje le personnel Pedro Marrero Domínguez.
24. Procédure stockée "pa_actualiser_projet" envoyant tout d'abord le paramètre
tro @nuevoproyecto et en deuxième lieu @proyectoanterior (paramètres par code de
projet) faites une réaffectation des fonctionnaires du projet précédent dans lequel il est-
ban travaillant et je les ai assignés à un nouveau projet.
25. Procédure qui, en facilitant le cod_func, nous indique à quelle date il est entré à l'IAC et les
années et mois qu'il a passés à travailler.
26. Procédure retournant les employés et les années qu'ils ont travaillées à l'IAC.
27. Réaliser une procédure indiquant la tâche (Développement, Analyse, ...) et la date
montrez-nous la liste du personnel (code et nom) ainsi que le code du projet dans
celui qui a travaillé ce jour-là.
28. Vues : Créez la vue "vi_projet" qui affiche le code du projet, le type, les employés et
temps de tâche que développe chacun des employés travaillant sur ce projet.

Vous aimerez peut-être aussi