jeudi 4 décembre 2014

Correction des exercices sur l'algèbre relationnelle

A.    Expressions d’Algèbre Relationnelle
a.      π <NOM> (σ <AGE > 20> (CLIENT))
b.      π <NOM> (σ <NPROD=13> (CMD) *(CMD.NCLT = CLIENT.NCLT) (CLIENT))
c.      π <NOM> (σ <COULEUR=ROUGE> (PROD) *(PROD.NPROD = CMD.NPROD) (CMD) *(CMD.NCLT = CLIENT.NCLT)  (CLIENT))
d.      π <COULEUR> (σ <NOM=DUPONT> (CLIENT) *(CLIENT.NCLT = CMD.NCLT) (CMD) *(CMD.NPROD = PROD.NPROD) (PROD))
e.      π <NOM> (CMD) *(CMD.NCLT = CLIENT.NCLT) (CLIENT)
f.       π <NOM> (σ <COULEUR = ROUGE OU COULEUR = VERT> (PROD) *(PROD.NPROD = CMD.NPROD) (CMD) *(CMD.NCLT = CLIENT.NCLT) (CLIENT))


g.  R1 = π <COULEUR> (σ <COULEUR=ROUGE OU COULEUR=VERT> (PROD))
R2 = π <NOM,COULEUR> ((CLIENT) *(CLIENT.NCLT = CMD.NCLT) (CMD) *(CMD.NPROD = PROD.NPROD) (PROD))
R3 = R2 / R1
R4 = π<NOM> (σ<COULEUR=ROUGE OU COULEUR=VERT> (PROD) *(PROD.NPROD = CMD.NPROD) (CMD) *(CMD.NCLT = CLIENT.NCLT) (CLIENT))

à R = R4 - R3

B.    Arbres algébriques
a. 


b.



c.


d.


Exercices sur l'algèbre relationnelle


Soit les trois tables suivantes :
CLIENT(nclt, nom, age, adresse)
PROD(nprod, design, couleur, volume)
CMD(nclt, nprod, qte, date).


A.    Ecrire les expressions d’Algèbre Relationnelle permettant de résoudre les requêtes suivantes :
a.       La liste des noms de clients qui ont un age > 20.
b.      La liste des noms de clients ayant commandés le produit numéro 13.
c.       La liste des noms de clients ayant commandés un produit de couleur rouge.
d.      La couleur des produits commandés par monsieur Dupont.
e.       La liste des noms de clients ayant commandés au moins un produit.
f.       La liste des noms de clients ayant commandés un produit vert ou rouge.
  1. La liste des noms de clients ayant commandés un produit vert ou bien rouge.
B.     Donner les arbres algébriques permettant de résoudre les requêtes suivantes :
a.       La liste des noms de clients ayant commandés au moins deux produits.
b.      La liste des clients qui ont un age > 50 et qui n’ont pas commandé un produit vert.
c.       La liste des noms de clients qui ont commandé tous nos produits.
  1. La liste des noms de clients qui ont commandé tous nos types de pince.

Corrigés des exercices sur les bases de données


Corrigé N°1

Modèle relationnel


Corrigé N°2

Modèle relationnel


Corrigé N°3

Modèle relationnel


Exercices sur les base de données

Procédez au passage des modèles conceptuels suivants aux modèles relationnels
Exercice 1

Exercice 2
Exercice 3


Base de données: Gestion des prêts de cassettes vidéo aux clients

Soit la relation suivante qui permet de gérer les prêts de cassettes vidéo aux clients :
          PrêtK7 (NumCli, NomCli, AdrCli, NumK7, TitK7, DatePrêt)
munie de la liste des dépendances fonctionnelles suivante :
NumCli                                  à        NomCli, AdrCli
NumK7                                  à        TitK7
NumCli, NumK7                   à        DatePrêt
NB : On suppose que  AdrCli est atomique.
Travail demandé :
1. Donner le graphe des dépendances fonctionnelles de PrêtK7.
2. Donner une décomposition de PrêtK7  en relations 1FN, 2FN et 3FN sans perte d’informations et sans perte de dépendances.

Correction :
1. Donner le graphe des dépendances fonctionnelles de PrêtK7.

1. Donner une décomposition de Factures en relations 1FN, 2FN et 3FN sans perte d’informations et sans perte de dépendances.
§ En 1°Forme Normale :
PrêtK7(NumCli, NumK7, NomCli, AdrCli, TitK7, DatePrêt)
§ En 2°Forme Normale :
La relation PrêtK7 n’est donc pas en 2FN.
En effet, dès qu’un client loue plusieurs cassettes, son nom et son adresse sont inutilement reproduits dans la base.  De même, le titre d’une cassette est répété pour chacun de ses emprunts.
Une application de la 2°Forme Normale conduirait à l’éclatement de la relation PrêtK7 en trois relations en 2FN :
Client (NumCli, NumCli, AdrCli)
K7 (NumK7, TitK7),
Prêt (NumCli, NumK7, DatePrêt).
§ En 3°Forme Normale : Sans changement.

dimanche 30 novembre 2014

Corrigé exercice UML :gestion de scolarité

Le diagramme des cas d’utilisation du système étudié :



Le description  textuelle pour les cas d’utilisation :


*UC1 :« s’inscrire aux cours » :

Titre: s’inscrire aux cours
Résumé: Ce cas d’utilisation permet à l'étudiant de sélectionner cours et modifier son choix.
Acteurs: Principal : Etudiant
              Secondaire : Système de facturation
Date  de création: 30/11/2014                       Date de mise à jour: 30/11/2014
Version: 1.0.0                                               Responsable: Mr  X Y


Pré conditions
Le catalogue contient des cours ;
Scénario nominal
1. l’étudiant obtient le catalogue
2.    l’étudiant fait un choix
3. le système de facturation, sur la base des choix effectués par l’étudiant, calcule les droits d’inscription
4.    l’étudiant s’acquitte des frais.
Post conditions
L’étudiant est inscrit dans les cours de son choix


*UC2 :« lister les étudiants inscrits » :

Titre: lister les étudiants inscrits
Résumé: Ce cas d’utilisation permet au professeur de se renseigner sur la liste des étudiants inscrits
Acteurs: Principal : Professeur
Date  de création: 30/11/2014                         Date de mise à jour: 30/11/2014
Version: 1.0.0                                               Responsable: Mr X Y


*UC3 :« préparer le catalogue des cours » :
Titre: préparer le catalogue des cours
Résumé: Ce cas d’utilisation permet à l’employé du service d’inscription de  mettre à jour le catalogue
Acteurs: Principal : employé service d’inscription
Date  de création: 30/11/2014                       Date de mise à jour:30/11/2014
Version: 1.0.0                                               Responsable: Mr X Y

*UC4 :« sélectionner cours » :
Titre: sélectionner cours 
Résumé: Ce cas d’utilisation permet au professeur de  choisir les cours qu’ils sont disposés à assurer
Acteurs: Principal : Professeur
Date  de création: 30/11/2014                         Date de mise à jour: 30/11/2014
Version: 1.0.0                                               Responsable: Mr  X Y


Exercice UML: gestion de scolarité

UML-Etude des cas

Objectifs :

Les cas d’utilisation ont pour  objectif de :
-  Définir les besoins fonctionnels du système ;
-  Définir les frontières du système avec son environnement ;
-  Etablir les scénarios fonctionnels qui seront utilisés;
- Servir de support de référence tout au long des phases de développement du   système
L’étude de cas concerne un système de gestion de scolarité dans une université, et commence par l’identification des acteurs et les cas d’utilisation du système.

Acteurs :

On peut recourir aux questions suivantes pour identifier les acteurs du système :
ü  Qui est intéressé par un besoin donné?
ü   Qui profitera de l’utilisation du système?
ü   Qui fournira des données au système?
ü   Une personne joue t-il plusieurs rôles?
ü   Le système fait-il appel à des ressources externes?
ü  Plusieurs personnes jouent-elles le même rôle ?

Les acteurs du système étudié :

Les questions posées pour identifier les acteurs ont donnés lieu aux réponses suivantes :
  • L’étudiant ;
  • Le professeur ;
  • L’employé  du service d’inscription ;
  • Le système de facturation ;

Cas d’utilisation :

Les cas d’utilisation modélisent un dialogue entre un acteur et le système.
Les questions suivantes contribuent à identifier les cas d’utilisation du système :
ü  Quelles sont les taches de chaque acteur ?
ü  Un acteur va-t-il créer, stocker, modifier, supprimer et lire des informations du système ?
ü  Un acteur aura-t-il besoin d’informer le système d’un changement externe inopiné ?
ü  Quels cas d’utilisation décriront la maintenance du système ?

Les cas d’utilisation du système étudié :

  • S’inscrire  aux cours ;
  • Sélectionner des cours à enseigner ;
  • Lister des étudiants inscrits aux cours ;
  • Choisir cours ;
  • Préparer  catalogue des cours ;
  • Mettre à jour les listes des cours ;
  • Mettre à jour des informations relatives aux professeurs ;
  • Mettre à jour des informations relatives aux étudiants ;
Travail demandé :
  1. Etablir le diagramme des cas d’utilisation du système
  2. Etablir la description textuelle pour certains cas d’utilisations

samedi 29 novembre 2014

Réalisation d'une application de gestion de scolarité (Dotnet)

Présentation de l'application:

- Interface d'accueil:

C’est la fenêtre principale de l’application  permettant le choix  d’un mode d’accès (déconnecté ou connecté).





- Interface de travail:

Cette interface offre la possibilité à l’utilisateur de choisir un élément parmi les menus disponibles.


- Menus d'application:

Chaque menu comprend plusieurs sous menu concernant l’affichage, l’ajout, la modification et la suppression.




- Gestion de base:

  • Table étudiant
Une fois  cliqué sur le sous menu liste étudiant, l’utilisateur peut visualiser la table étudiant récupéré à partir de la base de donnée.


L’utilsateur a la possibilité d'ajouter un étudiant dans la base de données à travers cette interface:


Pour modifier un étudiant,il suffit de cliquer sur l’onglet modifier, la liste déroulante  associée  va se charger par les champs de la table étudiant. Après avoir choisi un numéro, les textbox seront remplis et l’utilisateur aura la main pour modifier ces champs.




C’est la même procédure  que celle relative à la modification.
NB : les captures des interfaces pour le mode déconnecté sont les même que celles du mode déconnecté.


  • Table note:
C’est l’interface qui permet à l’utilisateur de choisir dans la liste déroulante un numéro d’étudiant pour lequel on va afficher les notes par étudiant.



- Quitter l'application:

L'onglet quitter permet à la fois de revenir à la fenêtre d’accueil pour changer le mode d’accès ou de quitter l’application