Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Расписание распределения машинного времени. 
:(
    Опции темы
Mal Hack
Дата 27.5.2005, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Пижу диполм. Задание - написать приложение для учета машинного времиени в залах ВЦ в техникуме по парам.
Ничего сложного нет. Но есть один вопрос на оптимальность.
Итак.
Расписание недельное.
Есть три master таблицы.
Первая содержит общие данные о расписании.
ID | День начала недели | Выходные | Статус (утверждено или нет).
Вторая таблица содержит заявки.
ID | Дата | Преподаватель | Зал | Группа | Тип занятия | Пары, которые препод хочет вести
Третья таблица само расиписание, уже утвержденное. Которое грубо говоря надо будеот отображать в таблице, где стобцы - пары, строки - дни недели - это для одного преподавателя. А для администратора - общее расписание на день, где столбцы - также пары, а строки - залы ВЦ.
ДЫк вот. Третью таблицу я вижу так:
ID расписания из табл. 1 | Дата | Зал | строка: "Группа::::Преподаватель" (*) - 7 раз, на 7 пар, т.е.
ID расписания из табл. 1 | Дата | Зал | 1 пара | 2 | 3 | 4 | 5 | 6 | 7

В скрипте для ОБЩЕГО расписания - все просто. При вывод парсим вот эту строку (*) и выводим инфу.
НО если нам надо посмотреть расписание одного преподавателя. Мы должны сделать запрос:
WHERE `data` = '.....' AND... А тут написать условие, по которому брались только те записи, где в записях столбцов 1-7 пар есть: "::::ID нужного преподавателя". 7 AND'ов мне кажутся не оптимальным решением.

Хотел бы выслушать предложения по оптимизации или изменению структуры таблицы.

Работаю на PHP4 & MySQL 4.0.
PM ICQ   Вверх
oxygen
Дата 28.5.2005, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 4.5.2005
Где: Москва, СВАО

Репутация: 1
Всего: 3



препода и группу запиши лучше в поля отдельные, всяко удобнее будет smile
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 28.5.2005, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



окей. отлично. SET'ом их сделаю. +...
PM ICQ   Вверх
Irokez
Дата 28.5.2005, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 5
Всего: 53



я бы отделил таблицу пар
PM   Вверх
Mal Hack
Дата 28.5.2005, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(Irokez @ 28.5.2005, 23:27)
я бы отделил таблицу пар

нет смысла. Сьтатично с 1 по 7.
PM ICQ   Вверх
Irokez
Дата 28.5.2005, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 5
Всего: 53



Цитата(Mal @ 28.5.2005, 22:47)
нет смысла. Сьтатично с 1 по 7.

правда конечно, но мало ли, если вдруг пары будут добавляться... или к ним перемены
да и чем больше таблиц, тем преподаватели лучше думают о работе smile
да и запрос твой упростится
PM   Вверх
Mal Hack
Дата 28.5.2005, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(Irokez @ 28.5.2005, 23:53)
правда конечно, но мало ли, если вдруг пары будут добавляться...

Дописываем в множество.

Цитата(Irokez @ 28.5.2005, 23:53)
да и чем больше таблиц, тем преподаватели лучше думают о работе smile

Плеват на преподов. Главное чтобы все было оптимально. Доказать если что всегда можно.

Цитата(Irokez @ 28.5.2005, 23:53)
да и запрос твой упростится

Дуумаю вряд ли.. Так пишем WHERE `pars` IN ( '1' ,'2') а в твоем случае надо внешнюю связь делать.
PM ICQ   Вверх
Irokez
Дата 28.5.2005, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 5
Всего: 53



мое дело предложить smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0855 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.