J'ai cette question.Comment convertir une commande Sql en algèbre relationnelle?
pour deux tables: tout d'abord, est employé: Employee(id, roomID)
et seconde est: Room(roomID, roomName)
La question est: Combien d'employés travaillent dans chaque chambre.
Je peux le faire facilement dans SQL Langue:
select Room.roomID, COUNT(Employee.id) as NumofEmployee
from Employee, Room
where employee.roomID = Room.roomID
group by Room.roomID
La même question, mais l'écriture en langage algèbre relationnelle. Cette question me fait tellement mal à la tête, car je sais dans ce langage, juste avoir une opération simple: join
selection
projection
difference
. Donc, beaucoup de commandes SQL je ne sais pas comment faire avec, par exemple: group by
ou count
.
Merci :)
Ne pas écrire "' de l'employé, Room'" comme ça. C'est mauvais. Utilisez le mot clé JOIN: 'FROM Employee INNER JOIN Pièce ON employee.roomID = Room.roomID'. Ce n'est pas aussi important à ce stade, mais au fur et à mesure que vous commencez à créer des requêtes plus difficiles, cela fait une différence énorme. –
@JoelCoehoorn pas que votre commentaire a fait quelque chose pour aider l'affiche du tout, quel raisonnement pouvez-vous citer pour cette déclaration? Je suis toujours sous l'impression que les programmeurs ne voulaient pas que vous le fassiez d'une certaine manière qu'ils ne permettent pas la construction? –
La raison pour laquelle la syntaxe existe est historique. C'est de la norme ansi-89. ansi-92 et plus tard préfèrent utiliser le mot-clé join, et certaines normes récentes ont même déprécié l'ancienne syntaxe A, B dans certaines situations. –