Library

[30 min]

Soit le modèle relationnel suivant :

author (aid, aname)
book (bid, title, category) 
student (sid, sname, dept)
write (aid, bid)
borrow (sid, bid)
  • author représente une table d'auteurs. Chaque ligne contient le nom et l'identifiant d'un auteur

  • book représente une table de livres. Chaque ligne est un livre décrit par son identifiant, son titre et sa catégorie (roman, science-fiction, musique, etc.).

  • student représente une table d'étudiants. Chaque ligne est un étudiant décrit par son identifiant, son nom et son département (informatique, mécanique...).

  • write représente l'association entre les auteurs et les livres. Une ligne de cette table signifie que l'auteur aid a écrit le livre bid

  • borrow représente les informations de prêt de livre. Une ligne de cette table signifie que l'étudiant sid a emprunté le livre bid, à la date checkout-time et l'a retourné à la date return-time.

  • Tous les attributs sont des chaînes de caractères, sauf checkout-time et return-time qui sont des timestamps (la concaténation d'une date et d'un temps dans la journée en heures, minutes et secondes).

  • Pour author, book, student, tous les identifiants sont des clés. L'attribut title d'un livre est une clé. Les relations write et borrow expriment chacune une association N:M.

  • Deux auteurs ou deux étudiants peuvent avoir le même nom.

  • Un étudiant ne peut pas emprunter deux fois le même livre.

Réécrire le modèle relationnel correctement, en intégrant les clés (primaires, candidates et étrangères), et les types de données.

Rétro-concevoir le modèle MCD en UML

Écrire en algèbre relationnel les requêtes suivantes :

  • Trouver les titres de tous les livres que l'étudiant sid='S15' a emprunté

  • Trouver les titres de tous les livres qui n'ont jamais été empruntés par un étudiant

Écrire en SQL les requêtes suivantes :

  • Trouver tous les étudiants qui ont emprunté le livre bid='B30'

  • Trouver les titres de tous les livres empruntés par des étudiants en informatique (dept = 'informatique')

AccueilDevoirs > Exercice : Library< PrécédentSuivant >