Задать вопрос
@ahmed_al_asad

С чего начинать проектирования базы данных?

Вообщем начну с того, что надо сделать дипломную работу, собрался делать "Система управления школьниками". Хочу делать веб-морду, выбрал яп python и фреймворк django 1.10. В проекте задумано так, любой родитель может зайти на сайте и посмотреть успеваемость, посещаемость и т.д своего ребенка. В каждой школе есть, директор, учителя, ученики, и все они друг с другом связаны. Это легко реализовать если ты делаешь эту систему для одной школы, а если в городе 200 школ? И для каждой школы все отдельно делать? Создавать отдельное приложения с миграция и т.д в django для каждой школы? В голове все продумал, но когда решился проектировать БД, то стало совсем не легко.

PS Я не прошу вас, решать эту задачу за меня. Я хочу, чтобы опытные люди подали совет, с чего лучше начинать? Как поступать правильнее? Как все это реализовать без подводных камней.
PSS Вообщем я учусь на 2 курсе, еще есть 2.5 года до дипломки, можно все хорошо обдумать.

Начал делать ТЗ, чуть-чуть сделал.
  • Вопрос задан
  • 2080 просмотров
Подписаться 4 Оценить Комментировать
Ответ пользователя RoverWhite К ответам на вопрос (4)
@RoverWhite
Делать отдельные решения для каждой школы не надо. Достаточно сделать одно.
Начните с того что подумайте какие функции будет иметь Ваша система, какую информацию и кому она будет предоставлять.
Постарайтесь расписать на бумаге Роли участников системы (директор, родитель, учитель, ученик), какие действия они могут предпринимать на портале, какую информацию им портал предоставляет, какую информацию позволяет вводить.
После этого постарайтесь выделить информационные сущности (пользователь, родитель, учитель, ученик, директор, школа, класс, предмет, урок, расписание уроков, класс, оценка, домашнее задание итд).
Затем перейдите к описанию отдельных элементов этих сущностей (оценка - цифра оценка, ссылка на школа, на класс, на ученик, на предмет, на урок, на дату, на учителя, дата оценки, комментарий учителя итд.)
Подумайте какие типы данных вы будете использовать для хранения информации.
Создайте диаграмму будущей базы данных.
Продумайте как Ваши сущности будут связаны между собой.
Ответ написан
Комментировать