Exercice 0 profil etudiant v1 Théorie des graphes

Théorie des graphes : Exercice 0 profil etudiant v1

Télécharger PDF

UNIVERSITE CADI AYYAD

Facult ́e PolyDisciplinaire de Safi

Fili`ere SMI/SMA

2019−2020Base de donn ́ees Avanc ́ees

TD / TP : LCD

Exercice 0

Profile

Cr ́eer une fonction de v ́erification du mot de passe qui satisfait les conditions suivantes :

•Le mot de passe doit d ́epasser 6 caract`eres.

•Le mot de passe doit ˆetre diff ́erent du nom d’utilisateur.

•Le nouveau mot de passe doit ˆetre diff ́erent de l’ancien mot de passe

Donner les ́etapes d’utilisation de cette fonction.

Exercice 1

Les ́etudiants notent leurs profs

La FPS veut mettre un dispositif pour permettre aux ́etudiants(ide,nome) d’ ́evaluer leurs

profs(idp,nomp). Pour cela, on doit cr ́eer une application PL/SQL. Un ́etudiant peut donner

une seule note entre 1 et 5 `a un de ses profs. Un prof peut consulter la moyenne des notes

donn ́ees par ses ́etudiants.

•Partie I (utilisateur system):

L’utilisateur system doit cr ́eer un utilisateurDEVAPP(d ́eveloppeur application) avec

les privil`eges n ́ecessaires pour d ́evelopper cette application qui seront rassembl ́es dans

un rolerolea.

•Partie II (utilisateur DEVAPP):

1. Donner leMLDavec des commentaires.

2. Cr ́eer une proc ́edurenoterprof()qui permet `a un ́etudiant de noter un prof.

3. Cr ́eer une proc ́edureconsulter()qui permet `a un profs de consulter la moyenne

de ces notes.

4. Cr ́eer deux rolesrole1pour les ́etudiants etrole2pour les profs avec leurs

privil`eges.

5. Cr ́eer un utilisateurADMINqui va g ́erer l’application.

6. Donner un exemple d’ajout d’un ́etudiant et d’un prof.

7. Cr ́eer un utilisateuretd1etprof1avec les privil`eges n ́ecessaires.

•Partie III (utilisateur etd1):

. 8. Donner un exemple d’appel de la proc ́edurenoterprof().

•Partie IV (utilisateur prof1):

. 9. Donner un exemple d’appel de la proc ́edureconsulter().

Mardi 7 Avril 2020A. Bendarag

UNIVERSITE CADI AYYAD

Facult ́e PolyDisciplinaire de Safi

Fili`ere SMI/SMA

2019−2020Base de donn ́ees Avanc ́ees

Exercice 2

Mails par LCD

Le but de cet exercice est de donner la possibilit ́e `a des utilisateurs SQL*PLUS de s’envoyer

des mails. Un utilisateur peut envoyer un mail soit `a un utilisateur soit `a tous les utilisateurs.

Un utilisateur peut consulter ces mails et il peut les supprimer.

•Partie I (utilisateur system):

1. Donner leMLDavec des commentaires.

2. Cr ́eer une proc ́edureenvoyer()qui permet `a un utilisateur d’envoyer un mail.

3. Cr ́eer une proc ́edurelire()qui permet `a un utilisateur de lire un mail.

4. Cr ́eer une proc ́eduresupprimer()qui permet de supprimer un mail.

5. Cr ́eer deux utilisateursuser1etuser2avec les privil`eges n ́ecessaires.

•Partie II(utilisateurs user1 et user2):

1. Donner un exemple d’appel de la proc ́edureenvoyer().

2. Donner un exemple d’appel de la proc ́edurelire().

3. Donner un exemple d’appel de la proc ́eduresupprimer().

Exercice 3

LCD forum de discutions

On souhaite r ́ealiser une base de donn ́ees pour stocker un forum de discussion sur internet.

Les utilisateurs du forum devront ˆetre inscrits, la base de donn ́ee contiendra donc un profil

de l’utilisateur (nom, mail, date d’inscription, nombre de participation au forum). Le forum

sera divis ́e en diff ́erentes salles de discussion, chaque salle aura une th ́ematique et un de ses

utilisateurs jouera le rˆole de mod ́erateur. Un mod ́erateur sera automatiquement nomm ́e dans

une salle lorsqu’il sera l’utilisateur ayant post ́e le plus de message dans cette salle. Dans

chaque salle de discussion, les utilisateurs pourront cr ́eer de nouveaux sujets ou r ́epondre `a

des messages existants. Un message aura un auteur, une date de r ́edaction et du texte. Les

discussions auront une structure arborescentes : un message pourra avoir un unique parent

et de multiple fils. Un sujet pourra ˆetre ouvert ou clˆot (dans ce cas on ne pourra plus poster).

Consid ́erons le MLD suivant :

utilisateur(#idutil,nom,mail,inscription,nb_action);

salle(#idsal,theme,idmod#,nb_thread);

message(#idmsg,idparent#,idauteur#,date_envoi,idsal#,corps, etat);

•Partie I (utilisateur system):

L’utilisateursystemdoit cr ́eer un utilisateurDEVAPP(d ́eveloppeur application)

avec les privil`eges n ́ecessaires pour d ́evelopper cette application qui seront rassembl ́es

dans un rˆolerolea.

•Partie II (utilisateur DEVAPP):

1. Ajouter des commentaires auMLD.

2. Cr ́eer 3 s ́equences sequti, seqmes et seqsal qui incr ́ementent respectivement les iden-

tifiants des tables utilisateurs, message et salle (une seule cr ́eation est n ́ecessaire).

3. Cr ́eez une proc ́edure permettant d’ajouter un nouvel utilisateur du forum.

Mardi 7 Avril 2020A. Bendarag

UNIVERSITE CADI AYYAD

Facult ́e PolyDisciplinaire de Safi

Fili`ere SMI/SMA

2019−2020Base de donn ́ees Avanc ́ees

4. Cr ́eez une proc ́edure permettant d’ajouter une nouvelle salle.

5. Cr ́eer une proc ́edure qui permet de poster un message.

6. On souhaite compter le nombre d’interventions d’un utilisateur sur le forum. Cr ́eez

un trigger qui se d ́eclenche lors de l’insertion d’un message et incr ́emente automa-

tiquement l’attribut nb

action de l’auteur du message.

7. Cr ́eez une proc ́edure qui permet de clore un sujet. La proc ́edure doit g ́en ́erer une

erreur si l’utilisateur n’est pas mod ́erateur de la salle.

8. Cr ́eez une proc ́edure qui permet d’empˆecher toute r ́eponse `a un sujet clˆot.

9. On souhaite afficher l’arborescence des messages et de leurs r ́eponses, cr ́eer une

proc ́edure qui permet cela.

10. Comment empˆecher la suppression des messages ayant des r ́eponses.

11. Cr ́eer un utilisateurADMINqui va g ́erer l’application avec les privil`eges n ́ecessaires

qui seront rassembl ́es dans un rˆoleroleb.

•Partie III (utilisateurADMIN)

1. Donner un exemple d’ajout d’une salle.

2. Donner un exemple d’ajout d’un utilisateur.

3. Cr ́eer un rˆolerolecqui va permettre aux utilisateur d’utiliser le forum.

4. Cr ́eer un utilisateuruser1avec les privil`eges n ́ecessaires qui seront rassembl ́es dans

un rˆolerolec.

•Partie VI (utilisateuruser1)

1. Poster un message. Traiter les deux cas possibles

Mardi 7 Avril 2020A. Bendarag