I'm having trouble modeling a relationship in a database. I need conceptual help. Here is an abstract description: A Class has several common attributes, but there are some attributes that differentiate different instances of this Class. For example, this Class may have x fields. ClassB will have those same fields and several others, so Class B will have (x+y) fields. Class C will also have x fields and an additonal Z fields for a total of (x+z) fields. x and y may be the same number or not, but they will certainly not be the same type of fields. See attached for picture.
My thinking is that since all the classes have x fields in common, why not have super class in its own table (ClassA), and have two (or more) tables composed of y and z fields respectively. The primary key (A1, lets say autonumbered) in the ClassA table would also be the primary key in ClassB and ClassC tables.
My goal is is have a subform within a form, where the form has all the fields from ClassA and the subform will have all the fields from either ClassB or ClassC depending on another field in ClassA (A2, text type for example). In essence, the layout of the subform would change depending on the value of A2 from the ClassA table.
Can this even be done. I think I'm missing something here. Would anyone care to offer advice?
My thinking is that since all the classes have x fields in common, why not have super class in its own table (ClassA), and have two (or more) tables composed of y and z fields respectively. The primary key (A1, lets say autonumbered) in the ClassA table would also be the primary key in ClassB and ClassC tables.
My goal is is have a subform within a form, where the form has all the fields from ClassA and the subform will have all the fields from either ClassB or ClassC depending on another field in ClassA (A2, text type for example). In essence, the layout of the subform would change depending on the value of A2 from the ClassA table.
Can this even be done. I think I'm missing something here. Would anyone care to offer advice?