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

Форум MySQL

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

 

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

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

тема: двойное значение
 
 автор: sl1p   (26.10.2008 в 02:56)   письмо автору
 
 

Как лучше в базе хранить сабж?
тоесть сейчас я например делают так, поле, скажем, дата:

первый логин*последний логин;

а уже в пхп explode и вывожу.
Не вижу смысла создавать пицот колонок для такого..

но и проблема возникает при сортировке ORDER...

Мб есть какойто поудобнее способ или хотябы возможно у mysql есть своя explode?

  Ответить  
 
 автор: cheops   (26.10.2008 в 09:51)   письмо автору
 
   для: sl1p   (26.10.2008 в 02:56)
 

Ничего не понял. В чем заключается проблема?

  Ответить  
 
 автор: sl1p   (26.10.2008 в 12:00)   письмо автору
 
   для: cheops   (26.10.2008 в 09:51)
 

я храню в одном поле несколько значений. Ибо они относятся по смыслу к одному и тому же и дабы не создавать кучу столбцов что имхо есть не очень хорошо, я записываю в поле значение типа так:
"1^2^3^4^5", и запоминаю что где, тоесть скажем первое значение это дата первого логина, второе последнего и т.д.

потом когда мне нужно какоето из них прочитать я в пхп дёргаю весь этот столбец и с помощью explode разбиваю в массив. ну и потом уже по "запомненному" читаю\перезаписываю.

Ну или может так понятней будет
есть столбец e-mail
и в форме есть галочка скрыть\показать гдето там на странице где выводится этот самый эмейл..
и чтобы не создавать этот ненужный столбец я записываю так:
email@example.com^0

что значит эмейл скрыт, 1- показать.

  Ответить  
 
 автор: Trianon   (26.10.2008 в 12:24)   письмо автору
 
   для: sl1p   (26.10.2008 в 12:00)
 

>я храню в одном поле несколько значений. Ибо они относятся по смыслу к одному и тому же и дабы не создавать кучу столбцов что имхо есть не очень хорошо, я записываю в поле значение типа так:
>"1^2^3^4^5", и запоминаю что где, тоесть скажем первое значение это дата первого логина, второе последнего и т.д.

В одном поле несколько значений не хранят.
Если это значения разного смысла (как, например, first_login и last_login) - их хранят в разных столбцах.
Если это значения равного смысла - их держат в одном столбце, а следовательно, хранят в разных строках другой, связанной таблицы, описывающей эту, связанную с основной, сущность.

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

А придумывать новые способы, как кучу данных запихать в одну ячейку - это именно создание проблем как автору проекта, так и тем, кто потом будет этот проект поддерживать и переделывать.

[поправлено модератором]

  Ответить  
 
 автор: sl1p   (26.10.2008 в 12:41)   письмо автору
 
   для: Trianon   (26.10.2008 в 12:24)
 

спасибо за ответ.

  Ответить  
Rambler's Top100
вверх

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