Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как лучше спроектировать базу данных?
 
 автор: SergeZ   (22.03.2005 в 16:12)   письмо автору
 
 

Надо в Mysql базе хранить следующую информацию:
Код позиции - целой 5-6 значное число
Для каждого кода позиции хранить цепочку парных значений время - значение в виде числа от 1 до 999
Таких пар для каждого кода позиции может быть до 1000.
Это - часть системы статистики. Конечная задача получать для выбранного кода позиции историю его значения.

Какую структуру таблицы лучше выбрать, что бы потом было проще работать с этой информацией.

   
 
 автор: cheops   (22.03.2005 в 22:47)   письмо автору
 
   для: SergeZ   (22.03.2005 в 16:12)
 

Здесь лучше составить две таблицы, kod
id_kod - первичный ключ таблицы
value - 5-6 значное число
и таблица statistic
id - первичный ключ таблицы
first - первое значени из пары
second - второе значение из пары
id_kod - вторичный ключ, опеределяющий какой из записи таблицы kod принидлежит эта пара.

   
 
 автор: SergeZ   (23.03.2005 в 17:44)   письмо автору
 
   для: cheops   (22.03.2005 в 22:47)
 

ОК. Спасибо за ответ. Примерно такое решение тоже приходило в голову. Но вот инетересует, а почему нельзя сделать 1 таблицу с большим количеством столбцов. Каждый столбец будет иметь имя, соответствующее моменту его создания. Это связано с технологией работы с хранимыми данными. Нужно будет удалять и добавлять записи сразу для всех записей таблицы. Таким образом что бы удалить устаревшие данные надо будет выполнить только команду удалить столбец(ы)
Мне такое решение кажется более удобным для работы( внесения/ удаления записей), но беспокоит нестандартно большое число столбцов в таблице. Максимум - до 1000.
Хотелось бы услышать минусы такого решения.

   
 
 автор: cheops   (23.03.2005 в 18:21)   письмо автору
 
   для: SergeZ   (23.03.2005 в 17:44)
 

Недостатоки здесь следующие
- все столбцы требуют под себя дополнительное место
- при перестройке таблицы данные будут сильно разбросаны (нужно почаще проводить процедуру оптимизации таблиц)
- Не удобно добавлять новое значение, если будет 1000 столбцов - будет очень длинный оператор INSERT, в принципе не страшно, но если приложение и сервер базы данных находятся на разных хостах - будет большой сетевой трафик, что приводит к снижению производительности.
Но если при добавлении новой пары её необходимо добавить каждой записи - то это вполне нормально решение.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования