Search code examples
sqlms-accessdatabase-designsubtype

Subtyping database tables


I hear a lot about subtyping tables when designing a database, and I'm fully aware of the theory behind them. However, I have never actually seen table subtyping in action. How can you create subtypes of tables? I am using MS Access, and I'm looking for a way of doing it in SQL as well as through the GUI (Access 2003).

Cheers!


Solution

  • An easy example would be to have a Person table with a primary key and some columns in that table. Now you can create another table called Student that has a foreign key to the person table (its supertype). Now the student table has some columns which the supertype doesn't have like GPA, Major, etc. But the name, last name and such would be in the parent table. You can always access the student name back in the Person table through the foreign key in the Student table.

    Anyways, just remember the following:

    • The hierarchy depicts relationship between supertypes and subtypes
    • Supertypes has common attributes
    • Subtypes have uniques attributes