Hi,

I'm trying to figure our some design strategies for XML databases, but it came to me that the resources are very limited on this field, so I really appreciate your patience .

The problem in hand is a catalog that consists of categories.  The categories in turn could have subcategories and items, and could have both (imagine it as mixed content elements in XML).  What I know till now is that for such non-transactional model of data storage, XML database is the best choice (correct me if I'm wrong).  What I don't know is that what is the best design for this database.

The requirements are simple; we have users that are going to frequently navigate categories and items, and administrators who will occasionally change (add, delete, and update) the database (I think database locks will be sufficient for this purpose).

The proposed design was to construct a collection for each category, a sub-collection for each subcategory and a document for each item.  Of course; items under categories will be mapped into documents under collections.

In relational databases language, tables should represent collections, and records should represent documents.  But from my knowledge in design strategies in RDBs, the aforementioned design if mapped into RDB it would be a bad one.  The difference here is that RDBMSs use joins to relate categories in categories table for example, to items in items table, while most native XML databases (or at least Xindice) doesn't currently support joins (or links in XML databases language), so if I want to create two collections; one for categories and subcategories, and another for items, I won't be able to clearly see what should look like foreign key-primary key relation between the documents (indexing may help, but still we don't have strict coupling between collections' documents as opposed to 'views' in RDBs), and I think also we here lost the physical joins available between the documents, which is one of the valuable things that distinguishes native XML databases from others.

Can anybody help me in this argument....thank you.



MSN Photos is the easiest way to share and print your photos: Click Here

Reply via email to