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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2008, 07:37   #1
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию Schoool DB

Vsem Salam delo takoe mne dali temu kursovoi raboty:
16. Школа.
База данных должна содержать сведения обо всех участниках образовательного процесса, о классах и их классных руководителях, об аудиториях, закрепленных за классом, о преподвателях-предметниках, о расписании, об успеваемости учащихся.


Znau eto legkoe tema no sovety ne pomeshaet
i tak ia sozdal poka 2 table
1) U4eniki
ID_nomer
FIO
Klass
Adress
Telefon
2) U4iteli
Id_nomer
FIO
Dolzhinost
Adress
Telefon

Pomogite mne s ostalnymi tablitsami
(tablitsa sazdaetsa na SQL)
fobass вне форума Ответить с цитированием
Старый 28.11.2008, 11:06   #2
Mitriy08
Пользователь
 
Регистрация: 11.07.2008
Сообщений: 91
По умолчанию

Цитата:
Znau eto legkoe tema no sovety ne pomeshaet
Я бы не сказал, что эта легкая тема, если в нее углубиться...да и если развить тему можно ее перевести из курсовой в диполомную

И не стоит начинать писать программу пока не продумаете структуру БД!!!

Хотелось бы по точнее узнать БД которую вы будите использовать
я бы в данном случае использовал MSSQL

И определится с переводом учеников/учителей
Каждый ученик должен перейти в другой класс либо не перейти
У каждого учителя должен увеличится стаж работы и тд

Так же необходимо определится с успеваемосью учеников, это что за зверь ? Это любая оценка за каждый день которую может получить ученик либо это оценка к примеру за четверть и тд?

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

Для чего все это? Оч просто: Пример ученик/учитель уходят/увольняются со школы, а через некоторое время они захотят востановится в этой школе - можно сразу удалить эти данные либо пометить на удаление их в конце года их зачистить...., когда будет происходить так называемый "Перевод года"

Решение проблемы не скажу, хочется чтобы автор темы сам придумал и решил как ему поступить

Не много про структуру табличек "Как бы это сделал я"
1) Должна быть 1 табличка в которой будет содержаться информация о персоналиях туда будут попадать все и у ученики и преподаватели ( могут попадать родители детей, сотрудники школы, партнеры школы итд...)
Структура примерно такая:
ID - ID строки
UserGuid - уникальный индефикатор пользователя (можно не вводить но всякий случай будет)
FirstName - Фамилия
LastName - Имя
MidleName - Отчество
Initials - иницыалы (так сказать чтобы потом не мучаться при создании отчетов, если инициалы не используются в отчетах можно не вносить)
AdressID - ID строки с таблички Адреса ( сделанно для того чтобы адреса не дублировались так сказать могут в одной школе могут учится дети с одной семьи у них может быть один адрес. так же учитель может быть чьим то родителем итд...)
HomeTelephone - домашний телефон
MobileTelephoneID - индетификатор ID таблицы MobileTelephone, потому что у любого человека может быть не сколько мобильных телефонов..
Email - Электронная почта
WebAdress - веб сайт

Табличка адрес ее также необходимо проектировать исходя, что вам нужно будет делать в будущем
Пример: нужно показать всех учителей которые проживают в каком то определенном районе и тд...

2)Дальше идет так сказать деление на роли, тобиш должны быть табличка о типе персоналия т.е ученик, учитель и тд ( как показывает практика ученик может быть учителем Оо)
Примерна структура:
Id - ID типа персоналия
Name - тип персоналия
что будет находится в табличке:
id name
1 Pupils
2 Teachers
и тд...

3) Табличка которая будет содержать информауцию о ключах Персоналии_ТипПерсоналия
Пример: структура таблички:
Sourse - источник (в данном случе id персоналия)
Destination - приемник (в данном случае id типа персоналия)

По этой структуре можно понять что это Отношение многие ко многим...
можно сделать и один ко многим...мое мнение так не красиво геморойно но все же ....
И так, если вы будете делать БД в MSSQL на эту таблчику (Персоналии_ ТипПЕрсоналия) вешается тригер, котрый при добавлении/удалении записи будет заносить/удалять даные из табличек ученики учитиля итд если другая БД это надо сделать самой программой...
Пример таблички "Ученики":
Pupils:
ID - ID строки
PersonsID - ID строки песроналия
ClassID - ID класса в котором, будет учится ученик

Примерная струтура таблички учителя:
Teachers:
ID - ID строки
PersonsID - Id строки с таблички персоналии

Т.к у одного учителя может быть не сколько должностей в школе разнесем их по разным табличкам как это я сделал с Персоналиями_ТипПерсоналия

Тоже самое сделаем и с классным руководством (поверьте один преподаватель может быть классным руководителем в нескольких классах)

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

ps. Для начала собирите всю информацию о том, что должно быть, а чего не должно, а потом уже начинайте проектировать бд и писать саму прогу.....

Последний раз редактировалось Mitriy08; 28.11.2008 в 11:28.
Mitriy08 вне форума Ответить с цитированием
Старый 28.11.2008, 14:39   #3
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию

да вы правы с начала я собиру инфу
Цитата:
Сообщение от Mitriy08 Посмотреть сообщение
И не стоит начинать писать программу пока не продумаете структуру БД!!!
Хотелось бы по точнее узнать БД которую вы будите использовать
я бы в данном случае использовал MSSQL
используется MSSQL

Дело в том что я изучаю этот язык (догоняю группу ) и там хочу создать табицы все токое а интерфейс сделать на Делфи т.е свизать с ним

Цитата:
Сообщение от Mitriy08 Посмотреть сообщение
да и хотелось, чтобы автор сам чутка напрягся я просто привел кусочек примера и по этому принципу можно сделать все остальные таблички...
ОК
fobass вне форума Ответить с цитированием
Старый 28.11.2008, 16:03   #4
Mitriy08
Пользователь
 
Регистрация: 11.07.2008
Сообщений: 91
По умолчанию

Цитата:
да вы правы с начала я собиру инфу
На сколько я понял вы уже начали проектировать....)

кароче как соберете всю информацию, что и как должно быть вылаживайте свои предложения...

Цитата:
Дело в том что я изучаю этот язык (догоняю группу )
Перед этим посоветую почитать про SQL http://sql.ru/ либо гугль вам в помощь, в свое время для сдачи зачета в универе я его выучил за ночь ни чего сложного там нету...
Mitriy08 вне форума Ответить с цитированием
Ответ


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