First of all I'm new here so "Hi, I'm KzBoy".

So I want to dev a database for my work, its kinda a side project and something we have needed for a while now. A hybrid Inventory/Database program, we have tried many programs but none really meet our needs. Here are my goals and I would like your opinion on how to accomplish them.

This database must have the following:

Nested categories (e.g. Shapes>Squares>Blue Squares>Item: Blue square #12)
Be able to hold hundreds of items
Have dynamic fields (SN, Password, Item type, Phone number, ect... could all be needed fields but I don't want each item to have every possible field type)
Be searchable
Be easy to use
Be accessible over WAN from other simultaneous clients (2-6). (it can run on our servers)
Be exportable to an excel file

I would like it to be able to do the following:

Offline work (at least read only)
Sync with Google Docs (for back up or just use google doc as the database itself)
Be able to create scan-able bar codes (and read them duh...(I'm thinking 3rd party driver that returns item numbers to my program, but I need to interface to it.)
Have pictures link-able to items (online lib and database holds links?)
Have an android app as a client with full control (once I get the database working I think I can handle the integration.)

I have basic Java experience and I like to learn and I do it fast. Like I said its a side project, I know it will take me a long while but thats fine. Maybe we never even use it but at least I will have learned more about Java and have fun while I'm at it.

Just looking for some starting points, here is what i have in mind, feel free to tell me what you think.

thinking mySQL or google docs for the database - but idk if it supports nested categories or if it can even handle what I'm throwing at