sio:bloc2:td3

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
sio:bloc2:td3 [2024/04/08 02:23] – créée jcheronsio:bloc2:td3 [2024/04/08 02:47] (Version actuelle) jcheron
Ligne 1: Ligne 1:
-====== Accès aux bases de données en PHP ======+====== TD : Accès aux bases de données en PHP ======
  
 Rappels de cours : Rappels de cours :
   * [[web:php:chap6|]]   * [[web:php:chap6|]]
 +
 +===== Application =====
 +L'objectif est de créer une application Web permettant de générer le script SQL (pour MariaDb) à partir d'un script Mocodo.
 +
 +Exemple de script Mocodo :
 +<sxh>
 +typeDroit: id, nom
 + 
 +Periode: id, dateD, dateF
 +Droit, 1N Exploitation, 1N typeDroit, 1N Periode: valeur
 +Exploitation: id, nom, SAU
 + 
 +Commune: id, cp, ville
 +DF, 11 Exploitation, 0N Commune
 +</sxh>
 +
 +Exemple de Script à générer :
 +
 +<sxh sql>
 +CREATE TABLE commune (
 +  PRIMARY KEY (id),
 +  id MEDIUMINT NOT NULL AUTO_INCREMENT,
 +  cp    VARCHAR(42),
 +  ville VARCHAR(42)
 +);
 +
 +CREATE TABLE droit (
 +  PRIMARY KEY (idPeriode, idTypeDroit, idExploitation),
 +  idPeriode   MEDIUMINT NOT NULL,
 +  idTypeDroit   MEDIUMINT NOT NULL,
 +  idExploitation   MEDIUMINT NOT NULL,
 +  valeur VARCHAR(42)
 +);
 +
 +CREATE TABLE exploitation (
 +  PRIMARY KEY (id),
 +  id MEDIUMINT NOT NULL AUTO_INCREMENT,
 +  nom  VARCHAR(42),
 +  sau  VARCHAR(42),
 +  idCommune MEDIUMINT NOT NULL
 +);
 +
 +CREATE TABLE periode (
 +  PRIMARY KEY (id),
 +  id MEDIUMINT NOT NULL AUTO_INCREMENT,
 +  dateD Date,
 +  dateF Date
 +);
 +
 +CREATE TABLE typeDroit (
 +  PRIMARY KEY (id),
 +  id MEDIUMINT NOT NULL AUTO_INCREMENT,
 +  nom VARCHAR(42)
 +);
 +
 +ALTER TABLE droit ADD FOREIGN KEY (idPeriode) REFERENCES periode (id);
 +ALTER TABLE droit ADD FOREIGN KEY (idTypeDroit) REFERENCES typeDroit (id);
 +ALTER TABLE droit ADD FOREIGN KEY (idExploitation) REFERENCES exploitation (id);
 +
 +ALTER TABLE exploitation ADD FOREIGN KEY (idCommune) REFERENCES commune (id);
 +</sxh>
 +
 +
 +<WRAP TODO>
 +Contraintes :
 +  * PHP orienté objet + MariaDb
 +Conception :
 +  * Fonctionnelle : 
 +    * Lister toutes les fonctionnalités de l'application (en détaillant le plus possible) => Use cases
 +    * Identifier et maquetter les interfaces à créer
 +  * Technique : Lister les opérations à effectuer, essayer de les regrouper en classes.
 +  * Organisation : Travailler en Pair programming, en 1 seule équipe
 +
 +Implémentation
 +  * Créer un repository
 +  * Développer l'application
 +
 +</WRAP>
  
  
  • sio/bloc2/td3.1712535806.txt.gz
  • Dernière modification : il y a 12 mois
  • de jcheron