DB Design предложения - PullRequest
       14

DB Design предложения

0 голосов
/ 12 ноября 2018

Я ищу наиболее оптимальное решение БД для случая ниже.

Учтите, что у меня есть родительская таблица [P1], в которой есть столбцы [ID | StudentID | StudentName] и несколько дочерних таблиц, полученных из P1, скажем, C1, C2, C3 ... [Это растет], где составной первичный ключ каждой таблицы - [StudentID, ReportingDate] и другие фактические данные, относящиеся к таблице.

У меня есть случай, когда, если указан StudentID, мне нужен список записей из всех таблиц данного ключа в формате [Имя таблицы | StudentID | ReportingDate].

Пример ввода:

Поиск STD1

Пример вывода:

Table Name| Searched Key | ReportingDate
C1 | STD1 | Date1
C3 | STD1 | Date1
C1 | STD1 | Date2

Дочерние таблицы - это разные отчеты, сгенерированные на основе идентификаторов StudentID в разные даты, и они будут расти.

Я не могу объединять растущие дочерние таблицы. Допустим, у меня 30–40 дочерних столов.

У нас есть какое-то решение для этого?

1 Ответ

0 голосов
/ 12 ноября 2018

Больше данных не должно приводить к большему количеству таблиц, но к большему количеству строк в базе данных.

Тем не менее, у вас, вероятно, должна быть одна таблица student_report.Затем добавьте столбец (столбцы) в student_report_table, чтобы иметь возможность отражать различные отчеты.В простейшей форме это будет единственный тип отчета:

  • student (student_id, name, ...)
  • report_type (report_type_id, description)
  • student_report(student_id, report_date, report_type_id, ...)
...