[eluser]BRK Network[/eluser]
[quote author="OverZealous" date="1279934524"]
Think about your information as objects first. Don't worry so much about the database, since DMZ works backwards from the objects. You are trying to represent something (and I don't completely understand what), but it looks very simple:[/quote]
Good point.
I've just started learning and experimenting with OOP, and had more experience with traditional database design and procedural code approaches... but it looks like this is not the way to go with CI and DMZ.
Thanks!
----
To simplify what I need to achieve:
* Each user will have multiple lessons (Maths, Biology, etc.) on their profiles
* Each users' lessons will have a price, experience year and priority value. (Lets say, Joe has 3 years of experience on Maths, and his price is $50 per hour, and Maths is his #1 priority (while Biology is #2).)
* Each user will may have one group or no groups at all. (Let's say, Joe will be a member of "Eagle Eye" group, while Jane will be an independent tutor with no groups.)
* Each user will have a city.
* Each user will have many districts/areas (in the selected city.)
The above data is related with the user profile... however, we need to have tables for each constant (like lessons, cities, districts, schools, exams) and represent them with an id. Because we'll need to change the "name", "keyword", or "description" of a constant at a later time. (e.g. We'll need to rename Maths to Mathematics at a later time.)
So, considering the fact that we need to do a lot of SORT BY "price", "experience" or "priority"; it looks like it is not a wise idea to keep these values in join fields.