![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 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. |
|||
|
||||
oxygen |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2005 Где: Москва, СВАО Репутация: 1 Всего: 3 |
препода и группу запиши лучше в поля отдельные, всяко удобнее будет
![]() |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
окей. отлично. SET'ом их сделаю. +...
|
|||
|
||||
Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 5 Всего: 53 |
я бы отделил таблицу пар
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
нет смысла. Сьтатично с 1 по 7. |
|||
|
||||
Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 5 Всего: 53 |
правда конечно, но мало ли, если вдруг пары будут добавляться... или к ним перемены да и чем больше таблиц, тем преподаватели лучше думают о работе ![]() да и запрос твой упростится |
|||
|
||||
Mal Hack |
|
||||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Дописываем в множество.
Плеват на преподов. Главное чтобы все было оптимально. Доказать если что всегда можно.
Дуумаю вряд ли.. Так пишем WHERE `pars` IN ( '1' ,'2') а в твоем случае надо внешнюю связь делать. |
||||||
|
|||||||
Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 5 Всего: 53 |
мое дело предложить
![]() |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |