0% ont trouvé ce document utile (0 vote)
61 vues4 pages

TP3 Base de Donnees

Ce document contient la définition de plusieurs tables dans une base de données relationnelle, notamment des tables pour les étudiants, les réservations de salles, les salles, les enseignements, les enseignants et les départements. Il insère également des données d'exemple et contient des requêtes SQL.

Transféré par

mestersadik16
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
61 vues4 pages

TP3 Base de Donnees

Ce document contient la définition de plusieurs tables dans une base de données relationnelle, notamment des tables pour les étudiants, les réservations de salles, les salles, les enseignements, les enseignants et les départements. Il insère également des données d'exemple et contient des requêtes SQL.

Transféré par

mestersadik16
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

CREATE TABLE Etudiant (

id_Etudiant NUMBER PRIMARY KEY,

nom VARCHAR(50) NOT NULL,

prenom VARCHAR(50) NOT NULL,

date_naissance DATE NOT NULL,

adresse VARCHAR(100),

ville VARCHAR(50),

code_postal VARCHAR(50),

fax VARCHAR(20),

email VARCHAR(100)

);

CREATE TABLE Reservation (

id_Reservation NUMBER PRIMARY KEY,

Batiment VARCHAR(50),

Numero_Salle NUMBER,

id_Enseignement NUMBER,

id_Enseignant NUMBER,

id_Departement NUMBER,

Date_Reservation DATE,

Heure_Debut DATE,

Heure_Fin DATE,

Nombre_Heures NUMBER,

FOREIGN KEY (id_Enseignement) REFERENCES Enseignement(id_Enseignement),

FOREIGN KEY (id_Enseignant) REFERENCES Enseignant(id_Enseignant),

FOREIGN KEY (id_Departement) REFERENCES Departement(id_Departement),

FOREIGN KEY (Batiment, Numero_Salle) REFERENCES Salle(Batiment, Numero_Salle),

CHECK (Nombre_Heures >= 1),

CHECK (Heure_Debut < Heure_Fin)


);

CREATE TABLE salle (

batiment VARCHAR(50),

numero_salle NUMBER,

capacite NUMBER,

PRIMARY KEY (batiment, numero_salle),

CHECK (capacite > 1)

);

CREATE TABLE Enseignement (

id_Enseignement NUMBER PRIMARY KEY,

id_Departement NUMBER,

intitule VARCHAR(50),

description VARCHAR(100),

FOREIGN KEY (id_Departement) REFERENCES Departement(id_Departement)

);

CREATE TABLE Enseignant (

id_Enseignant NUMBER PRIMARY KEY,

id_Departement NUMBER,

nom VARCHAR(50),

prenom VARCHAR(50),

grade VARCHAR(50) CHECK (grade = 'PES A' OR grade = 'PES B' OR grade = 'PES C'),

telephone VARCHAR(50),

fax VARCHAR(50),

email VARCHAR(50),

FOREIGN KEY (id_Departement) REFERENCES Departement(Departement_ID)

);
CREATE TABLE Departement (

id_Departement NUMBER PRIMARY KEY,

nom_departement VARCHAR(100) UNIQUE

);

INSERT INTO Etudiant (id, nom, prenom, date_naissance, adresse, ville, code_postal, fax, email)

VALUES (1, 'Alami', 'Hicham', TO_DATE('1970-09-23', 'YYYY-MM-DD'), '12 Bd Anfa', 'Casa', '22000',
'0522876756', 'a.h@[Link]');

INSERT INTO Reservation (id_Reservation, Batiment, Numero_Salle, id_Enseignement, id_Enseignant,


id_Departement, Date_Reservation, Heure_Debut, Heure_Fin, Nombre_Heures)

VALUES (1, 'sud', 1, 1, 1, 1, TO_DATE('2009-12-12', 'YYYY-MM-DD'), TO_DATE('09:00', 'HH24:MI'),


TO_DATE('11:15', 'HH24:MI'), 2);

INSERT INTO salle (batiment, numero_salle, capacite)

VALUES ('sud',1,100);

INSERT INTO Enseignement (id_Enseignement, id_Departement, intitule, description)

VALUES (1, 1, 'SGBD', 'Système de Gestion de Base de Données');

INSERT INTO Enseignant (id_Enseignant, id_Departement, nom, prenom, grade, telephone, fax, email)

VALUES (1, 1, 'Lamrani', 'Ahmed', 'Prof', '0666124323', '0536453439', 'l.a@[Link]');

INSERT INTO Departement (id_Departement, nom_departement)

VALUES(1,'informatique')

CREATE SEQUENCE S_Etudiant


INCREMENT BY 1

START WITH 1;

CREATE SEQUENCE S_Enseignant

INCREMENT BY 10

START WITH 10;

SELECT nom, prenom

FROM Etudiant

WHERE ville = 'Tanger';

SELECT COUNT(*) AS Nombre_Enseignants_Avec_Email

FROM Enseignant

WHERE email IS NOT NULL;

SELECT AVG(Nombre_Heures) AS Moyenne_Nombre_Heures

FROM Reservation;

SELECT DISTINCT [Link], [Link]

FROM Enseignant

INNER JOIN Reservation ON Enseignant.id_Enseignant = Reservation.id_Enseignant

WHERE DATE(Date_Reservation) = '2020-10-15';

SELECT Numero_Salle, MAX(Nombre_Heures) AS Capacite_Max

FROM Reservation

GROUP BY Numero_Salle;

Vous aimerez peut-être aussi