EPFL/ADB

Un article de Le wiki de 2 noisettes - noisette.ch.

Back to : EPFL


Sommaire

Projet Bases de données avancés "Portes du soleil"

Team

  • Benoit (Project leader)
  • David (PLSQL / OPL Guru)
  • Marius (Population/Spatial man)

Rapport

Sites de Références (PL/SQL, Oracle)

Données XML sur les portes du soleil

Les données sont fournies dans ce répertoire

Image:MapSkiRessort.png
Plan des portes du soleil contenant les informationes tel que nous les avons extrait des fichiers xml

Partie spatiale

  • Crossing point C : center(83, 51) rayon = [4,5], donné par 3 points : (83, 47), (87, 51), (83, 55)
  • Slope "Mossettes" : (33, 86), (37, 84), (41, 81), (47, 83), (49, 84), (51, 83), (69, 70), (73, 61), (71, 61), (71, 63), (77, 67), (61, 70), (50, 83), (43, 81), (40, 81), (36, 83), (33, 83), (33, 86)
    • Pour le peuplement j'ai (Marius) coupée la piste Mossettes en deux edges:
      • edge1 : (33, 86), (37, 84), (41, 81), (47, 83), (49, 84), (51, 83), (50, 83), (43, 81), (40, 81), (36, 83), (33, 83), (33, 86)
      • edge2 : (51, 83), (69, 70), (73, 61), (71, 61), (71, 63), (77, 67), (61, 70), (50, 83), (51, 83)
  • Slope "Loquete" : (50, 83), (51, 83), (56, 81), (60, 81), (63, 83), (64, 87), (67, 90), (69, 90), (67, 87), (64, 83), (60, 79), (50, 83)
  • Slope "B2-C" : (49, 81), (51, 81), (50, 77), (67, 57), (79, 59), (79, 56), (60, 60), (56, 64), (50, 70), (46, 77), (49, 81)


Il semblerait que les index ne se créent que sur des tables, donc on est obligé de faire des tables ( id REF TObject, shape MDSYS.SDO_GEOMETRY) pour ensuite pouvoir faire des CREATE INDEX idx_name ON tables(shape) ...

Les index merdouillent un peu : Q3 version 2 me retourne : ORA-13249: SDO_NN cannot be evaluated without using index, alors que les index sont certainement crées.

On a fait 2 versions des requêtes : une utilisant les index (opérateurs MDSYS.SDO_*), l'autre ne les utilisant pas (fonction SDO_GEOM.*)

Puis on a benchmarké les 2

DECLARE i: INTEGER := 1000; BEGIN temps de départ. loop 1-1000, faire la requete temps d'arrivé, afficher deltatime. END;

TODO List

Java application

Query 2-3
  • afficher le nom des Attractions qu'on peut joindre. Image:Icon yes.png
Query 4
  • Afficher les Litfs / Slopes à prendre Image:Icon yes.png

Idée de la base :

Faire un djikstra sans point d'arrivé, donc sur les plus courts chemins jusqu'à tous les points, et séléctionner les cp qui ont un lifts ! Image:Icon yes.png

Other
  • enlever les \n dans les print() Image:Icon yes.png
  • abstract super type -> NOT INSTANTIABLE Image:Icon yes.png

Ressouces

JDO (Java Data Objects)

OQL Ressources

  • SET SERVEROUTPUT ON permet d'utiliser les fonctions dbms_output.put_line('string'||variable);
  • Si on reçoit le message d'erreur ... created with compilation errors il faut lancer la commande SHOW ERRORS pour les afficher
  • SELECT * FROM USER_OBJECTS|USER_TYPES|USER_TABLES puis DESC theObject
  • IS DANGLING : find the REF which are no valid any more (caused by a delete somewhere)
  • exec drop_all
  • IS OF type
  • STRINGS et VARCHAR[2] sont données entre ' et non pas "
  • Pour le type BOOLEAN, on peut utiliser RAW(1).