Russian Qt Forum

Qt => Базы данных => Тема начата: TemaTre от Апрель 27, 2012, 14:14



Название: Как лучше хранить данные в SQL
Отправлено: TemaTre от Апрель 27, 2012, 14:14
Базу данных пишу впервые, Первую реализацию сделал в обще через кривые костыли в виде клиент-серверного приложения(Ну чтож было год назад, молодой зеленый был), нашлось пару косяков, причем весомых. Захотел переписать это все дело. Решил что лучше не изобретать свой велосипед, а сделать на MySQL. Но вот возник вопрос, как хранить данные.

Скажем там у меня есть класс в нем n полей, как лучше сохранить данные, сделать таблицу с одним полем и в него сохранять сразу весь объект(в бинарном виде). Или же сделать n  отдельных полей в таблице? Какие аргументы для того и другого? Сортировать данные и делать выборки не получится, данные храняться в бинарном виде так, что подобными задачами будет заниматься Qt.

Даже если и получится сделать на некоторые поля такие как Int String и т.д. все равно такие вещи как массивы должны будут сериализоваться в бинарном виде.


Название: Re: Как лучше хранить данные в SQL
Отправлено: V1KT0P от Апрель 27, 2012, 14:18
Скажем там у меня есть класс в нем n полей, как лучше сохранить данные, сделать таблицу с одним полем и в него сохранять сразу весь объект(в бинарном виде). Или же сделать n  отдельных полей в таблице?
Если не собираешься в будущем по этим полям делать выборки то думаю лучше запихнуть в один блоб.


Название: Re: Как лучше хранить данные в SQL
Отправлено: xokc от Апрель 28, 2012, 09:23
Именно так, как сказал V1KT0P. Индексируемые поля - отдельно, остальное - сериализация во что-нибудь, и - в BLOB.


Название: Re: Как лучше хранить данные в SQL
Отправлено: Alex_C от Апрель 28, 2012, 16:06
Видел, как все это сделано в одной очень крупной компании - задача примерно такая же.
Все  - в одном блоб поле. Как там из него/в него читать/писать - думаю не проблема придумать + отдельные поля поиска по ключевым словам. Самая правильная организация на мой взгляд.