Exemple : la gestion de ma bibliothèque :¶
Il est proposé à titre d’exemple, de créer l’application ma bibliothèque et le prêt à mes amis :
- dans un premier temps, on analyse ce que l’on veut faire et on peut produire un diagramme de classe
- on créé les tables avec om_tables en modifiant éventuellemnt les paramères d’om_tables_parametre
- on créé les champs correspondants avec om_champs en modifiant éventuellemnt les paramères d’om_forms
- on compose le formulaire avec l’option composeur du menu pg_admin
- et enfin on génére les formulaires pour chaque table.
Diagramme de classe de la gestion de bibliothéque :¶
La création des tables :¶
Les tables suivantes ont été crées avec om_tables : livre, emprunteur , emprunteur_livre
Les champs ont été créés avec om_champs
CREATE TABLE om5.livre
(
livre integer NOT NULL, -- null
titre character varying NOT NULL, -- {"libelle":"Titre du livre","type":"","bloc":"C1","position":2}
auteur character varying, -- {"libelle":"Auteur du livre","type":"","bloc":"C1","position":"1"}
resume text NOT NULL, -- {"libelle":"","type":"html","bloc":"C2","position":"1"}
fichier character varying, -- {"bloc":"C1","position":"3","libelle":"Le fichier","type":"file"}
CONSTRAINT livre_pkey PRIMARY KEY (livre)
);
COMMENT ON TABLE om5.livre
IS E'{"col1":"Mes titres en cours","col2":"Mon avis","col3":"sans",
"libelle":"Ma biblioth\\u00e8que de livres","affichage":"1","nombre_colonne":"2"}';
CREATE TABLE om5.emprunteur
(
emprunteur integer NOT NULL,
nom character varying NOT NULL, -- {"libelle":"","type":"","bloc":"C1","position":"1"}
prenom character varying, -- {"libelle":"","type":"","bloc":"C1","position":"2"}
date_naissance date, -- {"libelle":"","type":"","bloc":"C1","position":"3"}
actif boolean, -- {"libelle":"","type":"","bloc":"C2","position":"1"}
CONSTRAINT emprunteur_pkey PRIMARY KEY (emprunteur)
)
;
COMMENT ON TABLE om5.emprunteur
IS '{"col1":"Etat civil","col2":"Autres","col3":"",
"libelle":"Mes amis","affichage":"1","nombre_colonne":"2"}';
CREATE TABLE om5.emprunteur_livre
(
emprunteur_livre integer NOT NULL,
date date NOT NULL, -- {"libelle":"","type":"","bloc":"C2","position":"1"}
retour boolean, -- {"libelle":"","type":"","bloc":"C2","position":"2"}
livre integer NOT NULL, -- {"libelle":"","type":"","bloc":"C1","position":"1"}
emprunteur integer NOT NULL, -- {"libelle":"","type":"","bloc":"C1","position":"2"}
ceci_est_e character varying, -- {"libelle":"ceci est e","bloc":"C1","position":3,"type":""}
CONSTRAINT emprunteur_livre_pkey PRIMARY KEY (emprunteur_livre),
CONSTRAINT emprunteur_livre_emprunteur_fkey FOREIGN KEY (emprunteur)
REFERENCES om5.emprunteur (emprunteur) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT emprunteur_livre_livre_fkey FOREIGN KEY (livre)
REFERENCES om5.livre (livre) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
);
COMMENT ON TABLE om5.emprunteur_livre
IS E'{"col1":"Livres ou Amis","col2":"retour","col3":"pas",
"libelle":"livres emprunt\\u00e9s","affichage":"0","nombre_colonne":"2"}';
Les modifications suivantes des paramètres des tables ont été effectuées:¶
emprunteur
- col1 Etat Civil
- col2 Activité
- libelle Mes amis
livre
- col1 mes titres
- col2 Mon avis
- libelle Ma bibliothèque
emprunteur_livre
- affichage 0
Les champs suivants ont été créés pour chaque table :¶
Les champs suivants ont été créés dans om_champs :
Pour la table emprunteur :
- nom : type varchar(40) obligatoire
- prenom : type varchar(40) non obligatoire
- date_naissance : type date obligatoire
- actif : type booleen non obligatoire
Pour la table livre :
- titre : type character varying obligatoire
- auteur : type character varying obligatoire
- resume : type text obligatoire
- fichier : type character varying Non obligatoire
Pour la table emprunteur_livre :
- emprunteur : type cle secondaire obligatoire
- livre : type cle secondaire obligatoire
- date : type date non obligatoire
- retour : type booléen non obligatoire
Les contraintes de clé secondaires sont visibles dans le sous formulaire om_contrainte de om_tables (option du menu pg_admin) :
- emprunteur_livre_livre_fkey
- emprunteur_livre_emprunteur_fkey
Note
Les sous formulaires sont créés par les clés secondaires.
Les modifications des paramètres suivantes ont été faites dans les champs dans la table om_champs :¶
pour la table emprunteur :
- date_naissance : libellé : date de naissance
pour la table livre :
- fichier : libellé : upload ; type : file
- resume : type : html
pour la table emprunteur_livre
- emprunteur: libellé : ami(e)
- date: libellé : date de prêt
Les formulaires ont été composés de la manière suivante :¶
Pour la table emprunteur :
pour la table livre :
Les formulaires et les sous formulaires générés :¶
Il faut ensuite générer le formulaire avec chaque table (voir action générer d’om_table).
Il est possible de lister les emprunteurs dans le menu application -> option « mes amis »
Il est possible de saisir, modifier et supprimer les aemprunteurs dans le formulaire suivant :
Il est possible de lister les livres dans le menu application -> option « ma bibliothèque »
Il est possible de saisir, modifier et supprimer les livres dans le formulaire suivant :
Il est possible de lister les livres empruntés dans le menu application -> dans le sous formulaire de livre ou d’emprunteur :
Il est possible de saisir, modifier et supprimer les emprunts de livre dans le formulaire généré :