Vous êtes sur la page 1sur 7

Rapport 

: Devoir BDA

[Base de données avancées]


Ingénieurs Sup Galilée – Ingénieur Informatique 2° année
2021 / 2022


Table des matières


[Introduction].................................................................................................................................................2
Réalisé par :
[Conception de la base de données]................................................................................................................3
Imane OUDGHIRI 11708432
1. Modèle Entité/Association :.............................................................................................................3
Abbas TCHINDA 12113538
2. Modèle Conceptuel UML :...............................................................................................................3
3. Encadré par :
Modèle logique relationnel :.............................................................................................................4
Dr. Mohamed ABIDI
[Création des tables et insertion des données]................................................................................................4
[Requêtes]......................................................................................................................................................4
[Conclusion]...................................................................................................................................................4
[Références]...................................................................................................................................................5

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


[Conception de la base de données]

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 :

Figure 1 : Modèle E/A

2 Modèle Conceptuel UML :

Figure 2 : Modèle conceptuel UML

4


3 Modèle logique relationnel :


Le modèle relationnel est la deuxième étape de conception. Ce modèle est une manière de modéliser les
relations existantes entre plusieurs informations, et de les ordonner entre elles. Cette modélisation repose sur
des principes mathématiques.

1 Tout type d’entité sera traduit en une table.


2 Tout type d’entité E est traduit en une relation R, l’identifiant de E est la clé primaire de R.
3 Tout type d’association sera traduit en une relation ou une table si toutes cardinalités sont du type 0, n
ou 1, n.
4 Tout type d’association sera traduit en une colonne (attribut) supplémentaire « clé étrangère » dans une
table existante s’il y a une cardinalité du type 0,1 ou 1.
5 Tout type d’association est traduit :
 En une clé étrangère si la cardinalité est 1,1 ou 0,1.
 En une nouvelle relation qui contient au moins deux clés étrangères qui sont de même une
combinaison de la clé primaire de la table association vers les objets qu'elle lie.
Toutes ces tables respectent les formes normales vues en cours et satisfont la notion de dépendance
fonctionnelle, d’où on a déduit la clé primaire de chaque table.

3.1 Schéma logique relationnel :

Figure 3 : Modèle relationnel

3.2 Modèle logique relationnel :


 Eleves (Num_Eleve, Nom, Prenom, Date_Naissance, Poids, Annee)
 Cours (Num_Cours, Nom, NBHeures, Annee, Nb_Inscrit)
 Professeurs (Num_Prof, Nom, Specialite, Der_Prom, Salaire_Base, Salaire_Actuel)
 Activites (Num_Activite, Nom, Equipe)
 Suivre (Num_Eleve*, Num_Cours*, Note)
 Charge (Num_Prof*, Num_Cours*)
 Activites_Pratiquees (Num_Eleve*, Num_Activite*)

5


[Création des tables et insertion des données]


Une fois cette étude préliminaire réalisée, nous avons commencé à créer notre base de données.
Vous trouverez le code de la création des tables et de leurs contraintes respectives dans le fichier
creation.sql, ainsi que les insertions à ces dernières dans le fichier insertion.sql.

[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

Vous aimerez peut-être aussi