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

SQL

Le document définit une base de données pour la gestion universitaire, incluant des tables pour les responsables, étudiants, programmes, spécialisations, niveaux, inscriptions et réinscriptions. Chaque table est créée avec des clés primaires et des relations de clés étrangères pour assurer l'intégrité des données. Des données par défaut sont insérées pour les niveaux, programmes, spécialisations et un responsable administrateur.

Transféré par

andrianjakatsilavohery
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues6 pages

SQL

Le document définit une base de données pour la gestion universitaire, incluant des tables pour les responsables, étudiants, programmes, spécialisations, niveaux, inscriptions et réinscriptions. Chaque table est créée avec des clés primaires et des relations de clés étrangères pour assurer l'intégrité des données. Des données par défaut sont insérées pour les niveaux, programmes, spécialisations et un responsable administrateur.

Transféré par

andrianjakatsilavohery
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 PDF, TXT ou lisez en ligne sur Scribd

1

DROP DATABASE IF EXISTS gestion_universitaire;


CREATE DATABASE gestion_universitaire
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;

USE gestion_universitaire;

-- ===========================
-- TABLE RESPONSABLE
-- ===========================

CREATE TABLE responsable(


id_responsable INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(100) NOT NULL,
prenom VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
mot_de_passe VARCHAR(255) NOT NULL,
role ENUM('Administrateur','Responsable') DEFAULT 'Responsable',
date_creation TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- ===========================
-- TABLE ETUDIANT
-- ===========================

CREATE TABLE etudiant(


id_etudiant INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(100) NOT NULL,
prenom VARCHAR(100) NOT NULL,
date_naissance DATE NOT NULL,
email VARCHAR(100),
telephone VARCHAR(20),
statut ENUM('actif','inactif') DEFAULT 'actif'
);
2

-- ===========================
-- TABLE PROGRAMME
-- ===========================

CREATE TABLE programme(


id_programme INT AUTO_INCREMENT PRIMARY KEY,
nom_programme VARCHAR(150) NOT NULL,
duree VARCHAR(50),
type ENUM('formation initiale','formation continue')
);

-- ===========================
-- TABLE SPECIALISATION
-- ===========================

CREATE TABLE specialisation(


id_specialisation INT AUTO_INCREMENT PRIMARY KEY,
nom_specialisation VARCHAR(150) NOT NULL,
id_programme INT NOT NULL,

FOREIGN KEY(id_programme)
REFERENCES programme(id_programme)
ON UPDATE CASCADE
ON DELETE CASCADE
);

-- ===========================
-- TABLE NIVEAU
-- ===========================

CREATE TABLE niveau(


id_niveau INT AUTO_INCREMENT PRIMARY KEY,
nom_niveau VARCHAR(50) NOT NULL
);
3

-- ===========================
-- TABLE INSCRIPTION
-- ===========================

CREATE TABLE inscription(


id_inscription INT AUTO_INCREMENT PRIMARY KEY,
date_inscription DATE NOT NULL,
annee_scolaire VARCHAR(20) NOT NULL,
statut ENUM('acceptée','en attente','refusée') DEFAULT 'en attente',

id_etudiant INT NOT NULL,


id_programme INT NOT NULL,
id_specialisation INT NOT NULL,
id_niveau INT NOT NULL,
id_responsable INT NOT NULL,

FOREIGN KEY(id_etudiant)
REFERENCES etudiant(id_etudiant)
ON UPDATE CASCADE
ON DELETE CASCADE,

FOREIGN KEY(id_programme)
REFERENCES programme(id_programme)
ON UPDATE CASCADE
ON DELETE CASCADE,

FOREIGN KEY(id_specialisation)
REFERENCES specialisation(id_specialisation)
ON UPDATE CASCADE
ON DELETE CASCADE,

FOREIGN KEY(id_niveau)
REFERENCES niveau(id_niveau)
ON UPDATE CASCADE
ON DELETE CASCADE,
4

FOREIGN KEY(id_responsable)
REFERENCES responsable(id_responsable)
ON UPDATE CASCADE
ON DELETE CASCADE
);

-- ===========================
-- TABLE REINSCRIPTION
-- ===========================

CREATE TABLE reinscription(


id_reinscription INT AUTO_INCREMENT PRIMARY KEY,
date_reinscription DATE NOT NULL,
annee_scolaire VARCHAR(20) NOT NULL,
statut ENUM('acceptée','en attente','refusée') DEFAULT 'en attente',

id_etudiant INT NOT NULL,


id_programme INT NOT NULL,
id_specialisation INT NOT NULL,
id_niveau INT NOT NULL,
id_responsable INT NOT NULL,

FOREIGN KEY(id_etudiant)
REFERENCES etudiant(id_etudiant)
ON UPDATE CASCADE
ON DELETE CASCADE,

FOREIGN KEY(id_programme)
REFERENCES programme(id_programme)
ON UPDATE CASCADE
ON DELETE CASCADE,

FOREIGN KEY(id_specialisation)
REFERENCES specialisation(id_specialisation)
5

ON UPDATE CASCADE
ON DELETE CASCADE,

FOREIGN KEY(id_niveau)
REFERENCES niveau(id_niveau)
ON UPDATE CASCADE
ON DELETE CASCADE,

FOREIGN KEY(id_responsable)
REFERENCES responsable(id_responsable)
ON UPDATE CASCADE
ON DELETE CASCADE
);

-- ===========================
-- INSERTION DES NIVEAUX
-- ===========================

INSERT INTO niveau(nom_niveau) VALUES


('L1'),
('L2'),
('L3'),
('M1'),
('M2');

-- ===========================
-- INSERTION DES PROGRAMMES
-- ===========================

INSERT INTO programme(nom_programme,duree,type) VALUES


('Informatique','3 ans','formation initiale'),
('Gestion','3 ans','formation initiale'),
('Droit','3 ans','formation initiale');

-- ===========================
6

-- INSERTION DES SPECIALISATIONS


-- ===========================

INSERT INTO specialisation(nom_specialisation,id_programme) VALUES


('Développement Web',1),
('Réseaux',1),
('Base de données',1),
('Comptabilité',2),
('Marketing',2),
('Droit Public',3),
('Droit Privé',3);

-- ===========================
-- RESPONSABLE PAR DEFAUT
-- ===========================

INSERT INTO responsable


(nom,prenom,email,mot_de_passe,role)
VALUES
(
'Admin',
'Principal',
'admin@[Link]',
'admin123',
'Administrateur'
);

Vous aimerez peut-être aussi