Tp4 BDD2
Table of Contents
1. Exercice 1
1.1. Q1.1
- Lycée(numLycee, nom)
- Lycéen(numLyceen)
- Visite(numVisite,titre ,date, ville, heuredebut, heurefin)
- UE(titre, numUE)
- Intervention(duree, salle, numInter)
- Inscription(motivation, date)
- Personne(nom, prenom, mail, numPersonne)
- Enseignant(numEnseignant)
- Lycéen(numLyceen)
- Etudiant(numEtudiant)
1.2. Q1.2
La relation :
Viste -> Intervention
Modifie la clé primaire d'intervention.
Les relations:
- UE -> Intervention
- Enseignant -> Visite
- Categorie -> UE
- Etudiant -> Intervention
- Personne -> Lycéen (can be null)
- Personne -> Etudiant (can be null)
Personne -> Enseignant (can be null)
Modifient les clés étrangères
Les relations:
- Enseignant -> UE
- Visite -> Lycéen
UE -> Etudiant
Créent des tables
1.3. Q1.3
Ordre :
- Visite -> Intervention
- on suit l'ordre du haut enft
1.4. Q1.4
- Intervention(numInter, #numVisite, duree, salle, #numUE, #numEtudiant)
- Visite(numVisite, titre, date, ville, heuredebut, heurefin, #numEnseignant)
- UE(numUE, titre, #numCategorie)
- Lyceen(numLyceen, #numPersonne, #numLycee)
- Etudiant(numEtudiant, #numPersonne)
- Enseignant(numEnseignant, #numPersonne)
- EnseignantUE((#numUE, #numEnseignant))
- VisiteLyceen((#numVisite, #numLyceen))
- UEEtudiant((#numUE, #numEtudiant))
- Personne(numPersonne, nom, prenom, mail)
- Inscription((#numVisite, #numEtudiant), date, motivation)
- Lycee(numLycee, nom)
- Catégorie(numCategorie, titre)
2. Exercice 2 et 3
drop table ueetudiant, visitelyceen, enseignantue, intervention, inscription,
visite, ue, enseignant, etudiant, lyceen, lycee, personne, categorie;
create table Lycee (
numLycee serial primary key,
nom varchar(20)
);
create table Personne (
numPersonne serial primary key,
nom varchar(20),
prenom varchar(20),
email varchar(40)
);
create table Categorie (
numCategorie serial primary key,
nom varchar(20)
);
create table Lyceen (
numLyceen serial primary key,
numPers int references Personne(numPersonne) unique,
numLycee int references Lycee(numLycee)
);
create table Etudiant (
numEtudiant serial primary key,
numPers int references Personne(numPersonne) unique,
numLycee int references Lycee(numLycee)
);
create table Enseignant (
numEnseign serial primary key,
numPers int references Personne(numPersonne) unique
);
create table UE (
numUE serial primary key,
titre varchar(100),
numCategorie int references Categorie(numCategorie)
);
create table Visite (
numVisite serial primary key,
titre varchar(100),
date date,
ville varchar(100),
heure_debut varchar(5),
heure_fin varchar(5),
idLycee int references Lycee(numLycee),
numEnseign int references Enseignant(numEnseign)
);
create table inscription (
numVisite int references Visite(numVisite),
numLyceen int references Lyceen(numLyceen),
date date,
motivation text ,
primary key (numVisite, numLyceen)
);
create table Intervention(
numInter serial,
duree int,
salle varchar(10),
numVisite int references Visite(numVisite),
numUE int references UE(numUE) not null,
primary key (numInter, numVisite)
);
create table EnseignantUE(
numUE int references UE(numUE),
numEnseign int references Enseignant(numEnseign),
primary key (numUE, numEnseign)
);
create table VisiteLyceen(
numVisite int references Visite(numVisite),
numLyceen int references Lyceen(numLyceen),
primary key (numVisite, numLyceen)
);
create table UEEtudiant (
numUE int references UE(numUE),
numEtudiant int references Etudiant(numEtudiant),
primary key (numUE, numEtudiant)
);
insert into lycee (nom) values
('Bahut'),
('Céely');
insert into personne (nom, prenom, email) values
('Alcofribas', 'Nazier', 'alco.nazier@gargantua.com'),
('Calbuth', 'Raymond', 'raymond.calbuth@univ-lille.fr'),
('Rimbaud', 'Arthur', 'arthur.rimbaud@douai.fr'),
('Decaux', 'Franck', 'franck.decauxd@bateau.fr')
;
insert into lyceen (numpers) values
(4);
insert into enseignant (numpers) values
(1), (2);
insert into etudiant (numpers, numlycee) values
(3, 1);
insert into categorie (nom) values
('langue'),
('programmation'),
('maths');
insert into ue (titre, numCategorie) values
('BDD2', 2),
('Maths Discrètes', 3),
('Anglais', 1);
insert into enseignantue (numUE, numEnseign) values
(1, 1),
(1, 2),
(2, 1),
(3, 2);
insert into visite (titre, date, ville, heure_debut, heure_fin, idLycee ,numEnseign) values
('Elles programment aussi !', '2025-12-06', 'Monjetour-les-Carbonnades', '00h00', '18h00',2, 1),
('Les matrices diagonalisables ? Trop facile :)', '2022-09-05', 'Bondeboug-lès-Valenciennes', '18h00', '18h05',1, 2);
insert into intervention (duree, salle, numVisite, numUE) values
(30, 'BA.8d_b3', 1, 2),
(45, 'A3', 1, 3),
(3, 'HA', 2, 2),
(2, 'K8', 2, 1);
insert into inscription (numvisite, numlyceen, date, motivation) values
(1, 1, '2025-12-19', 'Etant fan de modélisation de bateaux, notamment les yuku-lili, je souhaite en savoir plus sur la programmation');