# cration de la table Prescription

CREATE TABLE Prescription (
  codeAction CHAR(5) NOT NULL,
  codeAgent CHAR(8) NOT NULL,
  datePrescription DATE,
  PRIMARY KEY (codeAction, codeAgent, datePrescription),
  FOREIGN KEY (codeAction) REFERENCES Action(code),
  FOREIGN KEY (codeAgent) REFERENCES Agent(code));



#Insertion alatoire d'environ 180 tuples dans la table prescription pour le jeu d'essai
#  les dates de prescriptions sont la date du jour
#  rand() n'tant pas "trs alatoire", on prend les 2/6 des lignes plutt que le 1/3

INSERT INTO Prescription
SELECT code, codeAgent, curdate()
FROM Action , Session , Inscription
WHERE code = codeAction
AND numero = numeroSession
and round(6*rand())<=1;




# les 20 prescriptions non suivies pour complter le jeu d'essai

insert into Prescription values('I0357','5258943T',curdate());
insert into Prescription values('E0443','5364047L',curdate());
insert into Prescription values('G0437','5458854M',curdate());
insert into Prescription values('E0479','5538883A',curdate());
insert into Prescription values('G0437','5639922A',curdate());
insert into Prescription values('E0443','5679527Z',curdate());
insert into Prescription values('E0459','5888728R',curdate());
insert into Prescription values('G0437','6071993T',curdate());
insert into Prescription values('M0522','6171946M',curdate());
insert into Prescription values('E0479','6526131W',curdate());
insert into Prescription values('T0330','6544512A',curdate());
insert into Prescription values('T0431','6866890L',curdate());
insert into Prescription values('E0513','6974703Z',curdate());
insert into Prescription values('G0437','7160300K',curdate());
insert into Prescription values('T0433','7351040L',curdate());
insert into Prescription values('M0546','7447588E',curdate());
insert into Prescription values('V0484','7551507K',curdate());
insert into Prescription values('E0444','7750860Y',curdate());
insert into Prescription values('E0454','7766972L',curdate());
insert into Prescription values('M0427','8142275Z',curdate());

# nouvel utilisateur (sans mot de passe, ici) et autorisations
GRANT SELECT ON bddFormation.Agent to "chef";
GRANT SELECT ON bddFormation.Inscription to "chef";
GRANT SELECT ON bddFormation.Session to "chef";
GRANT SELECT ON bddFormation.Action to "chef";
GRANT SELECT, INSERT, UPDATE ON bddFormation.Prescription to "chef";
