Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2017, 23:34   #1
Armageddets
Форумчанин
 
Регистрация: 30.06.2012
Сообщений: 145
По умолчанию Учет посещаемости студентов (организация БД).

Всем доброго времени суток, уважаемые эксперты. Передо мной стоит задача "Разработать БД для учета посещений студентов". Она должна обладать следующим функционалом:

- Должен быть выбор по группам студентов
- Выбор по учебным предметам
- Выбор по месяцам.
- Выбор по годам
- БД должна быть Access

Выглядеть должно примерно как на этой картинке:


Я уже не единожды работал с БД Access, но в том как я себе представляю реализацию данной задачи у меня получается очень много таблиц. И я не знаю как лучше продумать структуру. Обращаюсь к Вам за помощью в плане того как лучше сделать связь между таблицами или вообще сделать одной таблицей может?

Ну и прикладываю свои мысли по этому поводу (бредовые, но на большее пока меня не хватает - не хватает знаний):

1) Иметь одну таблицу в которую записывать сразу всё (студентов, группы, месяца, год, все учебные дни), но тогда получиться просто тьма столбцов за целый год или несколько. При показе через запросы - отображать только нужное. Это неудобно в плане хранения получается и редактирования.

2) Можно разделить отдельно предметы и внутри предметов уже записывать студентов. Дабы сократить количество столбцов - записывать каждого студента несколько раз (каждая строка на новый месяц), а при показе через запросы показывать только нужное. Запись много раз одного и того же - не очень хорошо. Показывать группы через запросы по предметам нужно будет.

3) Можно все поделить на таблицы отдельные: студентов, предметы и т.д. Тут тогда связи нужно настраивать продуманно...


Не хочется создавать кучу таблиц или кучу столбцов, с которыми неудобно будет работать. У кого есть идеи по данному поводу - посоветуйте как лучше, пожалуйста. Заранее всем спасибо.
Armageddets вне форума Ответить с цитированием
Старый 15.02.2017, 15:24   #2
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию

День добрый. Правильно делать разными таблицами. В вашем случае думаю хватит 4.
1- Предметы
2- Студенты
3- Группы
4- Посещаемость

В предметах 2 столбца ID, NAME_PREDMET
В группах 2 столбца ID, NAME_GRUPPA
В студентах 3 столбца ID, FIO, ID_GRUPPA
В посещаемости 7 столбцов ID, ID_PREDMET,ID_STUDENT, YEAR, MONTH, DATE_POS
или для сокращения
ID, ID_PREDMET,ID_STUDENT,DATE_POS . DATE_POS дата посещения, там есть и год и и месяц и день.


Собственно формат (и короткий и длинный) таблицы посещаемости позволит вам применять любую из вышеописанных выборок.
Связи по таблицам:
Студенты связаны c группами по полю ID_GRUPPA
Предметы, студенты и их группы связаны в посещениях по ID_PREDMET,ID_STUDENT. Фильтр по группам организовывается через подзапрос в студенты
Пишу много и развернуто

Последний раз редактировалось Heneken87; 15.02.2017 в 15:43.
Heneken87 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
База данных посещаемости студентов в Accessе. wert696 Фриланс 8 09.08.2013 15:26
База данных "Учет посещаемости занятий студентами колледжа" TemnikM Фриланс 3 05.06.2011 16:44
База данных "Учет посещаемости занятий студентами колледжа" TemnikM Помощь студентам 4 05.06.2011 02:33
учет оплаты студентов за общежитие(БД по учебе) Андрей.12 Фриланс 4 23.04.2010 08:11
База данных в Delphi "Учет посещаемости студентов в вузе" Айрат Фриланс 11 22.12.2006 18:46