You are here: Links of Interest » HEIG-VD » [PRO] Virtual Comics Library » Rapport » Implémentation » Librarie libVCL » Moteurs de Stockage
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
heig:vcl:rapport:implementation:libvcl:stockage [2016/05/31 23:09] – kerroin | heig:vcl:rapport:implementation:libvcl:stockage [2016/06/02 16:26] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 15: | Line 15: | ||
===== Moteur SQLite ===== | ===== Moteur SQLite ===== | ||
- | ... | + | Le moteur SQLite permet d' |
+ | |||
+ | Il se base sur le framework OrmLite. Voici son modèle UML: | ||
+ | |||
+ | < | ||
+ | hide empty fields | ||
+ | hide empty methods | ||
+ | |||
+ | class category { | ||
+ | + id: int {id} | ||
+ | + parent_id: int {fk} | ||
+ | + name: string | ||
+ | } | ||
+ | |||
+ | class series { | ||
+ | + id: int {id} | ||
+ | + parent_id: int {fk} | ||
+ | + metadata_id: | ||
+ | + name: string | ||
+ | } | ||
+ | |||
+ | class series_metadata { | ||
+ | + id: int {id} | ||
+ | + summary: string | ||
+ | + released: int | ||
+ | + author: string | ||
+ | + artist: string | ||
+ | + tag: string | ||
+ | } | ||
+ | |||
+ | class volume_metadata { | ||
+ | + id: int {id} | ||
+ | + series_parent_id: | ||
+ | + category_parent_id: | ||
+ | + number: int | ||
+ | + name: string | ||
+ | } | ||
+ | |||
+ | category -- " | ||
+ | category -- " | ||
+ | |||
+ | series -> series_metadata | ||
+ | |||
+ | category -- " | ||
+ | series -- " | ||
+ | </ | ||
+ | |||
+ | Malheureusement, | ||
+ | |||
+ | Une solution possible est de créer, depuis nos objets actifs SQLite, des objets contenant les informations mais sans liaison à la base de données. Notre application pourrait alors travailler dessus en faisant abstraction de ces problèmes. Puis, lors de la sauvegarde, notre moteur n' | ||
+ | |||
+ | Cette solution n'a pas été utilisée pour ce projet car elle était jugée plus compliquée que de travailler sur des objets actifs. Cependant, il s'est avéré, après avoir résolu les problèmes liés aux objets actifs, qu' | ||
+ | |||
+ | Tout d' | ||
+ | |||
+ | Ensuite, une catégorie doit pouvoir contenir à la fois des séries et d' | ||
+ | |||
+ | Enfin, lorsque l'on modifie des informations sur un enregistrement, | ||
+ | |||
+ | Le dernier problème n'a pas été résolu car le seul moyen de le résoudre est d' | ||
+ | |||
+ | Il en résulte que les catalogues SQLite ne sont accessibles qu'en lecture et qu'il faut redémarrer l' |