I wanted to show you the first draft of my first datebase design and get some feedback and sugestions.
I'm no DB expert but read what I can on the subject. I have many questions and rest assured your sugestions will help a lot.
You'll see more or less what I want to do with this DB. I haven't decided on all the features I'll be offering on the site but for starters this is the data that I'm sure I'm going to need.
Please Click Here to see a snapshot of what I have so far. It is a big image so bare with me.
- Is this a reasonable DB structure?
- Can it be optimized?
- Note the project invoice (pInvoice) for example. Is it logical to have a column that references the parent project (pid), parent client (cid), parent user (uid)?
- How far should one go when distributing data into different tables, I know I could also have a table with countries and another table with cities and reference those from the "user" table for example. Is that worth the effort or would I be making it all just that much more complicated?
- I thought having references to paretn objects like uid or cid would speed up and make it simpler to find who a particular, say, invoice belongs to. Is this right?
Thank you all for your time and help.
I noticed you have two tables named PItems. What is the difference between these two tables, and can they be combined into one?
Sorry, one of those is supposed to stand for Project Labor (pLabor). I'll fix it right now.