Modélisation BDD — Groupe Les Lilas Blancs

Schéma relationnel complet · Système de gestion scolaire
43
Entités
5
Tables N-N
8
Dimensions
7
Domaines
9
Rôles utilisateurs
Core / Identité
Pédagogie
Présences & EDT
Finance
Santé & Biblio
Communication
Tables de lien
Dimensions
Schéma complet
ETABLISSEMENTCORE
PKid_etablissementINT AUTO_INCREMENT
nomVARCHAR(150) NOT NULL
adresseTEXT
telephoneVARCHAR(20)
emailVARCHAR(100)
logo_urlVARCHAR(255)
villeVARCHAR(80)
date_creationDATE
ELEVECORE
PKid_eleveINT AUTO_INCREMENT
matriculeVARCHAR(20) UNIQUE
nomVARCHAR(80) NOT NULL
prenomVARCHAR(80) NOT NULL
date_naissanceDATE
lieu_naissanceVARCHAR(100)
sexeENUM('M','F')
photo_urlVARCHAR(255)
adresseTEXT
statutENUM('actif','suspendu','exclu')
date_creationDATETIME DEFAULT NOW()
PERSONNELCORE
PKid_personnelINT AUTO_INCREMENT
matriculeVARCHAR(20) UNIQUE
nomVARCHAR(80) NOT NULL
prenomVARCHAR(80) NOT NULL
FKid_role→ ROLE
emailVARCHAR(100)
telephoneVARCHAR(20)
specialiteVARCHAR(100)
date_embaucheDATE
photo_urlVARCHAR(255)
actifBOOLEAN DEFAULT TRUE
PARENT_TUTEURCORE
PKid_parentINT AUTO_INCREMENT
nomVARCHAR(80) NOT NULL
prenomVARCHAR(80) NOT NULL
telephoneVARCHAR(20)
emailVARCHAR(100)
lienENUM('père','mère','tuteur')
professionVARCHAR(100)
adresseTEXT
PARENT_ELEVELIEN N-N
FKid_parent→ PARENT_TUTEUR
FKid_eleve→ ELEVE
est_contact_principalBOOLEAN DEFAULT FALSE
PK composite (id_parent, id_eleve)
UTILISATEURCORE
PKid_utilisateurINT AUTO_INCREMENT
loginVARCHAR(60) UNIQUE
mot_de_passeVARCHAR(255) hash bcrypt
FKid_role→ ROLE
id_personneINT (polymorphique)
type_personneENUM('personnel','parent','eleve')
derniere_connexionDATETIME
actifBOOLEAN DEFAULT TRUE
CLASSECORE
PKid_classeINT AUTO_INCREMENT
FKid_niveau→ NIVEAU
FKid_annee→ ANNEE_SCOLAIRE
libelleVARCHAR(30) NOT NULL
codeVARCHAR(10)
effectif_maxINT DEFAULT 30
FKid_enseignant_principal→ PERSONNEL
FKid_salle→ SALLE
INSCRIPTIONPIVOT
PKid_inscriptionINT AUTO_INCREMENT
FKid_eleve→ ELEVE
FKid_classe→ CLASSE
FKid_annee→ ANNEE_SCOLAIRE
date_inscriptionDATE NOT NULL
statutENUM('inscrit','reinscrit','transféré')
numero_ordreINT
typeENUM('nouvelle','reinscription')
UNIQUE(id_eleve, id_classe, id_annee)