[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Прошу помощи в проектировании БД
Kukaramba
Сейчас работаю в учебном заведении - лицее. Начальство захотели базу данных, в которой были бы ученики и их заявки на дополнительные предметы, кружки, студии.... Поставили задачу чтобы на всех ПК это отображалось и не требовалось ставить отдельную программу на каждый компьютер. Было решено сделать это в виде сайта, в котором:
Нужно сделать справочник для учебного заведения. В нем должны учащиеся, у которого свой номер ученического (но они могут меняться - потеряться например). По каждому из учащихся нужно иметь базу данных о формах - заявках на дополнительные программы обучения. Должна быть возможность формирования формы, выводимой на печать или файл.

Например Иванов хочет заниматься баскетболом и английским языком. Нужно занести Иванова в базу данных и к нему "прилепить" эти заявки. Формы у нас разные - могут быть и платные секции и бесплатные. В платных соответственно немного другие поля. После того как заявка появилась в БД - можно по человеку посмотреть какие он заявки делал и когда и вывести их в файл, основанный на шаблоне.

В общем столкнулся с такой вот проблемой. Help! Не могу оптимальный вариант придумать.



Спустя 12 минут, 34 секунды (30.07.2012 - 18:52) inpost написал(а):
Связка таблиц многие ко многим, То есть между человеком и секцией располагается третья таблица, которая будет связующей между ними. В ней можно и хранить данные о типе и статусе заявки.

Всё остальное требует банального знания ПХП и Мускула начального уровня. Спрашивай конкретнее, что тебе непонятно.

Спустя 8 минут, 34 секунды (30.07.2012 - 19:00) Kukaramba написал(а):
Думаю сделать это в

id$ I ФИО I Номер билета

id$ I Наименование заявки (платное, не платное)

id$ I id_заявки I id_учащегося I дата изменения

id_заявки I поля I поля I поля

Думаю таблиц 6-8 максимум получится. Затем для красивости в какую нибудь cms воткнуть в БД и запросами в страницах вызывать.
Проблема у меня - как правильно это сделать. Связи не могу продумать.
И еще, хочу чтобы кафедры могли сами в своих заявках поля необходимые для них дописывать. Это возможно?

Спустя 6 минут, 42 секунды (30.07.2012 - 19:07) inpost написал(а):
Да, хранить поля в отдельной таблице, как шаблоны заявок.
В программировании возможно всё, всё зависит лишь от мастерства.

Нельзя сказать о количестве таблиц. Необходимо продумать логику приложения, как что и где будет работать, как реализуешь каждый из необходимых пунктов. После уже под конкретную реализацию создаётся нужные таблицы.

Спустя 8 минут, 59 секунд (30.07.2012 - 19:16) Kukaramba написал(а):
Думаю выводить лист по ФИО, № ученического. При нажатии на фамилию - можно было бы посмотреть заявки связанные с этим человеком. Если есть необходимость - была бы кнопка добавить заявку справа от ФИО.
Также - отдельная кнопка по добавлению Ученика и возможность сразу написать заявку для него.

Спустя 1 час, 20 минут, 4 секунды (30.07.2012 - 20:36) inpost написал(а):
Ты не слышал мем про "грабить кОрОваны"? Вот приблизительно тоже я вижу сейчас. Ты пытаешься какую-то мелкую деталь вырвать из проекта представив её за проект. Вот то, что ты называешь - это мелкие детали интерфейса и функционала, которые не являются главным в разработке проекта.

Вообще у тебя путаница, как я вижу, именно с объемом работы. Для этого составь т/з хотя бы сам для себя, план работы и опиши весь функционал. Далее выдели ядро, на чём будет располагаться сайт, и исходя из готового ядра начни создавать отдельные модули, которые в итоге преобразуются в единый проект. Ты дёргаешься между разными модулями, а стоит концентрироваться на одном и его делать, после добавлять второй и соединять с первым. Более по шагам разработка.

Спустя 12 часов, 58 минут, 35 секунд (31.07.2012 - 09:34) Kukaramba написал(а):
Тогда перейдем к первому пункту - БД)

Создаю таблицу о учениках

id_student$ ФИО №_ученического

Создаю таблицу по документам (несколько в зависимости от кафедры)

id_doc$ id_student поле поле поле
id_doc$ id_student поле поле поле
id_doc$ id_student поле поле поле

Отдельно создаю таблицу по вариантам заявок на учащегося

id_type$ id_doc Тип заявки

Связывать это буду - не знаю как. За этим сюда и пришел. Подскажите пожалуйста. Такое в первый раз делаю.

Спустя 3 часа, 31 минута, 1 секунда (31.07.2012 - 13:05) I++ написал(а):
Слушай inpost'a он плохого не посоветует, начни с ТЗ. Я бы подобный проект бы начинал именно с ТЗ. Распиши весь проект с начала и до конца.

Спустя 4 часа, 36 минут, 38 секунд (31.07.2012 - 17:42) inpost написал(а):
I++
Благодарю за доброе слово smile.gif

Спустя 4 минуты, 29 секунд (31.07.2012 - 17:47) inpost написал(а):
Kukaramba
Я не могу ответить то, какие таблицы надо создавать, потому что я толком не понимаю структуру. Структура формируется на основании т/з. Если тебе надо, чтобы существовали ученики - таблица №1. Заявки - вторая таблица и третья для связей (выше говорил, почитай про 3 нормальных формы Баз Данных). Тебе нужны варианты заявок - четвертая таблица, в ней хранить будешь типы заявок. После того, как заявка принята - человека назначаешь в группу, значит нам нужна таблица групп (пятая) и таблица связей между учениками и группами (шестая). Кроме этого необходимо хранить логи операций, поэтому 7-ую таблицу, которая будет хранить поведение заявок и их движение. Можешь разместить эту инфу в одно из 6-и предыдущих таблицах.
Ну вот, один из модулей за тебя на 50% сделал, потому что проектировка БД - это и есть 50% работы над сайтом. Вторые 50% - это написать код на ПХП.

Спустя 14 часов, 49 минут, 29 секунд (1.08.2012 - 08:36) Kukaramba написал(а):
Спасибо) Сегодня попробую сделать.

Спустя 21 минута, 43 секунды (1.08.2012 - 08:58) Kukaramba написал(а):
А это тяжелее чем я думал.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.