Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> OT: Database design question
Hi all,
a customer asked me for a "generic store" database. The term
generic means that the database should be able to store variuos kind
of items. An example could be an IT hardware shop where you can buy
computers, printers, routers, etc. For each item the db should store
the different parts (i.e. the data for a PC must contains the cpu
type, hard disks, RAM installed, os type, etc)
I was coming to the conclusion that the design that seems to solve the
problems is something like this (I list the tables with their meaning)
items contains item id, item_type and descrption
items_metadata contains every possible attribute for each item_type
items_attributes contains the item attributes (CPU, RAM,etc)
attributes_metadata contains the attribute definition
This is just the basic idea; the main problem (at least for me) is
that a simple query like:
give me all computers with WinXP and 512MB RAM
involves a self join or the use of analytics.
I googled for
database design part
database design inventory
database design store
database design warehouse
but I did not found a different solution.
Since I think this is a very common design problem does anyone has
some reference or advice?
Thanks a lot
Giovanni
--
![]() |
![]() |