Перейти к содержимому


Фотография
- - - - -

Проектирование БД. MySQL


  • Пожалуйста, авторизуйтесь, чтобы ответить
3 ответов в этой теме

#1 PingwiN

PingwiN

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 4 936 сообщений
62
Хороший
  • Пол:Мужчина

Опубликовано 30 Январь 2010 - 16:06

Во первых есть пара вопросов - надо ли повторяющиеся значения выводить в отдельные таблицы. В дальнейшем по этим значениям будут делаться выборки.
Например
o_country - возможно всего 6 стран
o_region - зависит страны
о_type - тоже всего 5 возможных вариантов.

Возможно ли в БД оставлять пустое поле? в дальнейшем выводить просто прочерк.
например значения полей o_sq_site и o_sq может быть или не быть в зависимости от o_type.

адекватно ли хранить 1 превью картинку в этой таблице (ок 30Кб jpg)? o_pic
Так же - стоит ли хранить полное описание - с тегами форматирования в этой же таблице? o_dscr_full. 65Кб - я так понимаю это дохренища текста влезет?

Ну и последнее галерея изображений. Хранить в БД? Если нет, то как?
У разных объектов может быть от 3 до 50 изображений. соответственно тамб до 30Кб и полное - около 120-200Кб.
Объектов 2-3 тысячи будет.

Вложенные файлы


  • 0
С теми,кто знает себе цену,легче сойтись в цене

#2 лайт

лайт

    iddqd

  • True Members
  • PipPipPipPipPip
  • 3 843 сообщений
9
Обычный
  • Пол:Мужчина

Опубликовано 30 Январь 2010 - 17:48

Во первых есть пара вопросов - надо ли повторяющиеся значения выводить в отдельные таблицы. В дальнейшем по этим значениям будут делаться выборки.
Например
o_country - возможно всего 6 стран
o_region - зависит страны
о_type - тоже всего 5 возможных вариантов.

Возможно ли в БД оставлять пустое поле? в дальнейшем выводить просто прочерк.
например значения полей o_sq_site и o_sq может быть или не быть в зависимости от o_type.

адекватно ли хранить 1 превью картинку в этой таблице (ок 30Кб jpg)? o_pic
Так же - стоит ли хранить полное описание - с тегами форматирования в этой же таблице? o_dscr_full. 65Кб - я так понимаю это дохренища текста влезет?

Ну и последнее галерея изображений. Хранить в БД? Если нет, то как?
У разных объектов может быть от 3 до 50 изображений. соответственно тамб до 30Кб и полное - около 120-200Кб.
Объектов 2-3 тысячи будет.

Про повторяющиеся я *цензура* не понял.
Поле пустое можно оставлять, либо присвоить ему значение по-умолчанию NULL.
Ни cms, ни различные серверные приложения которые я использовал не применяли хранение бинарных данных в базе. Тебе больше гугл по этому поводу скажет.
В текст влезает 65535байт, смотри сам сколько тебе нужно. Про фильтрацию форматированного текста только не забывай, а то хекнут.
Да и вообще я бы не советовал хранить большие объёмы бинарных данных в mysql, тут уже в сторону postgresql смотреть нужно.
  • 0

#3 Malder

Malder

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 1 330 сообщений
0
Обычный
  • Пол:Мужчина

Опубликовано 04 Февраль 2010 - 09:54

стоит действительно смотреть в сторону postgreSQL если записей будет 2-3 тысячи. Картинки хранить в БД нехорошо. Храни там путь до картинки.

Возможно ли в БД оставлять пустое поле? в дальнейшем выводить просто прочерк.

Да. Если поле пустое, то при выборке можно заменить его на "----"

Так же - стоит ли хранить полное описание - с тегами форматирования в этой же таблице? o_dscr_full. 65Кб - я так понимаю это дохренища текста влезет?

Если текст не привышает 65кб то храни в БД. Если больше, то сохраняй текст в txt, а в бд храни путь до файла.
  • 0

#4 krutuzick

krutuzick

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 220 сообщений
3
Обычный

Опубликовано 04 Февраль 2010 - 21:34

По части повторяющихся значений и прочего стаффа при проектировании бд:
Нормализация баз данных
Первые 3 (возможно + Бойса-Кодда) настоятельно рекомендованы к применению.
В чём плюсы: уменьшается риск получить Аномалии
В чём минусы: более сложные запросы, бОльшее количество таблиц в базе.
  • 0


Посетителей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных пользователей