TODO
Last modified by Thomas Mortagne on 2009/12/06 13:50
ETUDIER LA POSSIBILITEE D'UTILISER UNE BASE BIBUS ( http://bibus-biblio.sourceforge.net )
TODO
- prévoir un système d'indexation pour accélérer la recherche
Tables
Schéma
Le shéma est au format et généré par DBDesigner (http://fabforce.net/dbdesigner4/)

Données
Technique
- modification (table qui répertorie chaque modification faite par chaque utilisateur)
- ''id_modification'' -- code de la modification
- ''fk_user'' -- code de l'utilisateur ayant fait la modification
- ''fk_table'' -- id de l'objet modifié (a coupler avec 'table')
- ''d_typemodification'' -- type de modification indiquant si c'est une suppression, insertion ou modification de valeur
- ''table'' -- table modifiée
- ''fields'' -- champs modifié
- ''old_values'' -- anciennes valeurs
- ''newvalues'' -- nouvelles valeurs
- ''datetime'' -- date et heure de la modification
Objets
- user (utilisateurs et groupes d'utilisateurs)
- ''id_user'' -- code utilisateur utilisé en interne
- ''d_state'' -- une valeur indiquant l'état de cet objet comme par exemple "supprimé". Le but est de ne rien supprimer réellement afin de pouvoir les récupérer facilement en cas d'erreur
- ''login'' -- identifiant de l'utilisateur
- ''name'' -- nom complet de l'utilisateur
- ''passwd'' -- mot de passe de l'utilisateur (crypté)
- ''lang'' -- langue qu'utilise l'utilisateur a choisir parmi celles supportées par le système
- ''mail'' -- mail de l'utilisateur
- ''is_group'' -- indiquant simplement si c'est un groupe ou un utilisateur
- author (auteurs et traducteurs)
- ''id_author'' -- code de l'auteur
- ''fk_website'' -- code du site web de l'auteur
- ''fk_realname'' -- acces au "vrai" auteurs (dans le cas d'un alias)
- ''d_state'' -- une valeur indiquant l'état de cet objet comme par exemple "supprimé". Le but est de ne rien supprimer réellement afin de pouvoir les récupérer facilement en cas d'erreur
- ''name'' -- nom de l'auteur
- ''nationality''
- book (livres)
- ''id_book'' -- code livre utilisé en interne
- ''fk_cycle'' -- code du cycle auquel appartient le livre
- ''fk_originalbook'' -- code de la version originale du livre
- ''d_state'' -- une valeur indiquant l'état de cet objet comme par exemple "supprimé". Le but est de ne rien supprimer réellement afin de pouvoir les récupérer facilement en cas d'erreur
- ''name'' -- titre du livre
- ''lang'' -- langue du livre
- ''tome'' -- numéro du tome du livre a l'intérieur du cycle
- cycle (cicle)
- ''id_cycle'' -- code cicle
- ''fk_cycle'' -- code du cycle auquel appartient le cicle
- ''d_state'' -- une valeur indiquant l'état de cet objet comme par exemple "supprimé". Le but est de ne rien supprimer réellement afin de pouvoir les récupérer facilement en cas d'erreur
- ''name'' -- titre du cicle
- ''tome''
- section (genre)
- ''id_section'' -- code de la section
- ''fk_sectionparent'' -- code de la section a laquelle appartient cette section (ex: Romans
> Fantasy> Dark Fantasy, Dark Fantasy appartient à Fantasy) - ''d_state'' -- une valeur indiquant l'état de cet objet comme par exemple "supprimé". Le but est de ne rien supprimer réellement afin de pouvoir les récupérer facilement en cas d'erreur
- ''name'' -- nom de la section
- link lien vers un site web
- ''id_link'' -- code du site web
- ''d_state'' -- une valeur indiquant l'état de cet objet comme par exemple "supprimé". Le but est de ne rien supprimer réellement afin de pouvoir les récupérer facilement en cas d'erreur
- ''name'' -- nom du lien
- ''description'' -- description du site
- ''url'' -- adresse du site
- publisher (éditeur)
- ''id_publisher'' -- code éditeur
- ''name'' -- nom de l'éditeur
- ''fk_link'' -- code du site web de l'éditeur
- ''d_state'' -- une valeur indiquant l'état de cet objet comme par exemple "supprimé". Le but est de ne rien supprimer réellement afin de pouvoir les récupérer facilement en cas d'erreur
- collection (collection de l'editeur a laquelle appartient la version éditée du livre)
- ''id_collection'' -- code de la collection
- ''fk_editor'' -- code de l'editeur
- ''d_state'' -- une valeur indiquant l'état de cet objet comme par exemple "supprimé". Le but est de ne rien supprimer réellement afin de pouvoir les récupérer facilement en cas d'erreur
- ''name'' -- nom de la collection
- bookpublished (version editée du livre)
- ''id_bookpublished'' -- code de la version éditée du livre
- ''isbn'' -- code isbn du livre édité
- ''fk_book'' -- code du livre "de base"
- ''fk_translator'' -- code du traducteur
- ''fk_collection'' -- code de la collection
- ''d_state'' -- une valeur indiquant l'état de cet objet comme par exemple "supprimé". Le but est de ne rien supprimer réellement afin de pouvoir les récupérer facilement en cas d'erreur
- ''publisher_id'' -- code de la version édité du livre chez l'éditeur
- ''publish_date'' -- date d'édition du livre
- ''cover'' -- couverture du livre, pas encore déterminé la forme (lien vers l'image, image elle même stockée dans la base, ...)
- ''synopsys'' -- (synopsys)
- location (lieu ou se trouve le livre)
- ''id_location'' -- code du lieu géographique/adresse
- ''fk_owner'' -- code de l'utilisateur possesseur du lieu
- ''d_state'' -- une valeur indiquant l'état de cet objet comme par exemple "supprimé". Le but est de ne rien supprimer réellement afin de pouvoir les récupérer facilement en cas d'erreur
- ''description'' -- description courte du lieu
- ''d_visibility'' -- visibilité des informations de ce lieu: seulement la description, adresse complète, etc.
- ''adress'' -- adresse du lieu
- ''postalcode'' -- code postal du lieu
- ''city'' -- ville du lieu
- ''country'' -- pays du lieu
- bookentity (l'entité proprement dite du livre qui appartient à un utilisateur, etc.)
- ''id_bookentity'' -- code du livre physique
- ''fk_bookpublished'' -- code vers l'édition du livre
- ''fk_owner'' -- code de l'utilisateur a qui appartient le livre
- ''fk_responsible'' -- code de l'utilisateur du responsable du livre, celui a qui il a été prêté en général
- ''fk_location'' -- code du lieu ou se trouve le livre
- ''d_state'' -- une valeur indiquant l'état de cet objet comme par exemple "supprimé". Le but est de ne rien supprimer réellement afin de pouvoir les récupérer facilement en cas d'erreur
Associations
- l_user_group (table de correspondance entre utilisateurs et groupes puisque chacun peut en contenir plusieurs)
- ''fk_user'' -- code utilisateur
- ''fk_usergroup'' -- code groupe
- ''d_state'' -- une valeur indiquant l'état de cet objet comme par exemple "supprimé". Le but est de ne rien supprimer réellement afin de pouvoir les récupérer facilement en cas d'erreur
- l_subsection_section (table de correspondance entre section et sous sections puisque chacune peut être contenue dans plusieurs)
- ''fk_subsection'' -- code sous section
- ''fk_section'' -- code section
- ''d_state'' -- une valeur indiquant l'état de cet objet comme par exemple "supprimé". Le but est de ne rien supprimer réellement afin de pouvoir les récupérer facilement en cas d'erreur
- l_book_author (table de correspondance livre/auteur puisque qu'un livre peut avoir plusieurs auteurs)
- ''fk_book'' -- code du livre
- ''fk_author'' -- code de l'auteur
- ''d_state'' -- une valeur indiquant l'état de cet objet comme par exemple "supprimé". Le but est de ne rien supprimer réellement afin de pouvoir les récupérer facilement en cas d'erreur
- l_book_section (table de correspondance livre/genre puisque qu'un livre peut avoir plusieurs genres)
- ''fk_book'' -- code du livre
- ''fk_section'' -- code de la section
- ''d_state'' -- une valeur indiquant l'état de cet objet comme par exemple "supprimé". Le but est de ne rien supprimer réellement afin de pouvoir les récupérer facilement en cas d'erreur
- l_book_user (table de correspondance livre édité/utilisateur notamment pour savoir qui a lu quoi)
- ''fk_book'' -- code du livre
- ''fk_user'' -- code de l'utilisateur
- ''d_state'' -- une valeur indiquant l'état de cet objet comme par exemple "supprimé". Le but est de ne rien supprimer réellement afin de pouvoir les récupérer facilement en cas d'erreur
- ''read'' -- pourcentage indiquant le degré de lecture du livre par l'utilisateur
- ''comment'' -- commentaire de l'utilisateur
- ''grade'' -- note donnée par l'utilisateur
Dictionnaires
- d_state (dictionnaire recensant les différents états possibles pour un objet)
- valid
- opened
- deleted
- d_typemodification
- insert
- update
- delete
- d_adressvisibility
- name
- description
- all