Электронная учебная документация
Здравствуйте! Отзовитесь, пожалуйста, если кому приходилось заниматься разработкой приложения для работы с базой данных учебного заведения. Хотела посоветоваться по поводу организации электронного журнала.
Цитировать
с базой данных учебного заведения
Что под этим имеется в виду? У каждого учебного заведения своя база данных... или я ошибаюсь?
Цитироватьс базой данных учебного заведения
Что под этим имеется в виду? У каждого учебного заведения своя база данных... или я ошибаюсь?
Немного ошибаешься, оснавная принципиальная схема одна, а дальше "хотелки"...

Я бы даже добавил, это одна наверное из самых трудных тем для внедрения, т.к. гемор с постановкой задачи... ))
К сожалению, с принципиальными схемами не знакома. Одни сплошные хотелки, но к счастью, хотелки только мои, поэтому, что хочу, что могу то и делаю. Проект, так сказать, неофициальный, относительно скромный и предназначен только для одного из подразделений дворца детского творчества.
Есть сведения о детях, родителях, есть педагоги, программы, нагрузки, группы и прочий "хлам" на три десятка таблиц. Не знаю, как все это стыкуется с "принципиальной схемой", но подозреваю, что для организации журнала точно существуют какие-то принципы, с которыми хотелось бы состыковаться.
Что есть "электронный журнал"?
В школе его обычно называют классный журнал или журнал успеваемости, в учреждениях дополнительного образования - журнал педагога.
Ну и? Ученик - предмет - оценка - дата, причем поля 1, 2 и 4 - в составной первичный ключ. Сложность в чем?
Подобный вариант конечно сам напрашивается. Для меня сложно то, как потом организовать отображение данных из такой таблицы, если обычная журнальная страничка выглядит примерно так:
а таблица в БД упрощенно выглядит так:
Получается, что оценки и даты будут сидеть в соответствующих полях таблицы БД, а мне нужно из одинаковых значений из поля с датами сотворить заголовки журнальных столбцов, а оценки пустить строкой. Получается, что нужно не просто выбрать нужные поля из нужных записей, а что-то вроде целого переформатирования таблицы, а так можно сделать? А может ее вообще иначе организовать, например так:
С такой таблицей можно (вероятно можно) вообще обойтись без даты урока. Так как помимо даты, очередность уроков можно еще банально определить порядковым номером урока (образовательной программой и учебным планом предусматривается определенное количество занятий в год, номер занятия будет соответствовать порядковому номеру темы занятия из календарно-тематического плана, являющегося частью образовательной программы).
Если бы таблица была организована как на третьей картинке, то выводить нужные оценки нужным образом - одно удовольствие, но меня смущает количество полей, которое придется делать в такой таблице. В моем случае их понадобится около 150-ти. В общеобразовательных школах по некоторым предметам бывает более двухсот занятий в год. Неужели разработчики школьных электронных журналов идут таким путем и столь "жирные" таблицы в порядке вещей?
Хмм..не проще ли вывести учеников, предметы и оценки в отдельные таблицы? а потом их связывать? Я б например сделал свяь по ид
id | Ученик
id | Предмет
id | id_ученика | id_предмета | дата | оценка
как то так
Цитировать
не проще ли вывести учеников, предметы и оценки в отдельные таблицы? а потом их связывать?
Уверен, Ирина так и сделала! Просто обсуждение не на уровне кода, а на уровне алгоритмов.
Ирина!
А почему бы не вывести страницу журнала для педагога так, как он уже привык, как на рисунке 1? Напиши процедуру, входными параметрами для которой будут предмет (и/или преподаватель, на случай замен) и месяц. А дальше для каждого ученика (строки) выводишь оценки по дням от 1 до 31. На "клиенте" уже и настроишь отображение столбцов (дней месяца), чтобы они соответствовали реальности (количество дней в месяце, выходные и праздничные дни и т.п.), если это необходимо. Естественно, учеников выбираешь тех, кто занимается по этому предмету.
Конечно проще по ID и именно так я и делаю. На моих картинках упрощенный вид таблиц, чтобы наглядно изобразить суть моей проблемы...