2010-03-12 17 views
1

J'ai quelques difficultés à traduire certaines requêtes en algèbre relationnelle. J'ai un grand livre sur la base de données de conception et est un chapitre ici de l'algèbre, mais je Relational semblent encore avoir une certaine difficulté à créer la bonne:Aide pour traduire la requête SQL en algèbre relationnelle

thoes requêtes J'ai plus difficuelt avec ces est:

SELECT COUNT(cs.student_id) AS counter 
FROM course c, course_student cs 
WHERE c.id = cs.course_id 
AND c.course_name = 'Introduction to Database Design' 

SELECT COUNT(cs.student_id) 
FROM Course c 
INNER JOIN course_student cs ON c.id = cs.course_id 
WHERE c.course_name = 'Introduction to Database Design' 

et

SELECT COUNT(*) 
FROM student 
JOIN grade ON student.f_name = "Andreas" 
AND student.l_name = "Pedersen" 
AND student.id = grade.student_id 

Je sais la notation peut être un peu difficile à coller dans le forum HTML, mais peut-être il suffit d'utiliser un nom ou le nom grec commun.

Merci à l'avance Mestika

Répondre

0

"et voici un chapitre sur l'algèbre relationnelle"

Où ??? Cela ne semble pointer à rien. Quoi qu'il en soit, les exemples que vous donnez sont des exemples de ce que la perspective littérature-à-algébrique appelle habituellement des «agrégations», ou des «résumés», ou quelque chose de ce genre. Contrairement aux opérateurs "de base" comme JOIN, PROJECT, etc., le consensus sur la façon de traiter de tels "opérateurs d'agrégat" est relativement faible. Gardez à l'esprit qu'il n'y a pas de "l'algèbre relationnelle", et que différentes implémentations sont complètement libres de choisir quel ensemble d'opérateurs algébriques ils mettent à la disposition de leurs utilisateurs !!!

+0

Je pense que "et voici un" devrait vraiment être "et il y a un" (comme "dans le livre"). Je ne peux pas aider beaucoup autrement, j'ai peur :) – scherand