Нужен совет по проектированию университетской базы данных - PullRequest
0 голосов
/ 22 февраля 2019

Введение
В настоящее время я разрабатываю структуру базы данных для моего университета.Я хочу хранить личные данные студентов и данные о сотрудниках (не студентах).К вашему сведению, общее количество студенческих записей составляет около 136 тыс., Увеличиваясь примерно на 10 тыс. В год.С другой стороны, записи персонала составляют всего около 3 КБ (медленное увеличение).

Проблема
Я поспорил со своим другом о трех вариантах ниже:

  1. Создать Персона Таблица, Персонал стол и студент стол.Последние два унаследованы от таблицы Person .
  2. Создать Person_staff таблица, staff таблица (наследуется от person_staff ).Затем то же самое относится к ученику, создайте Person_student и таблицу ученика (унаследовано от Person_student ).
  3. Создайте Staff и Student таблица.

Мое мнение, вариант № 1 - лучший выбор.Но мой друг утверждал, что если мы сделаем это (вариант № 1), у нас будет медленный запрос, когда нам нужно будет извлечь только данные о сотрудниках, потому что пришлось объединиться с таблицей Person , которая заполнена записями студентов (значительнобольше, чем штатные записи).

Любой совет для меня?Заранее спасибо.

РЕДАКТИРОВАТЬ : К вашему сведению, мы должны иметь возможность отслеживать каждого человека (будь то сотрудник или студент), который когда-то был студентом или сотрудником.

...