Hello there, I am new to PHP and MYSQL, but I have a basic understanding of DB concept and some programming experience with other languages. I am currently working on a project and I need your input as to the best way to design my website. Here is the project description: [u]a vendor rating system.[/u] [u] The process:[/u] There are 9,000 vendors who sell to customers in multiple states. A vendor may or may not operate in all States. -Each customer has different characteristics for instance age, marital status, gender, range, etc. -Each vendor sells a combination of different products (there are about 6 different types of product on the market and these products are mutually exclusive). -A customer can use only one product type at a time. There are 8 different ways each product can be used. For instance, a body soap can be used to take bath and wash hand. It's not frequent to find people who collect different brand of body soap. - Each vendor can have relationship (on a different matter: for instance exchanging information about their customers) with other vendors. - I have the raw data about all the products sold from all the vendors along with all the characteristics previously described. [u]Goals:[/u] I would like to assign a score (based on customer experience with the product) to each vendor. Specifically, I want to accomplish the following: 0- Define the scoring system: for instance, the percentage of specific group of satisfied customers for a vendor, after taking into account whether or not the vendor sold at least 2% of the product to the specified group. 1. The customer comes to the website, inputs the characteristics and the zipcode, then the web application will show the top ranked vendors for the customer. 2. The customer can decide not to give all the characteristics, and I still should be able to provide top vendors. 3. The customer may want to see the top vendors in the county, state or nationwide instead and the web application should be able to give it as well. 4. I also want to show the customer the list of vendors that do business with a particular vendor. Now my questions are: How many tables do I need in this situation? How do I go about designing a consistent database for this? Any help will be appreciated. Thank you Cisse.