-- ATTENTION : la gestion des PK de looping est stricte. Une PK est sensée être UNIQUE et NON NULLE
-- mais SQLite ne le comprend pas comme ça. D'ou le rajout de AUTOINCREMENT à la clause PK


CREATE TABLE matieres(
   id_matiere INT,
   nom VARCHAR(50),
   PRIMARY KEY(id_matiere AUTOINCREMENT)
);

CREATE TABLE nationalite(
   id_nationalite INT,
   nom VARCHAR(50),
   PRIMARY KEY(id_nationalite AUTOINCREMENT)
);

CREATE TABLE etudiants(
   id_etudiant INT,
   nom VARCHAR(50),
   prenom VARCHAR(50),
   date_naissance DATETIME,
   adresse VARCHAR(50),
   id_nationalite INT NOT NULL,
   PRIMARY KEY(id_etudiant AUTOINCREMENT),
   FOREIGN KEY(id_nationalite) REFERENCES nationalite(id_nationalite)
);

CREATE TABLE notes(
   id_note INT,
   note DECIMAL(4,2),
   id_matiere INT NOT NULL,
   id_etudiant INT NOT NULL,
   PRIMARY KEY(id_note AUTOINCREMENT
   ),
   FOREIGN KEY(id_matiere) REFERENCES matieres(id_matiere),
   FOREIGN KEY(id_etudiant) REFERENCES etudiants(id_etudiant)
);
