I am not sure why you need is_instructor
field in the student table. You will need to update it each time you add or remove a record from instructor
table. If you need to see if particular student is an instructor a simple hash join on student_id
would suffice. But the options I see: first is using a stored procedure, and the second option is just to wrap separate inserts into one transaction.
I would remove calculated field is_instructor
unless there are specific application requirements which I don't know. Though surrogate (or artificial) keys can be useful, for current design I would remove primary key id
from instructor table and make student_id
a primary key which is also a foreign key to student
table.