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

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

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2010, 12:19   #1
Adblock
Форумчанин
 
Аватар для Adblock
 
Регистрация: 25.04.2010
Сообщений: 184
Вопрос Проектирование проекта

Не очень хочу расскрывать смысл своего проекта.Поэтому расскажу на примере онлайн дневников.
Вот возникла такая загвоздка:
1.Как реализовать базу данных
  • Пользователь
  • сообственно оценки
  • привилегии пользователей
  • предметы
2.Как грамотно составить запрос, что бы не повесить БД,ведь примерно надо будет выводить..ну 13 строк+оценки.
Порекомендуйте что нибудь
Online
Adblock вне форума Ответить с цитированием
Старый 24.11.2010, 12:46   #2
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Цитата:
1.Как реализовать базу данных

* Пользователь
* сообственно оценки
* привилегии пользователей
* предметы
Тут я бы предложил создать таблицы:
1) Пользователи ( id,name )
2) Предметы (id,name)
3) Таблица оценок (id, id_юзера, id_предмета,оценка)
4) Привилегии (id, id_юзера, привилегия).

Цитата:
2.Как грамотно составить запрос, что бы не повесить БД,ведь примерно надо будет выводить..ну 13 строк+оценки.
Поставте конкретнее вопрос. Какие именно запросы вам нужны будут ?
ssdm вне форума Ответить с цитированием
Старый 24.11.2010, 13:15   #3
Adblock
Форумчанин
 
Аватар для Adblock
 
Регистрация: 25.04.2010
Сообщений: 184
По умолчанию

1.Запрос имя ученика
2.Запрос на предметы которые он изучает
3.Оценки которые он получил за какой то период времени
4.И вывести это все в таблицу
Online
Adblock вне форума Ответить с цитированием
Старый 24.11.2010, 14:05   #4
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Цитата:
1.Запрос имя ученика
??
Код:
Select * from пользователи where и т.д.
завитсит от того по каким критериям ученик искаться будет
Цитата:
2.Запрос на предметы которые он изучает
Для этой задачи я бы создал ещё одну таблицу юзеры_предметы(id,id_юзера,id_предм ета) , чтобы не нагружать таблицу оценок(так как в ней теоритчеси очень много записей может быть).
Тогда запрос
Код:
select * from юзеры_предметы where id_юзера in ( Select id from пользователи where и т.д.  )
Цитата:
3.Оценки которые он получил за какой то период времени
Код:
select a.оценка , b.name from юзеры_предметы as a LEFT JOIN  предметы as b on a.id_предметы=b.id where a.id in (select * from Пользователи where критерии поиска юзера (см.  1 пример) )  and (a.datetime between start_period and end_period )
Здесь скорее всего можно оптимизировать запрос.

Код:
4.И вывести это все в таблицу
Ну тут все просто , получил результат 3) - пункта, и в цикле собираешь таблицу. Потом её выводишь. Будут проблемы, скину скрипт.

Последний раз редактировалось ssdm; 24.11.2010 в 15:39.
ssdm вне форума Ответить с цитированием
Старый 24.11.2010, 15:24   #5
Adblock
Форумчанин
 
Аватар для Adblock
 
Регистрация: 25.04.2010
Сообщений: 184
По умолчанию

Скрипт?! а можно взглянуть?
Online
Adblock вне форума Ответить с цитированием
Старый 24.11.2010, 15:40   #6
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Цитата:
Скрипт?! а можно взглянуть?
Ну не скрипт, а часть кода ))
что то типа этого
Код:
$sql="SQL_QUERY";
$res=mysql_query($sql);
$cont="<table>";
while($row=mysql_fetch_assoc($res)){
	$cont.='<tr><td>'.$row['name'].'<td>'.$row['mark'];
}
$cont.="</table>";
echo $cont;
ssdm вне форума Ответить с цитированием
Старый 24.11.2010, 15:57   #7
Adblock
Форумчанин
 
Аватар для Adblock
 
Регистрация: 25.04.2010
Сообщений: 184
По умолчанию

хм.Тут нужно не так:
http://s50.radikal.ru/i129/1011/38/8a870ef31544.png //набросал
1.Как построить запрос на выборку уроков
2.Как построить запрос на выборку оценок
3.Как построить таблицу.К примеру если ученик был на уроке,не получил оценку=пустая клеточка.
4.Как подписать даты
Online
Adblock вне форума Ответить с цитированием
Старый 24.11.2010, 17:11   #8
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Хм. На вскидку не могу сообразить как в один запрос все завернуть,чтобы получить итоговую таблицу.
Эта в общем то не тривиальная задача. Идей как сделать это просто и изыскано пока нет. Идей как сделать через *** - много. Если хочешь могу подкинуть. )

некультурное словцо удалено //модератор

Последний раз редактировалось SkyM@n; 25.11.2010 в 00:48.
ssdm вне форума Ответить с цитированием
Старый 24.11.2010, 21:07   #9
Adblock
Форумчанин
 
Аватар для Adblock
 
Регистрация: 25.04.2010
Сообщений: 184
По умолчанию

Та через *** у меня тоже много,я только поэтому и на форум написал.Но пока что главный вопрос,как построить таблицу(предмет,дата,оценки)

некультурное словцо удалено //модератор
Online

Последний раз редактировалось SkyM@n; 25.11.2010 в 00:49.
Adblock вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проектирование фабрики coinkrsk Общие вопросы C/C++ 2 11.11.2010 18:00
Проектирование информационных систем Myth2020 Помощь студентам 1 31.05.2010 17:37
Проектирование JKING Помощь студентам 0 02.05.2010 17:56
Проектирование CGI PavluxaF Работа с сетью в Delphi 2 07.05.2009 01:17
Проектирование базы данных Xeon332 Помощь студентам 5 23.12.2008 19:40