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

Structure de base de données scolaire

Le document définit la structure de plusieurs tables de base de données pour la gestion d'une école, y compris des informations sur l'école, les rôles, les utilisateurs, les permissions, et les années académiques. Il inclut également des tables spécifiques pour le jardin d'enfants, telles que les sections, les élèves, les parents, les paiements et les remarques. Chaque table est conçue avec des champs pour stocker des informations pertinentes et des relations entre elles via des clés étrangères.

Transféré par

issa16iaia
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)
8 vues6 pages

Structure de base de données scolaire

Le document définit la structure de plusieurs tables de base de données pour la gestion d'une école, y compris des informations sur l'école, les rôles, les utilisateurs, les permissions, et les années académiques. Il inclut également des tables spécifiques pour le jardin d'enfants, telles que les sections, les élèves, les parents, les paiements et les remarques. Chaque table est conçue avec des champs pour stocker des informations pertinentes et des relations entre elles via des clés étrangères.

Transféré par

issa16iaia
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

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

-- 📌 Tables globales

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

-- Informations générales de l'école

CREATE TABLE IF NOT EXISTS ecole_config (

id INT AUTO_INCREMENT PRIMARY KEY,

nom_ecole VARCHAR(255) NOT NULL,

logo VARCHAR(255),

adresse TEXT,

email VARCHAR(150),

telephone VARCHAR(50),

statut ENUM('actif', 'inactif') DEFAULT 'actif',

date_ajout DATETIME DEFAULT CURRENT_TIMESTAMP,

date_modification DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE


CURRENT_TIMESTAMP,

supprimer BOOLEAN DEFAULT FALSE,

date_suppression DATETIME

);

-- Rôles dynamiques

CREATE TABLE IF NOT EXISTS roles (

id INT AUTO_INCREMENT PRIMARY KEY,

nom_role VARCHAR(100) NOT NULL,

description TEXT,

statut ENUM('actif', 'inactif') DEFAULT 'actif',

date_ajout DATETIME DEFAULT CURRENT_TIMESTAMP,

date_modification DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE


CURRENT_TIMESTAMP,

supprimer BOOLEAN DEFAULT FALSE,


date_suppression DATETIME

);

-- Utilisateurs

CREATE TABLE IF NOT EXISTS users (

id INT AUTO_INCREMENT PRIMARY KEY,

prenom VARCHAR(100),

nom VARCHAR(100),

email VARCHAR(150) UNIQUE,

mot_de_passe VARCHAR(255),

role_id INT,

statut ENUM('actif', 'inactif') DEFAULT 'actif',

date_ajout DATETIME DEFAULT CURRENT_TIMESTAMP,

date_modification DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE


CURRENT_TIMESTAMP,

supprimer BOOLEAN DEFAULT FALSE,

date_suppression DATETIME,

FOREIGN KEY (role_id) REFERENCES roles(id)

);

-- Permissions des rôles

CREATE TABLE IF NOT EXISTS permissions (

id INT AUTO_INCREMENT PRIMARY KEY,

role_id INT,

module VARCHAR(100),

peut_ajouter BOOLEAN DEFAULT FALSE,

peut_modifier BOOLEAN DEFAULT FALSE,

peut_supprimer BOOLEAN DEFAULT FALSE,

peut_consulter BOOLEAN DEFAULT TRUE,


date_ajout DATETIME DEFAULT CURRENT_TIMESTAMP,

date_modification DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE


CURRENT_TIMESTAMP,

supprimer BOOLEAN DEFAULT FALSE,

date_suppression DATETIME,

FOREIGN KEY (role_id) REFERENCES roles(id)

);

-- Années académiques

CREATE TABLE IF NOT EXISTS annees_academiques (

id INT AUTO_INCREMENT PRIMARY KEY,

annee VARCHAR(20) NOT NULL,

statut ENUM('active', 'inactive') DEFAULT 'inactive',

date_ajout DATETIME DEFAULT CURRENT_TIMESTAMP,

date_modification DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE


CURRENT_TIMESTAMP,

supprimer BOOLEAN DEFAULT FALSE,

date_suppression DATETIME

);

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

-- 📌 Tables Jardin d’enfants

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

-- Sections Jardin d’enfants (ex : Petite Section, Grande Section)

CREATE TABLE IF NOT EXISTS jardin_sections (

id INT AUTO_INCREMENT PRIMARY KEY,

nom_section VARCHAR(100) NOT NULL,

description TEXT,

statut ENUM('actif', 'inactif') DEFAULT 'actif',


date_ajout DATETIME DEFAULT CURRENT_TIMESTAMP,

date_modification DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE


CURRENT_TIMESTAMP,

supprimer BOOLEAN DEFAULT FALSE,

date_suppression DATETIME

);

-- Élèves Jardin d’enfants

CREATE TABLE IF NOT EXISTS jardin_eleves (

id INT AUTO_INCREMENT PRIMARY KEY,

prenom VARCHAR(100),

nom VARCHAR(100),

date_naissance DATE,

sexe ENUM('M', 'F'),

section_id INT,

annee_academique_id INT,

statut ENUM('actif', 'inactif') DEFAULT 'actif',

date_ajout DATETIME DEFAULT CURRENT_TIMESTAMP,

date_modification DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE


CURRENT_TIMESTAMP,

supprimer BOOLEAN DEFAULT FALSE,

date_suppression DATETIME,

FOREIGN KEY (section_id) REFERENCES jardin_sections(id),

FOREIGN KEY (annee_academique_id) REFERENCES


annees_academiques(id)

);

-- Parents

CREATE TABLE IF NOT EXISTS parents (

id INT AUTO_INCREMENT PRIMARY KEY,


prenom VARCHAR(100),

nom VARCHAR(100),

email VARCHAR(150) UNIQUE,

telephone VARCHAR(50),

adresse TEXT,

statut ENUM('actif', 'inactif') DEFAULT 'actif',

date_ajout DATETIME DEFAULT CURRENT_TIMESTAMP,

date_modification DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE


CURRENT_TIMESTAMP,

supprimer BOOLEAN DEFAULT FALSE,

date_suppression DATETIME

);

-- Association Élèves-Parents

CREATE TABLE IF NOT EXISTS jardin_eleves_parents (

id INT AUTO_INCREMENT PRIMARY KEY,

eleve_id INT,

parent_id INT,

lien_parente VARCHAR(50),

date_ajout DATETIME DEFAULT CURRENT_TIMESTAMP,

date_modification DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE


CURRENT_TIMESTAMP,

supprimer BOOLEAN DEFAULT FALSE,

date_suppression DATETIME,

FOREIGN KEY (eleve_id) REFERENCES jardin_eleves(id),

FOREIGN KEY (parent_id) REFERENCES parents(id)

);

-- Paiements Jardin d’enfants

CREATE TABLE IF NOT EXISTS jardin_paiements (


id INT AUTO_INCREMENT PRIMARY KEY,

eleve_id INT,

montant DECIMAL(10,2),

date_paiement DATE,

moyen_paiement VARCHAR(50),

description TEXT,

statut ENUM('payé', 'partiel', 'non payé') DEFAULT 'non payé',

date_ajout DATETIME DEFAULT CURRENT_TIMESTAMP,

date_modification DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE


CURRENT_TIMESTAMP,

supprimer BOOLEAN DEFAULT FALSE,

date_suppression DATETIME,

FOREIGN KEY (eleve_id) REFERENCES jardin_eleves(id)

);

-- Remarques (comportement, santé, etc.)

CREATE TABLE IF NOT EXISTS jardin_remarques (

id INT AUTO_INCREMENT PRIMARY KEY,

eleve_id INT,

remarque TEXT,

type_remarque VARCHAR(100), -- ex: 'Santé', 'Comportement',


'Présence'

date_remarque DATE,

date_ajout DATETIME DEFAULT CURRENT_TIMESTAMP,

date_modification DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE


CURRENT_TIMESTAMP,

supprimer BOOLEAN DEFAULT FALSE,

date_suppression DATETIME,

FOREIGN KEY (eleve_id) REFERENCES jardin_eleves(id)

);

Vous aimerez peut-être aussi