G. Salzano / Ph Chochois
Modèle relationnel – Objet
Dans ce TD, nous allons nous appuyer sur le cas fonctionnel explicité grâce au diagramme ci-dessous :
* 0..1
* 1..1
0..1
0..*
Projet -
- -
nom dateDebut dateFin
: String : date : date
Mission -
- -
code intitule nbJours
: String : String : int
Intervenant -
- - - -
mat nom prenom tarifApplique qualification
: int : String : String : float : String Qualification -
- qualif tarif
: String : float
Un projet est constitué de missions. Une mission est affectée à un intervenant qui possède une qualification.
Le tarif appliqué pour un intervenant peut être différent du tarif standard lié à une qualification.
Pour les besoins de l’exercice, la qualification a été placée également au niveau de l’intervenant.
Important : Sauvegardez vos scripts dans des fichiers texte ! Types et table en mode ligne.
Dans cet exercice , nous allons gérer des « intervenants » sur un projet. Chaque intervenant possède une qualification.
Voici la liste des qualifications :
Qualification Tarif journalier en euros (HT)
Développeur 500
Analyste 700
Chef de projet 900
Consultant 1000
Directeur commercial 1300
a) création d'un type, qualif_type, pour décrire les qualifications (2 attributs). Noter que qualif_type est de type tuple, et que chacune de ses composantes est de type atomique.
b) création d'une table des qualifications (Create table <nomtable> of <typename> ) et insertion des valeurs (cf tableau ci-dessus) de 2 manières différentes.
c) Consultez la description du type, la description de la table et visualisez le contenu de la table.
d) Affichez les différentes qualifications triées par ordre alphabétique puis calculez le tarif moyen d’une journée d’un intervenant.
e) Augmentez les tarifs de 2,5% puis vérifiez que la table a bien été mise à jour.
Table en mode colonne.
a) Supprimer votre table et créez la de nouveau mais en mode colonne (avec une seule colonne de type’qualif_type’) puis insérez les valeurs
b) Consultez la nouvelle description de la table et visualisez le contenu de la table puis affichez le montant de qualification le plus élevé et le plus bas.
c) Augmentez les tarifs des analystes de 10%.
G. Salzano / Ph Chochois
Modèle relationnel – Objet
Table avec une colonne non atomique.
Nous allons maintenant créer une table des intervenants. Un intervenant est caractérisé par un numéro de matricule, un nom, un prénom et une qualification. Le tarif horaire d’un intervenant peut être différent du tarif horaire standard appliqué à sa qualification.
Mat Nom Prenom Qualification Tarif journalier
en euros (HT)
2516 Dupont Pierre Développeur 550
7655 Henri Jacques Consultant 990.90
7687 Triolet Elsa Consultant 1029.00
a) Créer la table des intervenant en utilisant le type « qualif_type » créé précédemment et en définissant le matricule comme clé primaire.
b) Insérer les valeurs dans la table des intervenants.
c) Décrire la table « intervenant » et afficher son contenu .Insérer les valeurs dans la table des intervenants.
d) Afficherle nom et le tarif de tous les intervenants.
e) Afficher tous les consultants (matricule, nom) puis afficher tous les consultants dont le tarif est supérieur à celui d’un consultant « standard » en affichant l’écart de tarif.
f) Que se passe t-il si la table « qualif » est supprimée ? Que deviennent les qualifications des 3 intervenants que nous avons créés ?
Types élémentaires
Type qualif_type