Option #1: the ODL Approach
4 tables: each object can only belong to a single class
Product(name, price, category, manufacturer)
EducationalProduct( name, price, category, manufacturer, ageGroup,
SoftwareProduct( name, price, category, manufacturer, platforms,
EducationalSoftwareProduct( name, price, category, manufacturer,
ageGroup, topic, platforms,