I have a table a with primary key id and a table b that represents a specialized version of a (it has all the same characteristics to track as a does, plus some specific to its b-ness–the latter are all that are stored in b). If I decide to represent this by having b‘s primary key be also a foreign key to a.id, what’s the proper terminology for b in relation to a?
A real world example might be a person table with student and teacher add-on tables. A student might also be a teacher (a TA for example) but they’re both the same person.
I would call it a ‘child table’ of a but I already use that as a synonym for ‘detail table’, like lines on a purchase order, for example.
Your design sounds like Concrete Table Inheritance.
I’d call table
Ba concrete table that extends tableA.The relationship is one-to-one.
Other answers have suggested storing only the columns specific to the extended table. This design would be called Class Table Inheritance.