Gestion des intervenants

SQL sous Oracle

Soit le MCD ci-après.

MCD "Cours et Intervenants"

Question

Produisez le MLD relationnel.

Question

Produisez un code SQL qui fonctionne pour Oracle et pour PostgreSQL.

Question

Produisez un code spécialisé pour Oracle.

Question

Vérifier la création de vos tables dans le dictionnaire de données (existence de la table, description de la table, et liste des contraintes).

Question

Initialiser la base avec les données suivantes :

  • Stéphane Crozat est un intervenant, poste 4287.

  • Il fait deux cours, Introduction et Modélisation, le 1 janvier et le 8 janvier 2001.

Question

Écrivez la requête SQL permettant de renvoyer pour chaque cours le jour de la semaine (lundi, mardi...) et le numéro de la semaine (1..53).

Question

Écrivez la requête SQL permettant de renvoyer concaténés sur seule colonne le nom, le prénom et le poste entre parenthèse de chaque intervenant.

Question

Écrivez la requête SQL permettant de renvoyer la liste des cours avec leur type en toutes lettres : Cours, Travaux dirigés, Travaux pratiques.

Question

Écrivez le code SQL*Plus et la requête permettant de renvoyer toutes les informations de la table tCours sur un minimum de caractères.

PL/SQL sous Oracle

Pour la suite de l'exercice on introduira les données complémentaires suivantes dans la base de données.

CTRL+C pour copier, CTRL+V pour coller
1
INSERT INTO tIntervenant(pknom, prenom) VALUES ('JOUGLET', 'Antoine');
INSERT INTO tIntervenant(pknom, prenom) VALUES ('JOUGLET', 'Antoine');

Question

Écrivez une fonction PL/SQL prenant en paramètre un intervenant et renvoyant la chaîne 'OUI' s'il intervient au moins une fois dans un cours, et 'NON' sinon.

Question

Écrivez une procédure PL/SQL permettant d'afficher la liste de toutes les intervenants.

Question

Écrivez un trigger permettant de gérer la redondance entre pkannee et debut. L'on souhaite le comportement suivant :

  • si l'année de début du cours ne correspond pas à pkanne, alors la date de début du cours est mise à NULL

  • on ajoute un message sur le sortie standard.