Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
teaching:infoh303:projet [2007/11/08 12:37]
boverhae
teaching:infoh303:projet [2007/12/13 12:43]
boverhae
Line 1: Line 1:
 ====== Projet du cours INFO-H-403 ====== ====== Projet du cours INFO-H-403 ======
 +
 +
 +
 +
  
  
Line 26: Line 30:
  
   * {{teaching:​infoh403:​infoh403_projet0708_enonce.pdf|Enoncé du projet 2007-2008}}   * {{teaching:​infoh403:​infoh403_projet0708_enonce.pdf|Enoncé du projet 2007-2008}}
-  * [[http://​spreadsheets.google.com/​pub?​key=p_tIes73CHtKNL-LVtsE_QA|Horaire de passage de la partie A]]  
   * {{teaching:​infoh403:​infoh403_projet0708_donnees.zip|Données à importer dans la base de données}}   * {{teaching:​infoh403:​infoh403_projet0708_donnees.zip|Données à importer dans la base de données}}
 +  * {{teaching:​infoh403:​infoh403_projet_webapp.pdf|Slides d'​introduction aux applications web}} (15/​11/​2007)
 +  * {{teaching:​infoh403:​infoh403_projet_mysql.pdf|Slides d'​introduction à MySQL}} (15/​11/​2007)
 +  * [[http://​spreadsheets.google.com/​pub?​key=p0FmSsgfVWarb9u5qdIHzZw|Horaire de la défense finale du projet]] (07/12/07)
 +  ​
 +
 +<​note>​La défense aura lieu dans le bureau de Boris Verhaegen, UB4.133 (ancien bureau de Mohammed Minout).
 +
 +
 +Le rapport devra être rendu en même temps que votre défense.
 +
 +
 +Le code du projet devra être rendu uniquement sur demande des assistants.</​note>​
 +
 +==== Question réponse pour la partie B ====
 +
 +
 +
 +**Question 1** (07/12/07) : Avec MySQL, comment ajouter une contrainte de clé étrangère avec une clé composée ?
 +
 +//Soit les tables //​T1(__cle1,​cle2__,​attribut1)//​ et //​T2(__cle1__,​T1_cle1,​T1_cle2)//​ où //​(T1_cle1,​T1_cle2)//​ référence //​(T1.cle1,​T2.cle2)//​.//​
 +
 +
 +//Pour définir une contrainte de clé étrangère sur //​(T1_cle1,​T1_cle2)//​ de T2, il faut tout d'​abord définir un index sur ces deux colonnes de la table T2 via la commande //"​ALTER TABLE T2 CREATE INDEX monIndex ON T2(T1_cle1,​T1_cle2)"//​.//​
 +
 +
 +//Ensuite, on peut créer la contrainte de clé étrangère sur ces deux champs via la commande //"​ALTER TABLE T2 ADD FOREIGN KEY (T1_cle1,​T1_cle2) REFERENCES T1(cle1,​cle2)"//​. Cette dernière opération ne semble pas prévue dans phpMyAdmin et il faut donc exécuter cette commande manuellement.//​
 +
 +**Question 2** (11/12/07) : Peut-on considérer que les fichiers fournis (CSV et XML) sont corrects ?
 +
 +//Vous pouvez considérer que les fichiers sont syntaxiquement corrects mais vous devez tout de même vérifier les contraintes d'​intégrité sur ces données//
 +
 +**Question 3** (11/12/07) : Comment faire la requête 1 en algèbre et en calcul tuple ?
 +
 +//Pour la requête 1, une bonne façon est de commencer par faire une
 +requête qui donne les actions qui ont monté pendant la dernière
 +séance. Pour trouver la dernière séance, on peut se référer à
 +l'​exercice PUF qui concerne le produit le plus léger.
 +Ensuite, faire la requête 1 en prenant en compte les deux dernières
 +séances. On remarquera que le principe est similaire et qu'il peut
 +s'​utiliser pour faire la requête sur les 5 séances. Vous pouvez vous arrêter à cette requête sur deux séances et expliquer le principe pour arriver à la requête finale.//
 +
 +//Une autre façon de faire, moins correcte mais qui ne sera pas
 +considérée comme totalement fausse lors de la correction, est de faire
 +l'​hypothèse que les 5 dernières séances sont les 5 derniers jours.//
 +
 +//Vous pouvez utiliser les opérateurs de comparaison (<,>,​=,​ ...) sur les dates.//
 +
 +**Question 4** (11/12/07) : Que doit contenir le scénario de démonstration ?
 +
 +//Lors de la démonstration,​ vous devrez suivre exactement votre scénario
 +de démonstration.//​
 +
 +//Par exemple ://
 +
 +  * //​consultation de l'​action X//
 +  * //ajout de l'​indice Y avec les valeurs (a,b,c,d)//
 +  * //insertion de l'​action (e,f,g,h) -> "​message d'​erreur"//​
 +
 +//Tout cela avec les valeurs que vous utiliserez lors de votre démonstration.//​
 +
 +
 +==== Précisions pour la partie A du rapport final (08/11/07) ====
  
-<​note>​La défense de la partie A aura lieu au UB4.125 (Frédéric Servais)</​note>​+=== Contraintes ===
  
 +Les contraintes suivantes doivent se trouver dans votre modèle conceptuel.  ​
  
-<note important>​Nous tiendrons bien sûr compte dans l'évaluation finale de votre première partie bien que nous ne lui attribuerons ​pas officiellement ​une note séparée+  * La clé de l'entité "​actualité"​ doit être le lien. La source et la description sont optionnels et les autres attributs sont obligatoires. 
 +  * Pour le cours d'un indice, on considère ​que le cours minimum/​maximum/​fermeture/​ouverture est la somme pondérée des cours minimum/​maximum/​fermeture/​ouverture des actions dont il est composé. 
 +  * Les actions d'un indice doivent appartenir au même marché que celui-ci. 
 +  * La date de publication d'une actualité doit être postérieure à la date du premier cours des produits financiers concernés. 
 +  * Les contraintes relatives à la date actuelle ​ne font pas partie du modèle. 
 +  * Pour le cours d'une action, le volume est obligatoire et celui-ci doit être vide dans le cas d'un indice (si vous stockez ces informations pour les indices).
  
-Vous devrez également tenir compte des remarques du jeudi 8 novembre lorsque que vous incorporerez celle-ci dans le rapport final.</​note>​+=== Divers ===
  
 +  * L'​historique d'un indice commence lorsque toutes les actions dont il est composé existent.
 +  * Si vous utilisez un type pour un produit financier dans votre modèle relationnel,​ son domaine doit être {INDICE,​ACTION} et pas {0,1}.
 +  * Il est interdit de rajouter des identifiants au niveau conceptuel et relationnel. Les attributs constituants les éléments doivent être suffisants pour l'​identification. Vous pourrez utiliser des identifiants lors de l'​implémentation physique.
 +  * Veuillez inclure une légende pour votre schéma entité-association dans votre rapport final.
 +  * Pour les dates et les heures, utilisez les types "​date"​ et "​datetime"​ au lieu de les détailler via des attributs composés.
 +  * Les contraintes du modèle conceptuel doivent être exprimées en utilisant la notation de celui-ci.
 +  * Les contraintes du modèle conceptuel à l'​exception des contraintes de domaine doivent être traduites pour le schéma relationnel en utilisant sa notation.
 + 
  
-==== Questions Réponses ====+==== Questions Réponses ​pour la partie A ====
  
 **Question 1** (24/10/07) : Est-ce que le nom d'un produit financier est unique? **Question 1** (24/10/07) : Est-ce que le nom d'un produit financier est unique?
Line 90: Line 169:
 **Question 12** (25/10/07) : Peut-on supposer que les fichiers XML et CSV fournis sont corrects? **Question 12** (25/10/07) : Peut-on supposer que les fichiers XML et CSV fournis sont corrects?
  
-//Oui.//+//Oui, d'un point de vue syntaxique (voir question 24)//
  
 **Question 13** (25/10/07) : Est-ce qu'une action peut faire partie de plusieurs indices? **Question 13** (25/10/07) : Est-ce qu'une action peut faire partie de plusieurs indices?
Line 128: Line 207:
 **Question 21** (04/11/07) : Est-il raisonnable de supposer qu'il n'y aura pas d'​actualités différentes avec le même titre, provenant de la même source, à la même date, concernant les mêmes produits financiers? **Question 21** (04/11/07) : Est-il raisonnable de supposer qu'il n'y aura pas d'​actualités différentes avec le même titre, provenant de la même source, à la même date, concernant les mêmes produits financiers?
  
-//​C'​est une hypothèse que vous pouvez émettre.//+<del>//​C'​est une hypothèse que vous pouvez émettre.//</​del>​ 
 +//Le lien est la clé d'une actualité//​ (08/11/07)
  
  
Line 134: Line 214:
  
 //Nous tiendrons bien sûr compte dans l'​évaluation finale de votre première partie bien que nous ne lui attribuerons pas officiellement une note séparée. Vous devrez également tenir compte des remarques du jeudi 8 novembre lorsque que vous incorporerez celle-ci dans le rapport final.// //Nous tiendrons bien sûr compte dans l'​évaluation finale de votre première partie bien que nous ne lui attribuerons pas officiellement une note séparée. Vous devrez également tenir compte des remarques du jeudi 8 novembre lorsque que vous incorporerez celle-ci dans le rapport final.//
 +
  
  
 
teaching/infoh303/projet.txt · Last modified: 2023/03/27 09:04 by gdejaege