Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm building a database for a real estate company.

The real estate properties are managed by sales people using a CodeIgniter website.

How should I proceed with the database design for this table? Fields such as address, location, price etc., are pretty straightforward, however there are some sections like Kitchen Appliances, 'Property Usage' etc., where the sales people can check multiple values for each field.

Furthermore, a property can have multiple people attached to it from the table people, such as owner, seller, property lawyer, etc. Should I use one field for these people or create another table and normalize the bindings?

Is the best way to proceed just using one field and using serialized data or is there a better way for this?

share|improve this question
Normalize it. Serialisation to JSON etc makes it hard to query & might come back and bite you. – Phil Mar 14 '12 at 11:22
Normalize the people. You (or your users) will be happy when they don't have to keep entering the same lawyers over and over again. – Joel Brown Mar 14 '12 at 19:03
up vote 1 down vote accepted

You can keep one table for property and one master table for roles and them assign that role to a user in the user table and can keep one to many association between property and users by having separate table property_users

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.