|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : mai 2003 Messages : 158 ![]() |
Bonjour,
j'ai un petit problème, je n'arrive pas à écrire une expression algébrique. Avec la relation suivante -R1(L,T,S,N,Pr,C) où C indique le classement des skieurs et skieuses (N et Pr) à chaque épreuve de type T, catégorie S (homme/femme) au lieu L; Comment exprimer l'expression algébrique qui donne la réponse à la question suivante: Qui est arrivé dernier de la descente homme de Chamonix? En SQl c'est assez facile avec la fonction max qu'on applique sur la colonne Classement , on obtient une table à une entrée. Mais avec les opérations de l'algèbre relationnelle (selection, projection, produit cartésien, union, difference) est ce possible et si oui comment faire? Merci d'avance pour votre aide |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() |
Jé déplace dans "Général SGBD", en espérant que tu y trouves plus de réponses
__________________
"Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément." Nicolas Boileau "Expliquer empêche de comprendre si cela dispense de chercher" Quiz Oracle : venez tester vos connaissances ! |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : février 2006 Messages : 118 ![]() |
La réponse à ta question est oui, on peut le faire mais je ne crois pas que c'est très utilisé, mise à part dans les écoles pour un peu illustrer le principe de fonctionnement d'une base de données.
Je pense que le plus juste c'est de faire une "Sélection": F (ça représente une fonction) = ( L='Chamonix' et S='homme' et T='descente') Voilà la fonction est définie, maintenant tu dois écrire le signe de la sélection (c'est une lettre grec) avec entre parenthèse le nom de la fonction que tu utilises puis hors de la parenthèse le nom de la relation sur laquelle tu appliques cette sélection: SigneGrec (F) R1 | L | T | S | N | Pr | C et ici tu écris les tuples restant après la sélection, donc ceux concernant les descentes hommes de Chamonix. Reste à choisir uniquement celui qui est dernier, surement avec une nouvelle sélection sur ta nouvelle relation R2 (issue de la 1ère sélection), j'ignore comment on exprime la fonction. Surement un truc style F2 = (C = min(C)) Au final y'aura une dernière opération qui sera une projection pour éliminer les champs inutiles et ne garder que N et Pr (nom et prénom je suppose...). Le signe de la projection c'est la lettre Pi. Rfinal = Pi (R3) Pr, N C'est difficile d'écrire ces trucs ici... le Pr et le N sont en exposant, mais vers le bas. Bref ta réponse sera probablement 1-2 Sélections puis une Projection! A l'issue de la 1ère sélection tu as une nouvelle relation R2, à l'issue de la 2ème tu as une nouvelle relation R3 et à l'issue de la projection tu as une relation de nom Rfinal (enfin c'est libre le nom). En gros c'est ce que fais une base de données, elle sélectionne des tuples grâce à la clause WHERE (sélection), puis elle te donne les champs qui t'intéressent (projection). Il y a d'autres opérations possibles comme les jointures mais là tu n'as qu'une seule relation alors c'est pas très utile je crois. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com