Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 636907
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T20:33:56+00:00 2026-05-13T20:33:56+00:00

I am redeveloping the front end and database for a medium size products database

  • 0

I am redeveloping the front end and database for a medium size products database so that it can support categories/subcategories, product lines, manufacturers, supported software and product attributes. Right now there is only a products table. There will be pages for products by line, by category/subcategory, by manufacturer, by supported software (optional). Each page will have additional filtering based on the other classifications.

Categories/Subcategories (multi level)
Products and product lines can be assigned to multiple category trees. Up to 5 levels deep should be supported.

Product lines (single level)
Groups of products. Product can only be in single product line.

Manufacturers (single level)
Products and product lines can be assigned to single manufacturer.

Supported software (single level)
Certain products only work with one or more softwares, so a product/line can be assigned to none, one or more softwares.

Attribues (type / options – could be treated so each type is a category and items are children)
Products and product lines can be assigned attributes (eg – color > red / blue / green). Attributes should be able to be assigned to one or more categories.

Since all these items are basically types of subcategories, do I put them all together in a master table OR split them into separate tables for each one?

Master table idea:

ClassificationTypes (product line, category/sub, manufacturer, software, attribute would all be types)

-TypeID

-Name

Classifications

-ClassID

-TypeID

-ParentClassID

-Name

ClassificationsProductsAssociations

-ProductID

-ClassID

I would still need at least one more table to link types together (eg – to link attributes to a category) and a way to link product lines to various types.

If I go with a table for each type it can get messy quick and I will still need a way to link everything together.

Multiple table setup:

Categories

-CategoryID

-Name

-ParentCategoryID

CategoriesAssociations

-CategoryID

-ProductID

-ProductLineID ?

Attributes

-AttributeID

-Name

-ParentAttributeID (use this as the parent would be “color” and child would be “red”)

AttributesAssociations

-AttributeID

-ProductID

-CategoryID (do I also need to link the category to the parent attribute?)

CompatibleSoftware

-SoftwareID

-Name

CompatibleSoftwareAssociations

-SoftwareID

-ProductID

-ProductLineID ?

Manufacturers

-ManufacturerID

-Name

ProductLines

-ProductLineID

-ManufacturerID

-Name

Products

-ProductID

-ProductLineID

-ManufacturerID

-Name

Other option for associations is to have a single associations table to link the tables above:

Master Associations

-ProductID

-ProductLineID

-ManufacturerID

-CategoryID

-SoftwareID

-AttributeID

What is the best solution?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T20:33:57+00:00Added an answer on May 13, 2026 at 8:33 pm

    Just wanted to post my decision and since I was not satisfied with any of the answers provided, I have elected to answer my own question.

    I ended up setting up a a single set of tables:

    Classification Types (eg – product lines, categories, manufacturers, etc)

    Classifications (supporting parent/child adjacency list, nested sets, and materialized path all at once in order to take advantage of strengths of each. I have a SQL CTE that can populate all the fields in one go when the data changes)

    Classifications Relations (with ability to relate products to classifications, relate classifications to other classifications and also relate classifications to other types)

    I will admit that the solution is not 100% normalized, but this setup gives me ultimate flexibility to expand by creating new types and is very powerful and easy to query.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 312k
  • Answers 312k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer $bookingno=mysql_real_escape_string($_POST['bookingno']); and so on Note that $result = mysql_query($sql) or… May 13, 2026 at 10:39 pm
  • Editorial Team
    Editorial Team added an answer jQuery doesn't make this system less secure. You do have… May 13, 2026 at 10:39 pm
  • Editorial Team
    Editorial Team added an answer Use .wrapInner() for this: $(function() { $('body').wrapInner('<div id="wrapper"><div id="content"></div></div>'); $('body').prepend('<div… May 13, 2026 at 10:39 pm

Related Questions

I've been looking at examples of REST API's like Netflix http://developer.netflix.com/docs/REST_API_Reference#0_59705 and Twitter and
I've read a couple of things about MVCs but I still don't understand when
I have a little logging app (written in wxPython) that receives data from a
this isn't asp.net specific, some of these apps are WinForms, also will be adding
I'm wondering about the practical use of #undef in C. I'm working through K&R,

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.