MySQL и мелкие вопросы<< 1  ... 44 45 46 47 48  ... 75 >>    18.01.2014 / 00:10 |  |  aNNiMON    Супервизор 
   Сейчас: Offline 
 Имя: Витёк Регистрация: 11.01.2010
   | Dinisimys, да, но это не суть важно. Ладно, начнём сначала. Есть  такая структура таблиц. Поля user_id, exer_id и date присутствуют во всех четырёх, что говорит об избыточности. Да и неудобно работать отдельно с четырьмя таблицами. Я хочу вынести общие поля в отдельную таблицу stat и связать с таблицей (теперь уже одной) stat_values. Было 4 таблицы, станет две, ок? Только тут беда в том, что связь получится 1 к 1, что говорит о том, что у меня кривые руки. Может как-то можно по-другому сделать?  __________________
   let live  Изменено aNNiMON (18.01 / 00:15) (всего 3 раза) |  
   18.01.2014 / 00:26 |  |  Dinisimys    Пользователь  
   Сейчас: Offline 
 Имя: Денис Регистрация: 30.07.2012
   | aNNiMON, можешь уточнить задачу. Конкретно на примере, как должно работать. Что должно происходить? На примере с четырьма таблицами.
   |  
   18.01.2014 / 00:26 |  |  aNNiMON    Супервизор 
   Сейчас: Offline 
 Имя: Витёк Регистрация: 11.01.2010
   | Хм, посидел, подумал. А что, если таблица будет вот такая: `id` int(11) unsigned NOT NULL AUTO_INCREMENT,  
`user_id` int(11) unsigned NOT NULL,  
`exer_id` int(11) unsigned NOT NULL,  
`total` int(11) DEFAULT NULL,  
`weight` int(4) DEFAULT NULL,  
`time` int(8) unsigned DEFAULT NULL,  
`date` date NOT NULL,  
 То есть в одной записи может быть несколько полей с NULL'ами. id user exer total wght time date  
1  1  2  1000 NULL NULL  2013-10-11  
2  1  2  NULL NULL 0020  2013-10-12  
3  1  9  5000 NULL 0040  2013-12-16  
4  1  2  0100 0005 NULL  2013-12-16  
 Наличие нулов не сильно навредит?  __________________
   let live  Изменено aNNiMON (18.01 / 00:28) (всего 1 раз) |  
   18.01.2014 / 00:31 |  |  Dinisimys    Пользователь  
   Сейчас: Offline 
 Имя: Денис Регистрация: 30.07.2012
   | aNNiMON, ничем не повредит, насколько я знаю. Почему у поля date тип date? Лучше timestamp, а уже через php можно делать что захочешь с этим временем, в том числе и перевести в простую дату.
   |  
   18.01.2014 / 00:35 |  |  aNNiMON    Супервизор 
   Сейчас: Offline 
 Имя: Витёк Регистрация: 11.01.2010
   | Dinisimys, зачем мне хранить время и дату, если мне нужна только дата. К тому же там хитрая система, когда добавляется новая запись с датой, которая уже была в списке, то значение складывается и обновляется, а не добавляется новое. С timestamp этого у меня не получилось бы. Ладно, спасибо за помощь, попробую пока так.
  __________________
   let live  |  
   18.01.2014 / 00:38 |  |  Dinisimys    Пользователь  
   Сейчас: Offline 
 Имя: Денис Регистрация: 30.07.2012
   | aNNiMON, всмысле, если запись в базу данных происходит в один и тот же день, тогда суммируется значения для этого юзера, да? И система сделана посредтсвом чего? mysql или php?
   |  
   18.01.2014 / 00:49 |  |  aNNiMON    Супервизор 
   Сейчас: Offline 
 Имя: Витёк Регистрация: 11.01.2010
   | Dinisimys, да. Конкретно - статистика спортивных тренировок. Ты утром встал, отжался 40 раз, в БД записало: user: 1, total: 40, exer: 1 (отжимания), date: 2014-01-18 Потом вечером ещё 100 раз сделал, в БД уже будет: user: 1, total: 140, exer: 1 (отжимания), date: 2014-01-18
  __________________
   let live  |  
   18.01.2014 / 00:51 |  |  Dinisimys    Пользователь  
   Сейчас: Offline 
 Имя: Денис Регистрация: 30.07.2012
   | aNNiMON, ну а саму хитрую систему ты на мускуле или пхп делал?  Потому что, если на последнем, то таймстамп подойдет, а если на первом, тогда незнаю.
   |  
   18.01.2014 / 00:55 |  |  aNNiMON    Супервизор 
   Сейчас: Offline 
 Имя: Витёк Регистрация: 11.01.2010
   | Dinisimys, на PHP. Но мне не нужен timestamp, лишнее хранить не хочу.
  __________________
   let live  |  
   18.01.2014 / 00:59 |  |  Dinisimys    Пользователь  
   Сейчас: Offline 
 Имя: Денис Регистрация: 30.07.2012
   | aNNiMON, а вдруг тебе понадобится посчитать, ну например, количество дней от текущей дату, до какой-то другой даты. Это например. С таймстампом это можно сделать одним выражением, а с датой надо поиграться немного. Тем более лишнего ты не будешь хранить, ведь это 11 чисел, а в дате - десять символов. И почему ты решил, что на тайстампе решить твою задачу нельзя с "одним днем"? Очень просто даже
   Изменено Dinisimys (18.01 / 01:00) (всего 1 раз) |  
 << 1  ... 44 45 46 47 48  ... 75 >>     Всего сообщений: 750  Фильтровать сообщения
  Поиск по теме
  Файлы топика (22) 
                 |