Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:licence:3i009:tmealgebre

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
site:enseignement:licence:3i009:tmealgebre [28/09/2021 10:43] – [Prise en mains de RelaX] hubertsite:enseignement:licence:3i009:tmealgebre [24/09/2024 14:38] (Version actuelle) – [Prise en mains de RelaX] hubert
Ligne 7: Ligne 7:
  
 https://dbis-uibk.github.io/relax/calc/gist/0ed0d9d640284e81f44a79b595a28562 https://dbis-uibk.github.io/relax/calc/gist/0ed0d9d640284e81f44a79b595a28562
 +
 +(seulement si la base foot n'est pas visible dans Relax, récupérer la [[base foot pour Relax|baseFootRelax]])
  
 Voir les raccourcis clavier : Voir les raccourcis clavier :
Ligne 29: Ligne 31:
  
 Attention les noms de relation et d'attributs sont **sensibles à la casse**, contrairement à la convention SQL. Attention les noms de relation et d'attributs sont **sensibles à la casse**, contrairement à la convention SQL.
-Ecrire NJo mais pas Njo.+Ecrire NJo mais pas Njo. Laisser un **espace** entre un prédicat et un nom de relation : écrire σ a!=b (R) mais pas σ a!=b(R)
  
 {{ :site:enseignement:licence:3i009:relax_2.png?300 |}} {{ :site:enseignement:licence:3i009:relax_2.png?300 |}}
Ligne 38: Ligne 40:
 Si l'erreur suivante s'affiche <fc #ff0000>**Error: only assignments found; query is missing Help - Assignments**</fc> : Si l'erreur suivante s'affiche <fc #ff0000>**Error: only assignments found; query is missing Help - Assignments**</fc> :
 vous avez défini des expressions algébriques mais il manque la requête à exécuter : ajouter une ligne avec le nom de la dernière variable définie (c'est la ligne //r2// dans l'exemple ci-dessus) vous avez défini des expressions algébriques mais il manque la requête à exécuter : ajouter une ligne avec le nom de la dernière variable définie (c'est la ligne //r2// dans l'exemple ci-dessus)
 +
 +
 +Lorsque Relax évalue une division, il compare les attributs du dénominateurs avec les attributs situés le plus à droite au numérateur. Exemple pour diviser (sponsor, equipe) par (equipe) le dénominateur doit etre (sponsor, equipe) et non (equipe,sponsor).
 +
 +
  
 ===== Base de données : Foot ===== ===== Base de données : Foot =====
Ligne 47: Ligne 54:
   * **Match** (Eq1, Eq2, Date, St),    * **Match** (Eq1, Eq2, Date, St), 
   * **Distance** (st1, st2, nbkm)     * **Distance** (st1, st2, nbkm)  
-Rappel : les deux relations Match et Distance sont asymétriques. Distance n'est pas réflexive.+Rappel : les deux relations Match et Distance sont symétriques. Distance n'est pas réflexive.  
 + 
 +Un sponsor sponsorise une équipe si ce sponsor sponsorise au moins un joueur de l'équipe. 
 + 
 +Noter que Relax permet de renommer entièrement une table (ex. σ x.a > 1 ( ρ x ( A ) )), plutôt que de renommer des attributs, ce qui peut simplifier l'écriture des requêtes.
  
 /*Rmq: ceux qui ont suivi 2i009 connaissent cette base*/ /*Rmq: ceux qui ont suivi 2i009 connaissent cette base*/
  
 +/*
 Pour avoir des relations symétriques, définir DistanceSym et MatchSym comme cela: Pour avoir des relations symétriques, définir DistanceSym et MatchSym comme cela:
- + 
     Distancemirror1 = ρ st3 ← st1, st4 ← st2  (Distance)     Distancemirror1 = ρ st3 ← st1, st4 ← st2  (Distance)
     Distancemirror2 = ρ st2 ← st3, st1 ← st4  (Distancemirror1)     Distancemirror2 = ρ st2 ← st3, st1 ← st4  (Distancemirror1)
Ligne 66: Ligne 79:
   * **DistanceSym** (st1, st2, nbkm)     * **DistanceSym** (st1, st2, nbkm)  
  
 +*/
  
  Ecrire et tester les requêtes suivantes. Les résultats attendus sont dans le fichier {{:site:enseignement:licence:3i009:foofleraevalresultats.pdf|}}   Ecrire et tester les requêtes suivantes. Les résultats attendus sont dans le fichier {{:site:enseignement:licence:3i009:foofleraevalresultats.pdf|}} 
Ligne 88: Ligne 101:
   *  p. Quel sponsor a sponsorisé exactement un joueur par équipe ? (attention le résultat est vide et non pas Adadis)   *  p. Quel sponsor a sponsorisé exactement un joueur par équipe ? (attention le résultat est vide et non pas Adadis)
   * q : réécrire la requête o sans utiliser l'opérateur divide   * q : réécrire la requête o sans utiliser l'opérateur divide
- 
  
  
  
site/enseignement/licence/3i009/tmealgebre.1632818621.txt.gz · Dernière modification : de hubert