Solution de l’examen 1 en informatique de gestion - Modélisa

Ce document propose la solution complète de l'examen en informatique de gestion, spécifiquement conçu pour les étudiants du Parcours Gestion en semestre 5. Il s'agit d'un outil pédagogique essentiel pour la compréhension et la révision des principes fondamentaux des bases de données.

Ce corrigé détaillé explore plusieurs aspects cruciaux, incluant :

  • L'élaboration de Modèles Conceptuels et Logiques de Données (MCD et MLD).
  • L'analyse des cardinalités et la transformation des modèles.
  • La rédaction de requêtes SQL pour interroger et manipuler des informations complexes.

Il constitue une ressource précieuse pour consolider les acquis et préparer les évaluations.

Solution de l’examen 1 en informatique de gestion - Modélisa

Solution de l’examen 1 en informatique de gestion

Télécharger PDF

Solution d'Examen en Informatique de Gestion - Parcours S5

Ce document présente les solutions détaillées pour un examen d'informatique de gestion, abordant la modélisation conceptuelle de données (MCD), la modélisation logique de données (MLD) et les requêtes SQL.

Exercice 1 : Modélisation d'une agence de location de maisons

Une agence de location de maisons désire gérer sa liste de logements. Elle souhaite connaître l'implantation de chaque logement (le quartier : Sidi Brahim, Saada, Bensouda, ...), ainsi que les personnes qui les occupent (les signataires uniquement). Le loyer dépend d'un logement, mais en fonction de son type (maison, studio, T1, T2...), l'agence facturera toujours en plus du loyer la même somme forfaitaire à ses clients. Par exemple, le prix d'un studio sera toujours égal au prix du loyer + 100 dh de charges forfaitaires par mois. Pour chaque logement, on enregistre l'adresse, la superficie et le loyer. Quant aux individus qui occupent les logements (les signataires du contrat uniquement), on se contentera de leurs noms, prénoms, date de naissance et numéro de téléphone. Pour chaque quartier, on désire connaître le niveau (Haut standing, économique, ...) ainsi que la distance séparant le quartier de l'agence. L'historique de l'occupation des logements par les individus n'est pas géré. De plus, un individu ne peut être signataire que d'un seul contrat.

1. Modèle Conceptuel de Données (MCD)

Le MCD suivant représente les entités, leurs attributs et les associations avec leurs cardinalités :

  • Entité Logement :
    • Lcode (clé primaire)
    • Adresse
    • Superficie
    • Loyer
  • Entité Quartier :
    • Qcode (clé primaire)
    • Nom
    • Distance
    • Niveau
  • Entité Type_Logement :
    • Tcode (clé primaire)
    • Nom du type (par exemple, Tnom)
    • Charges forfaitaires (par exemple, Charge)
  • Entité Locataire :
    • Loc_code (clé primaire)
    • Nom (par exemple, Loc_Nom)
    • Prénom (par exemple, Loc_Prenom)
    • Date de naissance (par exemple, Loc_dateN)
    • Numéro de téléphone (par exemple, Loc_Tel)

Associations et cardinalités :

  • Logement Implanté Quartier : Un logement est implanté dans un et un seul quartier (1-1). Un quartier peut implanter zéro à plusieurs logements (0-N).
  • Logement Est_de Type_Logement : Un logement est d'un et un seul type de logement (1-1). Un type de logement peut concerner zéro à plusieurs logements (0-N).
  • Logement Occupe Locataire : Un locataire occupe un et un seul logement (1-1). Un logement peut être occupé par zéro à plusieurs locataires (0-N).

2. Modèle Logique de Données (MLD)

Le MLD déduit du MCD pour une base de données relationnelle est le suivant :

  • Logement (Lcode, Adresse, Superficie, Loyer, #Qcode, #Tcode)
  • Quartier (Qcode, Nom, Distance, Niveau)
  • Type_Logement (Tcode, Nom du type, Charges forfaitaires)
  • Locataire (Loc_code, Nom, Prénom, Date de naissance, Numéro de téléphone)

Exercice 2 : Modélisation d'une rencontre de Tennis

L'objectif de cet exercice est de déterminer les cardinalités et le MLD pour une modélisation de rencontre entre deux joueurs de tennis.

1. Cardinalités de l'association "Rencontre"

Si l'on considère un seul match, un joueur joue avec un seul joueur (1-1). Cependant, si l'on prend en compte l'ensemble des matchs, un joueur peut jouer avec plusieurs autres joueurs (1-N). Cette particularité doit être explicitée par une règle de gestion claire dans la solution de modélisation.

2. Modèle Logique de Données (MLD)

Voici le MLD correspondant à la gestion des joueurs et de leurs rencontres :

  • Joueurs (id_joueur, nom, prenom, club)
  • Rencontre (id_joueur1, id_joueur2, date, score, gagnant)

    Note : id_joueur1 et id_joueur2 sont des clés étrangères faisant référence à id_joueur de la table Joueurs. La clé primaire de la table Rencontre est composée de (id_joueur1, id_joueur2, date). Le champ gagnant enregistre l'identifiant du joueur victorieux.

Exercice 3 : Requêtes SQL pour la gestion de location de maisons

Cet exercice porte sur l'écriture de requêtes SQL basées sur le MLD suivant pour la gestion de location de maisons :

  • Maison (Mid, Adresse, Superficie, Loyer, #Lid) : La superficie est exprimée en mètres carrés.
  • Locataire (CIN, Nom, Prénom, Fonction, Téléphone)
  • Lieu (Lid, Nom du lieu)
  • Location (#Mid, #CIN) : Table d'association gérant les liens entre maisons et locataires.

1. Une maison peut-elle avoir plusieurs locataires ?

Réponse : Vrai.

Justification : La table Location a une clé primaire composée (Mid, CIN). Cela indique une relation de type plusieurs-à-plusieurs (N-N) entre Maison et Locataire. Par conséquent, une maison (identifiée par Mid) peut être louée par plusieurs locataires (identifiés par CIN), et un locataire (CIN) peut louer plusieurs maisons (Mid).

2. Liste des maisons de superficie supérieure à 100 m²

Requête SQL pour obtenir toutes les informations des maisons dont la superficie est supérieure à 100 mètres carrés :

SELECT *
FROM Maison
WHERE Superficie > 100;

3. Maisons (Mid, Adresse) situées à "Sidi Brahim"

Requête SQL pour afficher l'identifiant et l'adresse des maisons localisées dans le lieu "Sidi Brahim" :

SELECT M.Mid, M.Adresse
FROM Maison M, Lieu L
WHERE (M.Lid = L.Lid) AND (L.Nom = 'Sidi Brahim');

4. Nombre de locataires par maison de Loyer supérieur à 3000 dhs

Requête SQL pour compter le nombre de locataires pour chaque maison ayant un loyer supérieur à 3000 dirhams :

SELECT M.Mid, COUNT(*) AS Nombre
FROM Maison M, Location L
WHERE (M.Mid = L.Mid) AND (M.Loyer > 3000)
GROUP BY M.Mid;

5. Maison (Mid, Adresse, Superficie) ayant le loyer le plus élevé

Requête SQL pour trouver l'identifiant, l'adresse et la superficie de la maison avec le loyer maximal :

SELECT Mid, Adresse, Superficie
FROM Maison
WHERE Loyer = (SELECT MAX(Loyer) FROM Maison);

Foire Aux Questions (FAQ)

Qu'est-ce qu'un MCD et un MLD dans la modélisation de données ?

Le MCD (Modèle Conceptuel de Données) est une représentation abstraite des données d'un système d'information, décrivant les entités, leurs attributs et les associations qui les relient, sans se soucier de l'implémentation technique. Le MLD (Modèle Logique de Données) est la traduction du MCD en une structure de tables, de colonnes et de clés (primaires et étrangères) prête à être implémentée dans une base de données relationnelle.

Comment les cardinalités aident-elles à comprendre les relations entre entités ?

Les cardinalités sont des indicateurs numériques attachés aux associations dans un MCD. Elles précisent le nombre minimum et maximum de fois qu'une entité peut participer à une association. Par exemple, une cardinalité "1-1" signifie que l'entité participe une et une seule fois, tandis que "0-N" signifie qu'elle peut participer zéro à plusieurs fois. Elles sont essentielles pour définir les règles de gestion des données.

Quelle est l'utilité des requêtes SQL pour interroger une base de données ?

Les requêtes SQL (Structured Query Language) sont le langage standard pour communiquer avec les bases de données relationnelles. Elles permettent d'effectuer une multitude d'opérations, telles que l'insertion, la modification et la suppression de données, mais surtout l'extraction d'informations spécifiques. Grâce à des clauses comme WHERE, JOIN, GROUP BY, et les sous-requêtes, il est possible de récupérer des ensembles de données très précis et d'obtenir des analyses complexes.

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne