Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: О сериализации в поле РБД

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Anchor
Отправлено: 17 Октября, 2014 - 10:47:51
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




Всех приветствую. Что считаете, "дурно" ли записывать/считывать в одну ячейку (Реляционная БД), сериализованный(в строку) ассоциативный массив? Или все же разносить эти данные по полям/таблицам?
 
 Top
Мелкий Супермодератор
Отправлено: 17 Октября, 2014 - 11:00:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Сначала нормальная форма.
И только потом, когда можете чётко и внятно аргументировать, почему здесь нормальная форма не нужна, что знаете все минусы этого варианта и есть существенные плюсы - пишете сериализованный вид.


-----
PostgreSQL DBA
 
 Top
Anchor
Отправлено: 18 Октября, 2014 - 10:51:47
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




Вот у меня такая ерунда, любопытно было бы услышать мнение. Массив который нужно хранить, с ДИНАМИЧЕСКИМИ данными и КАЖДЫЙ элемент может как отстутствовать так и присутствовать. Помимо этого названия ключей массива - также невозможно изначально определить однозначно. Например есть какой-нибудь Офис, и там комнаты могут носить свои специфичные названия.

--
1.Есть таблица "Коммерческая недвижимость".
2.Есть поле "Площадь". Это поле может быть "динамическим". Т.е. варианты такие:

CODE (htmlphp):
скопировать код в буфер обмена
  1. 0=>"площадь кухни"
  2. 1=>"площадь комнат" { //произвольное число (комнат)
  3.         0=>12
  4.         1=>34 // тут также может появитья описание(я) комнаты, тип, т.е. еще один под-массив. Хотя, возможно, это не нужно сюда впихивать. Но если сериализовавывать - то было бы удобно, т.к. данные эти - динамические
  5. }
  6.  


Либо, ВСЕ это может быть элементом массива "Этажи". И на каждом этаже будет такой массив
CODE (htmlphp):
скопировать код в буфер обмена
  1. 0=>"Этаж1" {
  2.         1=>"площадь комнат" {
  3.                 ...
  4.         }
  5. }

(Отредактировано автором: 18 Октября, 2014 - 10:59:08)

 
 Top
Мелкий Супермодератор
Отправлено: 18 Октября, 2014 - 11:23:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Мне добавить нечего, сначала нормальная форма.
Возможно, вам вообще не нужна РСУБД, на них свет клином не сошёлся.


-----
PostgreSQL DBA
 
 Top
Anchor
Отправлено: 20 Октября, 2014 - 11:48:32
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




Мелкий пишет:
Возможно, вам вообще не нужна РСУБД, на них свет клином не сошёлся.

Ну у меня это Компонент к существующей CMS=)) А там MySQL, так что только РБД=)
 
 Top
tuareg
Отправлено: 20 Октября, 2014 - 15:25:16
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Может про EAV почитать. С другой стороны если Вам по этим параметрам искать(фильтровать) не надо, то можно и как строку хранить.
 
 Top
Anchor
Отправлено: 21 Октября, 2014 - 17:30:26
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




tuareg пишет:
С другой стороны если Вам по этим параметрам искать(фильтровать) не надо, то можно и как строку хранить.

Фильтровать нужно только по Общей площади. А она вынесена в отдельное поле.

tuareg пишет:
Может про EAV почитать.

Хмм. любопытная штука
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB