Ce document est un examen d'informatique de gestion conçu pour les étudiants universitaires du parcours Gestion (niveau S5). Il a pour objectif d'évaluer la maîtrise des concepts fondamentaux liés aux bases de données relationnelles et à leur gestion.
Il couvre principalement les notions suivantes :
- La conception de modèles conceptuels de données (MCD) et de modèles logiques de données (MLD).
- L'application du langage de requête structuré (SQL) pour l'interrogation et la manipulation de données.
Ce document propose des exercices pratiques pour chaque domaine abordé.
Modélisation Merise : Examen en Informatique de gestion
Télécharger PDFConception et Langage SQL en Informatique de Gestion
Partie 1 : Conception des Données
1. Modélisation de la Gestion des Commandes Clients
La société dispose d'un catalogue qui précise pour chaque produit : sa référence, sa désignation, son prix unitaire hors taxe et la quantité disponible en stock. À chaque fois qu'un client se présente pour passer une commande, un responsable vérifie l'existence du client dans la base de données avant d'enregistrer sa commande.
Pour chaque nouveau client, le responsable enregistre son CIN, son nom, son adresse et son téléphone. Chaque commande contient un numéro unique, la date, le client et la liste des produits commandés (sans oublier de mentionner la quantité de chacun), ainsi que le total que doit payer le client.
Pour modéliser cette gestion, un Modèle Conceptuel de Données (MCD) est élaboré. Voici les entités et relations principales basées sur la description :
Détail du Modèle Conceptuel de Données (MCD)
Basé sur la description, le MCD se composerait des entités et de leurs attributs principaux :
- Client : Identifié par CIN (clé primaire). Attributs : Nom, Adresse, Téléphone.
- Produit : Caractérisé par référence (clé primaire). Attributs : Désignation, PrixUnitaire, QuantitéStock.
- Commande : Chaque commande possède Code (clé primaire) et une Date.
Les relations et leurs cardinalités seraient :
- Passer : Une relation entre Client et Commande. Cardinalités : un Client passe une ou plusieurs Commandes (1,N). Une Commande est passée par un seul Client (1,1).
- DétailCom : Une relation entre Commande et Produit. Cardinalités : une Commande détaille un ou plusieurs Produits (1,N). Un Produit est détaillé dans zéro ou plusieurs Commandes (0,N). La relation "DétailCom" porte l'attribut "Quantité" (quantité de produit commandé).
Le total que le client doit payer est généralement un attribut calculé à partir des détails de la commande (prix unitaire * quantité pour chaque produit).
2. Modèle Logique de Données (MLD) pour la Gestion de Concours d'Art
La gestion de concours d’art organisés à différentes dates implique des participants qui obtiennent un nombre de points pour chaque objet réalisé. Une participation ne concerne qu’un seul objet et un seul concours. Un système de tutorat entre les candidats a également été instauré.
À partir d'un Modèle Conceptuel de Données (MCD) décrivant cette gestion, le Modèle Logique de Données (MLD) correspondant peut être représenté comme suit :
- Candidat (CNum, CNom, Cadresse, Cville, CTel, Cmail, #CNumC)
(Note : #CNumC est une clé étrangère qui fait référence à CNum, permettant de modéliser le système de tutorat où un candidat peut être le tuteur d'un autre.)
- Concours (RNum, RNom, Lieu, Date, Prix)
- Participation (PNum, Nombre_points, Nom_Objet_réalisé, #CNum, #RNum)
(Note : #CNum est une clé étrangère vers Candidat, et #RNum est une clé étrangère vers Concours.)
Partie 2 : Le Langage SQL
Schéma Relationnel
Les requêtes SQL sont basées sur le schéma relationnel suivant :
- Produit (Référence, désignation, prix, quantitéStock)
- Client (CIN, Nom, adresse, téléphone)
- Commande (Num, Date, #CIN) (Note : #CIN est une clé étrangère vers Client.)
- Liste (#Num, #Référence, quantité) (Note : Cette table représente les détails d'une commande, avec #Num comme clé étrangère vers Commande et #Référence comme clé étrangère vers Produit. Le couple (#Num, #Référence) forme la clé primaire composite.)
Requêtes SQL
Voici les requêtes SQL correspondant aux questions posées :
1. Référence et désignation des produits en stock limité :
Donnez la référence et la désignation des produits de quantité en stock inférieure à 100.
SELECT référence, désignation FROM Produit WHERE quantitéStock < 100;
2. Nom du client ayant passé une commande spécifique :
Donnez le nom du client ayant passé la commande numéro 5.
SELECT Nom FROM Client C, Commande D WHERE (C.CIN = D.CIN) AND (D.Num = 5);
3. Nombre de commandes par client :
Donnez le nombre de commandes de chaque client.
SELECT CIN, COUNT(*) AS Nombre FROM Commande GROUP BY CIN;
4. Détail des produits d'une commande spécifique :
Donnez la désignation, le prix et la quantité des produits de la commande 5.
SELECT désignation, prix, quantité FROM Produit P, Liste L WHERE (L.Num = 5) AND (P.référence = L.référence);
Foire Aux Questions (FAQ) sur les Bases de Données
Qu'est-ce qu'un Modèle Conceptuel de Données (MCD) ?
Le Modèle Conceptuel de Données (MCD) est une représentation graphique et formelle des données d'un système d'information, indépendante de toute contrainte technique. Il décrit les entités (objets d'intérêt) et les relations entre elles, ainsi que leurs propriétés (attributs) et les cardinalités (nombre de fois qu'une entité peut participer à une relation). Il se concentre sur "quoi" modéliser.
Quelle est la différence entre un MCD et un MLD ?
Le MCD (Modèle Conceptuel de Données) est une description abstraite et métier des données, axée sur "quoi" modéliser. Le MLD (Modèle Logique de Données) est une traduction du MCD vers une structure compatible avec un système de gestion de base de données relationnel (SGBDR), spécifiant les tables, les colonnes, les clés primaires et étrangères, c'est-à-dire le "comment" implémenter les données dans une base relationnelle.
À quoi sert le langage SQL dans la gestion des données ?
SQL (Structured Query Language) est un langage standardisé utilisé pour interagir avec les bases de données relationnelles. Il permet de définir la structure des données (DDL - Data Definition Language, par exemple CREATE TABLE), de manipuler les données (DML - Data Manipulation Language, par exemple INSERT, UPDATE, DELETE), et de les interroger (DQL - Data Query Language, par exemple SELECT), comme démontré dans les exemples de requêtes.