Tp4 BDD2

Exercice 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)

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

Q1.3

Ordre :

  • Visite -> Intervention
  • on suit l'ordre du haut enft

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)

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');

Created: 2026-02-06 ven. 10:14

Validate