Как реализовать и вставить значение SQL-специализация / обобщение

У меня есть эти 3 сущности, как мой стол, который является студентом, лектором и человеком. Человек будет родителем, у которого есть общие атрибуты ученика и лектора. Это мой дизайн базы данных, это правильный способ реализации специализации?

Человек

personID int Основной ключ,
Роль varchar (10),
Название varchar (50),
email varchar (255)

Студент

studentID int,
всасывание varchar (50),
майор варчар (50),
personID int справка person (personID)

преподаватель

LecturerID int,
Навык варчара (50),
Квалификация varchar (50),
personID int справка person (personID)

Вышеупомянутая таблица, является ли это правильным способом реализации обобщения / специализации? Если да, как мне вставить новое значение в базу данных, когда новый студент регистрируется

Обычно у вас есть правильная идея (или, по крайней мере, одна из распространенных идиом для реализации такой схемы базы данных). Если ваш rdbms поддерживает его, я бы использовал перечисление для столбца role (например, MySQL, например, MS SQL Server). Если это не так, я добавлю ограничение проверки, чтобы добиться аналогичного эффекта, и убедитесь, что у вас нет загруженного мусора.

Вставка должна выполняться сначала на базовую таблицу ( person ), а затем только на таблицы специализации ( student или lecturer ). Например:

 INSERT INTO person VALUES (1, 'student', 'hiboss', '[email protected]'); INSERT INTO student VALUES (100, 'intake', 'computer science', 1); 
  • Имеет ли SQL Django «get_FOO_display ()» как аналог?
  • Подключение к удаленной базе данных с веб-сайтов Azure
  • Как заполнить данные из результата запроса sql в sql
  • Проверить один столбец для нескольких значений mysql
  • Передача данных с сервера MySql на SQL с использованием SSMS
  • Синтаксис UPDATE, который работает в основных базах данных
  • Агрегация SQL в предложении WHERE
  • получать минимальные значения в группе данных
  • MySQL запускает обновление таблицы SQL Server
  • внутренняя реализация запросов к базе данных
  • Sql не задает очереди на связанный сервер
  • Interesting Posts

    Операция «select» в хранимой процедуре не работает

    Как перебирать каждую строку в таблице и обновлять столбец?

    SQL Server: группировка по частичному согласованию текста

    Как преобразовать DateTime в TimeSpan в запрос Entity Framework

    PetaPoco не вставляет запись с помощью первичного ключа Guid newid

    зачем нужны пользователи базы данных с поддержкой Persist Security Info = True

    Является ли ПОЛНАЯ ВНЕШНЯЯ СОБСТВЕННОСТЬ необходимой для этой ситуации?

    Запрос, чтобы найти записи, следуя той же последовательности шаблонов?

    SQL Server: количество блоков диска, используемых индексом или таблицей

    Имеются ли индексы ADO.Net DataTables?

    «Подзапрос возвратил более 1 значения» для подзапроса SELECT

    Как рассчитать процент с помощью оператора SQL

    Преобразование пользовательских единиц SQL

    sql недопустимые запросы из файла csv

    Как я могу заменить контент по определенному URL-адресу с помощью SQL?

    Давайте будем гением компьютера.