Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
: Devoir BDA
2
[Introduction]
Ce travail est réalisé dans le cadre du cours de base de données avancées afin de nous placer dans un
cadre applicatif global, dans lequel nous devrons mettre en situation nos connaissances acquises lors
des différentes séances de cours et de Tps.
L’objectif principal est de concevoir une base de données, l’implémenter sous Oracle Live SQL et
développer les composants logiciels PL/SQL permettant de l’alimenter et de l’interroger. Le choix de
la base de données et des requêtes nous a été laissé libre.
Notre choix s’est reposé sur une base de données de gestion d'une école qui fournit des informations
détaillées sur ses professeurs, ses élèves ainsi que les cours et les activités proposés par cette école.
Ce travail s’intéressera à ……
Tout au long de ce rapport, nous détaillerons tout ce que nous avons réalisé avec précision et nous
expliquerons les différents choix que nous avons fait.
3
1 Modèle Entité/Association :
La première étape que nous sommes amenées à effectuer est la réalisation du modèle Entité/Association afin
de schématiser les tables de notre base de données et de distinguer les entités et leurs associations. Cette étape
nous permettra de référencer toutes les données que nous souhaitons stocker dans notre base.
Après avoir discuté un ensemble de schémas modélisant le problème, nous avons déduit le modèle
entité/association suivant :
4
5
[Requêtes]
Vous trouverez le code des requêtes sur les tables crées dans le fichier requetes.sql.
1 Contraintes :
Contrainte horizontale : salaire de base ≤ salaire actuel
ALTER TABLE PROFESSEURS
ADD CONSTRAINT CK_PROFRESSEURS_SALAIRES CHECK (SALAIRE_BASE <= SALAIRE_ACTUEL) ;
Contrainte verticale :
2 Triggers :
a Trigger qui permet de vérifier la contrainte : « Le salaire d’un Professeur ne peut pas diminuer ».
CREATE OR REPLACE TRIGGER TRIGGER_SALAIRE_PROF_NON_DIMINUER
BEFORE INSERT OR UPDATE ON PROFESSEURS
FOR EACH ROW
DECLARE
pb_salaire_insert EXCEPTION ;
pb_salaire_update EXCEPTION ;
BEGIN
IF INSERTING THEN
IF :NEW.SALAIRE_ACTUEL < :NEW.SALAIRE_BASE THEN
RAISE pb_salaire_insert ;
END IF ;
END IF ;
IF UPDATING THEN
IF :NEW.SALAIRE_ACTUEL < :OLD.SALAIRE_BASE THEN
RAISE pb_salaire_update ;
END IF ;
END IF ;
EXCEPTION
WHEN pb_salaire_insert THEN RAISE_APPLICATION_ERROR (-20556,
'Erreur insert : le salaire actuel ne peut être inférieur à celui de base') ;
WHEN pb_salaire_update THEN RAISE_APPLICATION_ERROR (-20557,
'Erreur update : le salaire actuel ne peut être inférieur à celui de base') ;
END ;
/
a Trigger qui permet de vérifier la contrainte : « Le salaire d’un Professeur ne peut pas diminuer ».
[Conclusion]
6
D’abord ce devoir nous a été très enrichissant. Il nous a permis d’avoir une utilisation pratique de
plusieurs concepts vu en cours comme …. Nous avons appris à ….
Nous avons réussi à
Enfin, ce devoir nous a permis de …
[Références]
https://www.lama.univsavoie.fr/mediawiki/index.php/Segmentation_d%27image_par_d
%C3%A9tection_de_contours_et_algorithme_%22ligne_de_partage_des_eaux
%22#D.C3.A9finitions
https://tel.archives-ouvertes.fr/tel-01001996/document