First off, Hello! o/
I'm Minibytefli and a database noob. So I'll make that clear to start with.
My lofty goals:
Create a [database/program] that can generate a random outfit (for a game, where each item is from a specific category and only one of each category can be equipped at a time.) with a random color code (as most items can be customized and come with anywhere from 0-9 codes)
Have the database calculate the cost of the outfit/only use items from the owned section for a certain account.
[S]Possibly implement pictures[/S] Nah, too lazy for that. I just thought this could use a part three.
What I've done:
Libreoffice Base (because I'm a noob and have a Mac. My PC is old and broken and sucks.)
Accounts (A list of many accounts, which may own different items)
Fields: ID, Account
ItemCat (Categories that items may belong to)
Fields: ID, Categories
ItemInfo (Contains the items themselves)
Fields: ID, Category(FK:ItemCat), ItemName, Channels, Coins, Gems
OwnedCustom (What items an account owns)
Fields: ID, AccountID(FK:Accounts), ItemID(FK:ItemInfo), Owned(boolean), Custom(boolean)
What I need to do:
The colors table-
Currently has fields:
ID(PK), Color Name, ...? [Color1, Color2, ... Color9] [ItemID]?
I'm not sure if this would be correct, as some items would have one channel and others would have many, and also that some items may use the same color names and values (but not necessarily in the same order, with order of colors being important).
And then, with the randomization element, many items could use many colors (providing they have the same amount of channels)
*Note: channels are the number of recolorable slots an item has, a solid colored item may have one, whereas a multicolored may have more than one
What I Want as of here:
Obviously any constructive criticism of my database structure (because noob.)
Some input on how I should structure my color table/s
And are my lofty goals even possible with a database? (Particularly in Libreoffice Base or MySql)
(I'm learning computer programming as well, so even if it's not, is it possible in some sort of hybrid via Java/VB.net/Objective C?)