Accéder au contenu principal

CORRIGE TYPE DE L'EMD DE « Bases de données », S4, 2012-2013, 2e année GSI


Questions de cours : (répondre en deux ou trois lignes au max) (5 pts)

1 – Qu'est-ce qu'une « Base de données » ? Qu'est-ce que SGBD ? (1 pt)

Une base de données, c'est l'ensemble des données nécessaires au bon fonctionnement d'une entreprise, ensemble cohérent, intégré, partageable, et géré par un SGBD.

Un SGBD est un logiciel qui gère une base de donnée ; il a pour charge d'exécuter des tâches très diverses telle l'exécution de requêtes d'interrogation des données, le contrôle des accès concurrents, la reprise après panne, ...

2 – Quelles différences y a-t-il entre « Fichier de données », « Banque de données » et Base de données » (1 pt)

Un fichier de données est l'ensemble des données homogènes propres à une application tel le fichier électoral ou des abonnés au téléphone.
Dans une base de données, ces dernières sont hétérogènes mais liées entre elles.
Enfin une banque de données, c'est l'ensemble des informations propres à un domaine particulier tels la banque des données médicales, juridiques

3 – Qu'entend-t-on par « indépendance physique par rapport aux données (1 pt)

L' indépendance physique signifie qu'on peut modifier des informations liées au stockage des données ou aux moyens d'y accéder (chemin d'accès) sans que cela ne remette en cause la structuration des données. Par exemple, si on ajoute un indexe à une table, cela n'affectera pas les programmes ou requêtes qui utilisent cette table sinon qu'il ajoute en rapidité.

4 – Qu'est-ce que « l'indépendance logique » vis à vis des données (1 pt)

L'indépendance logique veut dire qu'on peut voir les données de différentes façons. Tous les utilisateurs ne voient pas toutes les données : un chef de personnel s'intéressera aux heures de vacations des enseignants alors que le service de scolarité s'intéressera aux notes des étudiants, les informations sur les étudiants et leurs notes ainsi que celles relatives aux enseignants et leurs heures de vacations faisant toutes partie de la même base de données.

5 – Une dépendance fonctionnelle traduit « un fait du monde réel ». Expliquez sur un exemple. (1 pt)

Cette phrase signifie qu'une dépendance fonctionnelle représente quelque chose de réel (qui existe en soi) dans le domaine à modéliser indépendamment de toute modélisation. Si on dit que le nom de pays détermine le nom de la capitale, c'est parce qu'il en est ainsi dans la réalité. Il y a une dépendance fonctionnelle Pays → capitale.

Exercice 1 : (5 pts)1

Une personne désire modéliser le système d’information correspondant aux réceptions qu’elle organise (personnes invitées, menus, ...). Ce système d’information doit lui permettre, entre autres choses, de pouvoir l’aider à organiser une réception en lui offrant la possibilité de construire sa liste d’invités, ainsi que son menu et les boissons associées. Une réception a lieu à une date donnée et y sont invitées des personnes dont on connaît le nom, le prénom, le sexe, l'âge et la profession (l’identification d’une personne se fait par son nom et son prénom). Le repas servi lors d’une réception comprend un certain nombre de plats identifiés par leur nom ("Mtouwam bel kouirât" par exemple) et leur nature ("plat principal", " dessert " par exemple). Pour pouvoir réussir un menu, il faut que les boissons servies soient en accord avec les plats. On dispose donc pour chaque plat d’une liste de types de limonades ou jus possibles caractérisés par leur marque ("Hammoud Boualem" par exemple) et un type ("Jus d'orange", "Selecto" par exemple). Pour que la réception soit réussie, il faut éviter qu’une dispute vienne gâcher l’événement et pour se faire la connaissance des amitiés et inimitiés entre personnes est primordiale. Enfin le dernier ingrédient d’une réception réussie est d’offrir au menu des plats que les invités apprécient et surtout d’éviter de leur servir des plats qu’ils n’aiment pas.

Représenter par un diagramme entité-association le schéma de la base de donnée modélisant la situation précédente.

LA SOLUTION SERA SCANNEE ET AJOUTEE ULTERIEUREMENT.

Exercice 2 : (5 pts)

On souhaite construire une base de données gérant des revues et les articles de ces revues. Une revue est caractérisée par un nom et une périodicité. Chaque revue parait sous la forme de numéros, chaque numéro étant identité par un nombre relatif à la revue et à l'année en cours (ex. le numéro 12 de Linux Magazine en 2003 est différent du numéro 12 de Linux Magazine en 2004). Un numéro est également caractérisé par un nombre de pages. Chaque numéro contient des articles écrits par un ou plusieurs auteurs. Un auteur est caractérisé par un nom, un prénom, ainsi qu'un email. Chaque article possède un titre et un contenu. Un même article peut apparaître dans plusieurs numéros d'une même revue ou de différentes revues. Lorsqu'un article apparaît dans un numéro d'une revue, il a une page de début et une page de fin. Un article peut faire référence à d'autres articles, en précisant le numéro et la revue dans lesquels l'article référencé a été publié.

La base de données doit permettre de répondre à des requêtes telles que "Combien de numéros de Linux Magazine sont parus en 2004 ?", "Quels sont les titres des articles parus dans au moins deux revues différentes ?", "Quels sont les auteurs ayant publiés dans le numéro 3 de la revue L'Histoire en 2004 ?" etc.

Proposez un schéma relationnel, en le construisant de façon intuitive, qui modélise la base de données désirée.


Solution :

Revue (Nom, Préiodicité)
Articles(N°Art, titre, contenu)
NumérosRevues(NomR*, année, numéro, NbrePages)
Auteurs(nom, prénom, email)
AuteurArticle(emailAuteur*, N°art*)
ArticleRevue(N°Art*, nomR*, année*, numéro*, pageDébut, pageFin)
RéférencesArticles(N°ArtRéférençant*, N°ArtRéférencé*, nomR*, année*, numéro*)

L'étoile signifie que l'attribut est une clé étrangère, le soulignement désigne l'a clé.

Exercice 3 : (5 pts)

1 – Expliquez ce que sont les 1ère, 2e et 3e formes normales. (2 pts)

Une relation est en 1ère forme normale si tous les attributs sont atomique, c'est à dire : simple (pas d'attribut complexe) et mono-valués (un attribut a une valeur unique).
Une relation est en 2e FN si elle est en 1ère FN et si aucune partie de la clé ne détermine un attribut non clé.
Enfin la 3e FN consiste en ce que dans une relation déjà en 2e FN, aucun attribut non clé ne détermine un autre attribut non clé.

2 – Donnez un exemple de relation qui ne vérifie pas la 1ère forme normale ? Expliquez. (1 pt)

La relation personne(N°SS, nom, prénoms) n'est pas en 1ère FN car l'attribut prénoms peut avoir plus d'une valeur (plusieurs prénoms). L'attribut prénoms est multi valué donc non atomique.

3 - Donnez un exemple de relation qui ne vérifie pas la 2e forme normale ? Expliquez. (1 pt)

La relation Livre (Titre, Editeur, PaysEditeur, NbreEditions). Dans cette relation, l'Editeur (faisant partie de la clé) détermine le pays de l'Editeur (ne faisant pas partie de la clé).

4 - Donnez un exemple de relation qui ne vérifie pas la 3e forme normale ? Expliquez. (1 pt)

La relation AdressePersonne(N°Personne, N°rue, Rue, Ville, Wilaya) n'est pas en 3e FN car l'attribut Ville qui n'est pas un attribut clé détermine l'attribut Wilaya lui aussi non clé.


Remarque :

Compte tenu des circonstances qui ont entravé le bon avancement du cours de BD, le module sera reprogrammé l'an prochain pour les L3 GSI en S1.
Le présent examen a été exigé par l'administration pour pourvoir valider l'année.
La note de TD également nécessaire sera remplacée par la note des deux exercices pour lesquels l'étudiant récoltera le plus de points rapportée à 20.



1 Cet exercice et celui qui le suit sont emprunté à deux sources différentes sur le net.

Commentaires

Posts les plus consultés de ce blog

Sujet de l'examen d'algorithmique 2020-2021 de l'université de Blida avec corrigé et solutions sous Lazarus

 Cliquez sur le lien et téléchargez : 1 - Le sujet de l'examen 2 - La solution 3 - Les exos 1 et 2 ainsi que la 2e partie de l'exo 4 alternatif sous forme de projet Lazarus zippés. Les autres exercices sont assez simples et pourraient être ajoutés ultérieurement.

Séries d'exercices du module "algorithmes et structures de données" (S3)

Série du premier semestre. Elle comporte également des énoncés de TP. Les exercices sont empruntés au livre de M. Zeggour aux éditions Chihab. Série n°1 – Les listes linéaires chaînées Développer les algorithmes suivants sur les listes linéaires chaînées : 1. Construire une LLC à partir de n données lues. 2. Calculer la longueur d'une LLC. 3. Rechercher dans une LLC l'élément qui a le plus grand nombre d'occurrences. 4. Accès par valeur dans une LLC. 5. Accès par position dans une LLC. 6. Suppression par valeur dans une LLC. 7. Suppression par position dans une LLC. 8. Insertion par position dans une LLC. 9. Interclassement de deux listes ordonnées. 10. Eclater une liste en 2 LLCs selon un critère donné. 11. Trier une LLC par la méthode des bulles. 12. Implémenter le modèle de LLC en utilisant la représentation contiguë. 13. Etudier les algorithmes de recherche, insertion et suppression d'un élément dans un vecteur. Les comparer avec ceux correspondant sur les LLCs...