Как хранить статические (общие данные) в базах данных - PullRequest
0 голосов
/ 06 мая 2018

Представьте себе, я хочу записать оценки, набранные участниками экзамена, и для каждой записи итоговые оценки останутся неизменными. Поэтому я захочу хранить только что полученные оценки, и эти общие данные (статические в терминах языка C #) не следует хранить избыточно для каждой записи, так как она одинакова для всех записей. Я понимаю, что это не совсем избыточность по определению нормализации, поскольку это допустимые данные для каждой записи. Но опять же, должно быть какое-то лучшее и разумное средство для хранения такой статической / общей / метаданных.

Я знаю, что одним из аргументов будет включение такой вещи бизнес-логики либо в средний уровень, либо лучше в логическую схему БД (в силу представлений). Но опять же, мы хотим, чтобы все данные лежали в таблицах, а логические данные просто создавались из данных, доступных в таблицах, а не в инородных данных / информации.

Может кто-нибудь посоветовать лучше?

1 Ответ

0 голосов
/ 06 мая 2018

Вам нужна таблица для экзамена, которая будет включать в себя максимальное значение оценки, название экзамена И отдельная таблица для exam_results. Вероятно, это много-много отношений между экзаменом и студентом Чтобы подтолкнуть вас к ответу, вам также может понадобиться таблица мест, в которой может быть максимальное количество студентов, которые могут сдать экзамен, а затем таблица exam_sessions в качестве отношения многих ко многим между экзаменом и местом проведения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...