i've tried some of the opensource-CMS-Cart out there and found that opencart is one of the best available (well designed, well coded, nice UI).
BTW, the backend DB schema is not relational and this means that there's no sql-transaction support... too bad.

I don't want to annoy you with the danger using a non-relational schema or the multiple advantages of a relational schema... but a relational-schema is always a good point (specially for an e-commerce platform).

So i though if there's the possibility to change from non-relational to relational without too much effort.
And so, here's a list of things to do to accomplish this task:
1) switch MyIsam tables to InnoDB tables
2) build the relations between the existing tables and establish a good policy for the ON CASCADE & ON DELETE rules
3) check if the php-core of opencart can be changed to include a transactional mechanism and implement it.
In the points 1 & 2 the php-back-end should not be affected and these points already add a reliability layer on the CMS.
(Part 3 is the hardest part and i've not yet started to investigate)
So, here's the (5 june)-svn-Mysql-schema with relations added to it:
- http://www.mauropanzeri.netsons.org/ope ... _db_er.pdf (pdf for readability)
- http://www.mauropanzeri.netsons.org/ope ... _db_er.mwb (source file, use mysql-workbench to modify it: http://wb.mysql.com/).
I think i've made the majority of the needed connections and i only don't see how to connect some of the IDs (account_id, checkout_id) in the "store" table.
I hope this file will help people to understand the structure of the DB schema and that it'll start a new branch of the project with relational-DB support. (IDEA: open a branch on the official repository ?)

hoping that my bad english won't kill you, thanks 4 your attention!

PS: feedbacks are welcome!

--
edit: added pdf-version of the schema