• 20 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 20/10/2020

L'algèbre relationnelle

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Compétences évaluées

  • Transformer une question posée en un enchaînement d’opérations d’algèbre relationnelle
  • Effectuer une jointure, une projection, une restriction, une agrégation
  • Utiliser les opérateurs ensemblistes de l'algèbre relationnelle

Description

Testez vos compétences sur le modèle relationnel, plus particulièrement les opérateurs de l'algèbre relationnelle.

  • Question 1

    Vous gérez la base de données de votre entreprise. Dans celle-ci se trouve la relation "employés" qui répertorie tous les employés de l'entreprise. Voici les premières lignes de cette table :

    Vous recevez un appel du service des ressources humaines. Au bout du fil, on vous dit : "Notre logiciel ne fonctionne plus, et j'ai besoin rapidement de la liste des noms et prénoms des employés travaillant au département marketing". Quelles opérations allez-vous faire sur la relation employé pour lui fournir cette liste ?

    • Projection (employe, departement = "marketing") puis Restriction (employe, nom, prenom)

    • Restriction (employe, nom, prenom) puis Projection (employe, departement = "marketing")

    • Restriction (employe, departement = "marketing") puis Projection (employe, nom, prenom)

    • Projection (employe, nom, prenom) puis Restriction (employe, departement = "marketing")

  • Question 2

    De nouveaux employés sont entrés en poste ce matin même. Comme le logiciel des ressources humaines ne fonctionne toujours pas, le service des ressources humaines vous envoie un fichier provenant d'un logiciel tableur. Ce fichier contient les nouveaux employés. Vous importez ce fichier dans une table temporaire "nouvel_employe_temp" qui a le même schéma que la table "employés". Comment vérifiez-vous si le fichier envoyé ne contient pas d'employés déjà présents dans la base ?

    Au brouillon, effectuez chacun des 4 ensembles d'opérations proposés ci-dessous.

    On cherche à répondre à cette question : "Comment vérifiez-vous si le fichier envoyé ne contient pas d'employés déjà présents dans la base ?"

    Trois des quatre réponses vous permettent de répondre à la question ci dessus : lesquelles ?

    Attention, plusieurs réponses sont possibles.
    • En vérifiant que employe union nouvel_employe_temp contient au moins une ligne.

    • En vérifiant que employe intersection nouvel_employe_temp ne contient aucune ligne.

    • En vérifiant que employe différence (employe différence nouvel_employe_temp) ne contient aucune ligne.

    • En vérifiant que nouvel_employe_temp différence (nouvel_employe_temp différence employe) ne contient aucune ligne.

  • Question 3

    Vous avez également accès à des informations sur les bureaux des employés grâce à la table "bureau" dont voici les premières lignes :

    Le directeur arrive et vous demande "cela fait un petit bout de temps que nous n'avons plus de nouvelles du stagiaire George Bernard, peux-tu me dire à quel étage il travaille ?"

    Au brouillon, effectuez chacun des ensembles d'opérations proposés ci-dessous. L'une de ces réponses vous permet de répondre à la question de votre directeur : laquelle ?

    • Restriction(employe, nom = "Bernard" and prenom = "George") Intersection bureau

    • Restriction(Jointure(employe, bureau, employe.numero_bureau = bureau.id), nom = "Bernard" and prenom = "George")

    • bureau Intersection Restriction(employe, nom = "Bernard" and prenom = "George" and employe.numero_bureau = bureau.id)