Тест: Gestion des emprunts en bibliothèque — 12 въпроса

Подробни въпроси и отговори

1. Dans le schéma relationnel de la bibliothèque, quel attribut permet d’identifier qu’un emprunt est encore en cours ?

book_id égal à NULL
return_date à NULL
penalité égale à 0
subscription_id égal à NULL

return_date à NULL

Обяснение

Un emprunt en cours est repéré par une valeur NULL dans return_date. Les autres attributs ne servent pas à marquer directement qu’un emprunt n’a pas encore été retourné.

2. Quelle contrainte exprime correctement le lien entre un membre et son type d’abonnement ?

BORROWINGS[book_id] doit référencer MEMBERS[member_id]
MEMBERS[subscription_id] doit référencer SUBSCRIPTIONTYPES[subscription_id]
BOOKS[category] doit référencer SUBSCRIPTIONTYPES[subscription_id]
MEMBERS[member_id] doit référencer BORROWINGS[borrow_id]

MEMBERS[subscription_id] doit référencer SUBSCRIPTIONTYPES[subscription_id]

Обяснение

Le champ subscription_id de MEMBERS doit bien pointer vers SUBSCRIPTIONTYPES via la clé subscription_id. Les autres propositions mélangent des clés étrangères qui concernent d’autres tables.

3. Que mesure la sélectivité d’un prédicat dans l’estimation des requêtes ?

Le nombre de pages occupées par une table
La taille fixe d’un bloc mémoire de jointure
La capacité du prédicat à réduire le nombre de tuples candidats
Le nombre de niveaux d’un index B-arbre

La capacité du prédicat à réduire le nombre de tuples candidats

Обяснение

La sélectivité décrit à quel point un filtre réduit les tuples candidats, ce qui sert à estimer la taille des résultats. Elle ne mesure ni le nombre de pages, ni le nombre de niveaux d’index.

4. Dans l’estimation des coûts, que représente le parcours d’un niveau d’un index B-arbre ?

Une lecture de page
Une lecture de table complète
Une lecture de ligne par tuple
Une écriture de page de données

Une lecture de page

Обяснение

Le cours indique qu’un niveau d’index B-arbre correspond à 1 page lue pour le calcul du coût. Ce n’est pas une lecture de table complète ni une lecture tuple par tuple.

5. Dans le contrôle d’intégrité par trigger, sur quoi doit se baser la vérification avant d’autoriser un nouvel emprunt ?

Sur le nombre d’emprunts actifs, donc ceux dont return_date vaut NULL
Sur le nombre total d’emprunts historiques du membre
Sur le nombre de livres disponibles dans BOOKS
Sur la valeur de la pénalité cumulée du membre

Sur le nombre d’emprunts actifs, donc ceux dont return_date vaut NULL

Обяснение

La contrainte vise le nombre de livres empruntés simultanément, donc uniquement les emprunts non rendus avec return_date = NULL. Compter tous les emprunts historiques donnerait une mauvaise décision.

6. Quel événement est principalement visé par le trigger chargé de faire respecter max_borrow_limit ?

L’insertion d’un nouvel emprunt
Le tri des abonnements par durée
La modification du titre d’un livre
La consultation d’un membre

L’insertion d’un nouvel emprunt

Обяснение

Le texte précise que les emprunts ne sont pas modifiés et que le cas principal est l’insertion, éventuellement complétée par la suppression selon l’implémentation. Les autres opérations ne concernent pas cette contrainte.

7. Que garantit le niveau d’isolation read committed lors d’une lecture ?

L’absence totale de blocage entre transactions
La visibilité des données non validées d’une autre session
Un ordonnancement strictement équivalent à une exécution sérielle
La lecture de données validées au moment de la lecture

La lecture de données validées au moment de la lecture

Обяснение

En read committed, une lecture ne doit voir que des données déjà validées. Les données non validées d’une autre transaction ne doivent pas être visibles.

8. Quel est l’effet principal du niveau d’isolation serializable ?

Supprimer toute nécessité de commit
Obtenir un comportement équivalent à une exécution en série
Permettre uniquement des transactions en lecture
Autoriser la lecture des versions non validées

Obtenir un comportement équivalent à une exécution en série

Обяснение

Serializable vise un comportement équivalent à une exécution séquentielle des transactions, quitte à bloquer ou faire échouer certaines opérations. Il ne permet pas la lecture des versions non validées.

9. Dans le mapping JPA, quelle association doit être portée par l’entité Member ?

Une association vers SubscriptionType via subscription_id
Une association vers Borrowing via return_date
Une association vers Book via book_id
Une association vers Members via member_id

Une association vers SubscriptionType via subscription_id

Обяснение

Member doit être mappé avec son type d’abonnement grâce à subscription_id. Les autres propositions confondent les rôles des entités et des clés étrangères.

10. Quelle propriété doit être correctement reflétée dans le mapping JPA de Borrowing ?

book_id doit toujours être NULL
member_id est stocké comme une chaîne de caractères
subscription_id est la clé primaire de Borrowing
return_date peut valoir NULL

return_date peut valoir NULL

Обяснение

Borrowing doit permettre que return_date soit NULL, car cela représente un emprunt en cours. Les autres propositions contredisent le schéma ou les associations décrites.

11. Quelle valeur de sélectivité faut-il utiliser par défaut lorsqu’on ne connaît pas la cardinalité d’un ensemble associé à un prédicat ?

CARD(X)/10
1/CARD(X)
1/10
1 - S(p)

1/10

Обяснение

Lorsque la cardinalité n’est pas connue, la sélectivité est estimée par défaut à 1/10. La formule 1/CARD(X) s’applique seulement quand CARD(X) est connue.

12. Comment se calcule la sélectivité d’une conjonction F = F1 ∧ F2 ?

S(F1) * S(F2)
S(F1) / S(F2)
S(F1) + S(F2) - S(F1) * S(F2)
1 - S(F1)

S(F1) * S(F2)

Обяснение

Pour une conjonction, la règle donnée est le produit des sélectivités : S(F) = S(F1) × S(F2). La formule d’inclusion-exclusion correspond, elle, à la disjonction.

Прегледайте с флашкарти

Запомнете отговорите с 12 флашкарти по Gestion des emprunts en bibliothèque.

Schéma relationnel bibliothèque — rôle ?

Modéliser les données et leurs relations

Optimisation requêtes — but ?

Réduire le coût d'exécution

Contraintes d'intégrité — mécanisme ?

Garantir la cohérence des données

Вижте флашкартите →

Учете с листа за преговор

Прочетете пълния лист за преговор на Gestion des emprunts en bibliothèque.

Вижте листа за преговор →

Similar courses

Създайте свои собствени тестове

Импортирайте курса си и AI генерира тестове с корекции за 30 секунди.

Генератор на тестове