Я бы устроил это немного по-другому.У меня будет 3 таблицы, таблица «Доктор» (как у вас уже есть), таблица «Специалист» и таблица «Специалист по атрибутам».
Таблица «Доктор» содержит всю информацию врачей, просто.
Таблица «Специалист» содержит ваш SpecialistTypeID, SpecialistDescription и т. Д. Каждый из 3 примеров специалистов будет по одной строке в этой таблице.
Таблица SpecialistAttributes содержит все атрибуты, необходимые для специалистов.В вашей таблице «Доктор» у вас есть внешний ключ для поиска SpecialistTypeID, поэтому может быть только 1, тогда у SpecialistType есть несколько SpecislaistAttibutes, на которые он может ссылаться.
Другое преимущество организации данных таким образомэто то, что вам нужно добавлять какие-либо роли или атрибуты специалистов, вам не нужно менять структуру базы данных, просто добавьте больше строк.
Doctor Table
| ID | Name | Specialist_FK |
---------------------------------
| 1 | Smith | 2 |
| 2 | Davies | 3 |
| 3 | Jones | 3 |
Specialist Table
| ID | Speciality |
----------------------
| 1 | Paediatrician |
| 2 | Orthopedic |
| 3 | Dentist |
SpecialistAttribute Table
| ID | SpecialityID+FK | Description | Other |
------------------------------------------------------------
| 1 | 1 | Paediatrician Info 1 | Other Info |
| 2 | 1 | Paediatrician Info 2 | Other Info |
| 3 | 2 | Orthopedic Info 1 | Other Info |
| 4 | 2 | Orthopedic Info 1 | Other Info |
| 5 | 3 | Dentist Info 1 | Other Info |
| 6 | 4 | Dentist Info 1 | Other Info |