24-NSIJ2G11-3

  1. Puisque \(11 = 8 + 2 + 1 = (1011)_2\) ce pompier présente les aptitudes « Équipier » , « Chef d'équipe » et « Conducteur ». Ce codage décimal correspond effectivement à un chef d'équipe conducteur.

  2. Un chef chef d'agrès conducteur a pour aptitude « Équipier », « Chef d'agrès », « Chef d'équipe » et « Conducteur ». Son codage décimal est donc \((1111)_2 = 1 + 2 + 4 + 8 = \boxed{15}\).

  3. \(4 = (100)_2\) code seulement l'aptitude « Chef d'agrès ». Or d'après l'énoncé, un chef d'agrès suppose aussi les aptitudes « Équipier » et « Chef d'équipe », ce code n'est donc pas valide.

  4. 8 bits forment un octet, donc un octet peut coder 8 aptitudes, ce qui permet de coder ici 4 nouvelles aptitudes supplémentaires.

  5. Puisqu'un caractère est codé sur 8 bits et qu'une aptitude s'écrit au maximum sur 10 caractères, les 4 aptitudes, codées en chaînes de caractères, utilise 4 × 8 × 10 = 320 bits. Le codage binaire de ces aptitudes utilise seulement 8 bits. Donc l'économie de mémoire est de \((320 - 8) / 320 \approx \boxed{98 \%}\).

  6. Une clé primaire est un attribut qui permet d'identifier de manière unique un enregistrement d'une relation. Une clé étrangère est un attribut qui fait référence à une clé primaire d'une autre relation, et permet donc de relier deux tables.

  7. L'agrès d'id 1 n'existe pas dans la table agres. La clé étrangère idagres ne peut pas faire référence à une clé primaire inexistante, cette requête viole la contrainte d'intégrité référentielle.

  8. UPDATE intervention
    SET heure = '10:44:06'
    WHERE jour = '2024-02-15' AND heure = '01:44:06';
    
  9. nom
    Charlot
    Red
    Kevin
  10. SELECT nom
    FROM personnel
    WHERE qualif >= 16 AND actif = 1;
    
    • La requête A renvoie 2, le nombre d'agrès prêt à intervenir le 27 Mars 2024.
    • La requête B renvoie 1, le nombre d'agrès effectivement intervenu le 27 Mars 2024.
  11. SELECT DISTINCT p.nom
    FROM agres     AS a
    JOIN personnel AS p ON p.matricule = a.idchefagres
    WHERE a.jour = '2024-02-15';
    
  12. SELECT DISTINCT p.nom
    FROM intervention AS i
    JOIN moyen        AS m ON m.idinter = i.id
    JOIN agres        AS a ON a.id = m.idagres
    JOIN personnel    AS p ON p.matricule = a.idchefagres
    WHERE i.jour = '2024-06-11';