Jump to content
  • Advertisement
Sign in to follow this  

new egg products and db setup

This topic is 4638 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

How does newegg setup its database so it can search specific fields on products? For instance, if i land at PCs and Notebooks > Desktop PC, I'm presented with a run of drop downs with browse options for related data. How is this database designed. I have a hard time believing they have tables for each kind of product that exists. Floppy drives ( manufacturer, panel color, capacity, interface ) Are possibles for what you may browse by. Desktop PC ( manufact, OS, CPU type, GPU, memory capacity, hd capacity, optical drive type ) Just another example. How is this database data organized? It seems like they could just create a new product with minimal effort. Is there a name for this style of database design. Anything you may think would be useful please jam it in here. Thanks, andy

Share this post


Link to post
Share on other sites
Advertisement
I have no idea what New Egg's database looks like but I would take a guess and say that they have a table for each product category (Hard drives, memory, etc.) and then each searchable option is a column in the table. Then you can just form a query like

Select column1, column2, column3 from tblHardDrive hd where hd.speed = Amazing and hd.size = Jigabytes and hd.manufacturer = Seagate.

Share this post


Link to post
Share on other sites
Depending on how quickly you need the search to run you can design an easily expandable database.

Consider creating a table called "Attributes". This table would contain a product type ID, ie: 1=Pre-built, 2=CPU, 3=Hard drive. Also in that row would be a name for the attribute, ie: Capacity, Manufacturer, FSB Speed. Then when doing a search you list the attribute types that exist for whatever product type the user is searching for. There would need to be another table that would contain an attribute ID, a product ID, and a value for the attribute, ie: 200 GB, Dell, 800 MHz.

I believe the term you should look for when looking for information on this form of database would be metadata.

Share this post


Link to post
Share on other sites
finds for future onlookers:

part 1/2: Building an End User Defined Data Model
http://www.15seconds.com/issue/050324.htm
http://www.15seconds.com/issue/050414.htm

Melraidin is correct in what he has stated. The above links help etch them into more maluable form.

[Edited by - skillfreak on September 9, 2005 8:35:06 PM]

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!