SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 09.10.2010 06:10:44

Aziz
Участник
Зарегистрирован: 09.10.2010
Сообщений: 6

Таблица с множественными связями

Помогите создать таблицу. В итогое оно должна выглядитьтак: http://school110t.hut2.ru/img/tabl.gif

Где Фамилия и имя это одна таблица.Дни недели другая.
"|первое|...|седьмое|(назовём их час)" третья. А занчения (цыфры) привязанны к фамилии и к "час". Но как связать эти таблицы не пойму.

Неактивен

 

#2 09.10.2010 12:37:50

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Таблица с множественными связями

Честно говоря, не понял назначения этой таблицы, и то, почему
она вызывает затруднение sad

CREATE TABLE values (
  id INT NOT NULL KEY AUTO_INCREMENT,
  student INT NOT NULL KEY,
  hour INT NOT NULL KEY,
  value INT NOT NULL);

P.S. На Вашем сайте вебсервер отдает заголовок с кодировкой
cp1251, поэтому, если хотите работать в utf8, Вам нужно этот
заголовок переписать в PHP (команда header()).

Неактивен

 

#3 10.10.2010 02:49:24

Aziz
Участник
Зарегистрирован: 09.10.2010
Сообщений: 6

Re: Таблица с множественными связями

Дело в том что ФИО берется с одной таблицы, день недели с другой, "первое"...."седьмое" с третьей таблицы и меняет место в зависимости от дня недели а заполняющие цыфры с четвёртй. Эти цыфры привязаны к первым трём таблицам. Вот и не пойму как это реализовать. Былбы примного благодарен за помощь.

PS: странно, у меня в  .htaccess
AddDefaultCharset UTF-8

Отредактированно Aziz (10.10.2010 02:54:56)

Неактивен

 

#4 10.10.2010 15:11:19

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Таблица с множественными связями

Пока мне не понятно назначение таблицы, я Вам никак помочь не смогу sad
Впрочем, мой предыдущий ответ никак не конфликтует с тем, что Вы написали.

P.S. Заголовки таки генерятся в PHP wink

Неактивен

 

#5 10.10.2010 16:22:51

Aziz
Участник
Зарегистрирован: 09.10.2010
Сообщений: 6

Re: Таблица с множественными связями

Хорошо, попробую обяснить. Представьте школьный журнал где Слева вертикально идут фамилии учеников, с верху первые шесть горизонтальнын столбцы показывают день недели (или дату) каждая из них с низу разделена на семь новых столбцов в которую в свою очередь внесены наименование уроков. затем уже в перекрестии урока и фамилии квадратик куда преподователь ставит оценку.  Вот именно это я и хочу реализовать. Так как классов много, значит свой "журнал " будет для каждого класса. Но если мы будем для каждого класса делать свою таблицу, то это получиться бог его знает сколько. По этому я хочу сделать что бы св одной таблице были фамилии всех учеников, она будет сортироваться к примеру так:

id; fio; klass; group;
1 ;Смирнов; 5;2

... WHERE klass=$klass AND group=$group

$g=array('А','Б','В','Г'....)

и тогда на выходе получаем

echo row['fio'].row['klass'].$g[row['group']]."класс";

то есть Смирнов 5 В класс и так далее.

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

Поннедельник. Урок матиматики.
Смирнов 4
Сафина 5
и так далее по всем предметам по дням недели...

Вот такую задачу я поставил перед собой но никак не могу решить...

И очень надеюсь на Вашу помошь.

Неактивен

 

#6 10.10.2010 19:19:44

Aziz
Участник
Зарегистрирован: 09.10.2010
Сообщений: 6

Re: Таблица с множественными связями

вот пока набросок, объединил пока две таблицы, взависимости от класса ($klass) у меня выводятся фамилии учеников. Тоесть всех учеников в школе могу записать в одну таблицу.а что бы не перепутать я ввёл группу ($group) То есть 4,2 у меня соответствует 4В класс. 


$klass=4;
$group=2;
  $result = mysql_query('SELECT DISTINCT  * FROM ucheniki  AS g   LEFT JOIN klass AS n ON n.klass = g.klass AND n.group = g.group WHERE n.klass='.$klass.' AND n.group='.$group.' GROUP BY g.name ORDER BY n.klass ');
       while($row = mysql_fetch_array($result)){
               echo  $row['name']."<---->".$row['klass']."<br />"; }

Отредактированно Aziz (10.10.2010 19:27:34)

Неактивен

 

#7 10.10.2010 20:33:55

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Таблица с множественными связями

Я не понимаю, откуда берется число 7. У Вас есть журнал оценок. Столбцы
id_ученика, id_предмета, дата, оценка. Всё. Зачем придумывать что-то сложнее?

Неактивен

 

#8 11.10.2010 07:09:33

Aziz
Участник
Зарегистрирован: 09.10.2010
Сообщений: 6

Re: Таблица с множественными связями

paulus написал:

Я не понимаю, откуда берется число 7.

7- это число занятий. в школе максимальное количество уроков = 7.
к примеру:
1.Математика
2.Физика
3.Черчение
4.Физкультура
5.Русский язык
6.Литература
7.История

paulus написал:

У Вас есть журнал оценок. Столбцы
id_ученика, id_предмета, дата, оценка. Всё. Зачем придумывать что-то сложнее?

Проще пока не могу придумать. Можно узнать в общих чертах, как это? Наверное так мы смогли бы лучше понять друг друга. :-)

Неактивен

 

#9 11.10.2010 15:53:27

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Таблица с множественными связями

А когда появится вдруг 8 предмет (например, факультатив), Вы будете переделывать
всю базу?

Я написал структуру, которую бы использовал сам. Чем она Вас не устраивает?

Неактивен

 

#10 14.10.2010 06:13:43

Aziz
Участник
Зарегистрирован: 09.10.2010
Сообщений: 6

Re: Таблица с множественными связями

paulus написал:

А когда появится вдруг 8 предмет (например, факультатив), Вы будете переделывать
всю базу?

Я написал структуру, которую бы использовал сам. Чем она Вас не устраивает

Пока 8го предмета не было, 7 это максимальное, по крайней мере в нашей школе. Но для такого случая я в расписании оставил специальную таблицу, называется пока "message".

paulus написал:

Я написал структуру, которую бы использовал сам. Чем она Вас не устраивает?

Здесь я не могу понть одно.
Если я каждый день выставляю оценку определённому классу, пргоиммерно по 6-7 предметам, что будет твориться с базой. ?

Неактивен

 

#11 14.10.2010 14:46:27

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Таблица с множественными связями

Будет расти, разумеется. Сохранение дополнительных данных приводит к росту
занимаемого ими объема smile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson