We read your photo as:

Consider the following relational database schema where the fields StudentId and SubjectCode in the table Results are derived from the key fields in the tables Students and Subjects respectively, and referential integrity is enforced.

Computer Science

ScanSolve AI Answer

i) Validation des données

a) Qu'est-ce que la validation dans ce contexte ?

La validation est le processus de vérification des données saisies par un utilisateur pour s'assurer qu'elles sont exactes, complètes et conformes aux règles ou aux contraintes prédéfinies avant d'être stockées dans la base de données. Cela permet de maintenir l'intégrité et la qualité des données.

b) Décrivez une règle pour chaque type de donnée et une règle alternative.

  • Nom :
    • Règle : Le nom ne doit contenir que des caractères alphabétiques (lettres) et des espaces.
    • Règle alternative : Le nom ne doit pas être vide et sa longueur doit être comprise entre 2 et 50 caractères.
  • Genre :
    • Règle : Le genre doit être sélectionné parmi une liste prédéfinie de valeurs (par exemple, 'Homme', 'Femme', 'Autre').
    • Règle alternative : Le genre doit être un seul caractère 'H' ou 'F'.
  • Mot de passe :
    • Règle : Le mot de passe doit contenir au moins 8 caractères, incluant au moins une lettre majuscule, une lettre minuscule, un chiffre et un caractère spécial.
    • Règle alternative : Le mot de passe doit être différent du nom d'utilisateur et ne doit pas contenir de séquences numériques ou alphabétiques simples (par exemple, "123456" ou "azerty").
  • Adresse e-mail :
    • Règle : L'adresse e-mail doit suivre un format standard (par exemple, utilisateur@domaine.com) et contenir un '@' et un '.'.
    • Règle alternative : L'adresse e-mail ne doit pas déjà exister dans la base de données (vérification d'unicité).

ii) Schéma de base de données relationnelle

a) Expliquez ce que signifie le terme intégrité référentielle.

L'intégrité référentielle est une règle de base de données qui garantit que les relations entre les tables restent valides. Elle exige que toute valeur de clé étrangère dans une table corresponde à une valeur de clé primaire existante dans la table référencée, ou qu'elle soit NULL. Cela empêche la création de liens vers des données inexistantes.

b) Présentez une ligne d'exemple pour la table Students et deux lignes d'exemple pour les tables Subjects et Results.

  • Table Students (1 ligne) :

    StudentIDStudentNameDateOfBirth
    101Alice Dupont2000-01-15
  • Table Subjects (2 lignes) :

    SubjectCodeSubjectTitle
    CS101Computer Science
    MA201Calculus I
  • Table Results (2 lignes) :

    StudentIDSubjectCodeGrade
    101CS101A
    101MA201B

c) Dessinez un diagramme entité-relation (E-R) montrant les degrés des relations.

Voici le diagramme E-R, sans les attributs comme demandé :

+-----------+       1           M       +---------+       M           1       +-----------+
|  Students |---------------------------|  Results  |---------------------------|  Subjects |
+-----------+                           +---------+                           +-----------+

Explication des relations :

  • Une entité Students peut avoir plusieurs enregistrements dans la table Results (1 à M).
  • Une entité Subjects peut avoir plusieurs enregistrements dans la table Results (1 à M).
  • La table Results représente une relation de type plusieurs-à-plusieurs (M:N) entre Students et Subjects.

d) Écrivez une commande SQL utilisant Inner Join pour récupérer les ID et noms des étudiants ayant une note 'A' dans la matière "Computer Science".

SELECT
    S.StudentID,
    S.StudentName
FROM
    Students AS S
INNER JOIN
    Results AS R ON S.StudentID = R.StudentID
INNER JOIN
    Subjects AS Sub ON R.SubjectCode = Sub.SubjectCode
WHERE
    R.Grade = 'A' AND Sub.SubjectTitle = 'Computer Science';
Was this helpful?

Still stuck on this one?

Ask a follow-up, and the answer starts from this question.

Got a different question?Ask your own question