|
|
|
Подскажите идею по проектированию базы
|
|||
|---|---|---|---|
|
#18+
Есть категории(внутри них могут быть разный набор колонок) Покажу на примере Cat1: col1-int, col2-varchar, col3-varchar,.... Cat2: col1-int, col2-varchar, col3-varchar, col4-varchar.... Cat2: col1-int, col2-varchar, col3-varchar, col4-datetime(я программно на стороне клиента конвертну ее в строку).... ...... Таких категорий может быть 100 и больше, что бы под каждую из них не создавать базу может можна как то сделать так dbo.CatN catId int, catFileldTitle varchar, catFieldVal тип данных На клиенте я бы считывал их и формировал данные как ключ:значение и выводил на веб страницу Кто сталкивался с таким, подскажите как оптимально решить? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2016, 12:57 |
|
||
|
Подскажите идею по проектированию базы
|
|||
|---|---|---|---|
|
#18+
VIT2708_, Значения в колонках меняются? Зависят от даты/времени? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2016, 13:07 |
|
||
|
Подскажите идею по проектированию базы
|
|||
|---|---|---|---|
|
#18+
меня зовут EAV, это я пока пытаюсь придумать как сделать и не знаю как лучше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2016, 14:32 |
|
||
|
Подскажите идею по проектированию базы
|
|||
|---|---|---|---|
|
#18+
VIT2708_, Так уже ж все сделалVIT2708_dbo.CatN catId int, catFileldTitle varchar, catFieldVal тип данных Я бы еще для catFileldTitle справочник сделал, заменив его, соответственно, на catFileldID int. И поле с датой добавил бы, если значения catFieldVal датазависимые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2016, 14:51 |
|
||
|
Подскажите идею по проектированию базы
|
|||
|---|---|---|---|
|
#18+
VIT2708_, Судя по всему у тебя трёх-уровневая архитектура. Конвертировать такую таблицу на клиенте вообще не оптимально. Думаю, что тут правильнее это сделать на сервере базы данных) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 11:44 |
|
||
|
Подскажите идею по проектированию базы
|
|||
|---|---|---|---|
|
#18+
VIT2708_col4-datetime(я программно на стороне клиента конвертну ее в строку).... А как у тебя будут забиваться данные? Если со стороны пользователя, то тебе в любом случае нужно хранить информацию о типе атрибута (как минимум, для валидации). Это простое EAV, и её реализация для тебя примерно следующая: Таблица категорий, Таблица типов данных, Таблица атрибутов (которая связана с таблицей категорий и таблицей типов данных), и сама Таблица с данными (которая связана с таблицей атрибутов). Если у тебя категории ещё и взаимосвязаны между собой, то в Таблице типов данных можно ещё добавить тип entity, который будет определять, что это есть внешний ключ на какую-либо сущность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 12:01 |
|
||
|
Подскажите идею по проектированию базы
|
|||
|---|---|---|---|
|
#18+
Марков Илья, Я еще не знаю окончательный вариант, пока что пробую и тестирую как лучше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2016, 14:49 |
|
||
|
Подскажите идею по проектированию базы
|
|||
|---|---|---|---|
|
#18+
Для автора более критично будет быстро обрабатывать и выводить результат. Поэтому строить универсальную БД нет смысла, там полюбому страдает скорость. Я б не заморачивался и создавал на известные данные. При добавлении новых просто добавлял бы в схему БД. Иногда самое простое решение является самым правильным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2016, 16:11 |
|
||
|
Подскажите идею по проектированию базы
|
|||
|---|---|---|---|
|
#18+
Злой Бобр, VIT2708_Таких категорий может быть 100 и больше Кошмарное сопровождение системы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2016, 10:33 |
|
||
|
Подскажите идею по проектированию базы
|
|||
|---|---|---|---|
|
#18+
VIT2708_, Имеются ли общие колонки у всех категорий? Хотя бы cat_id и cat_name? Если да - то тогда ИМХО так: Таблица Categories cat_id int cat_name varchar(xxx) Таблица CatAttribs cat_id int, cat_attrib_name varchar(xxx), cat_attrib_value varchar(xxx) Связь по cat_id. Тогда для любой категории можно задать произвольное кол-во произвольных атрибутов. Преобразовать потогм varchar в любой тип - не пробема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2016, 17:11 |
|
||
|
Подскажите идею по проектированию базы
|
|||
|---|---|---|---|
|
#18+
авторat_attrib_value varchar(xxx)Неверно. Лучше по одному полю на каждый тип данных: целое, флоат, строка, дата, булеан. В завис. от типа данных (должно быть такое поле в справочнике) зачитывать нужное поле. Написать sql-функции для этих зачиток. Все равно мы знаем какого типа тот или иной параметр, поэтому вопрос, в каком поле наши данные - банальный. И никаких преобразований делать не нужно. Поля с данными можно проиндексировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2016, 17:19 |
|
||
|
Подскажите идею по проектированию базы
|
|||
|---|---|---|---|
|
#18+
LSVавторat_attrib_value varchar(xxx)Неверно. Лучше по одному полю на каждый тип данных: целое, флоат, строка, дата, булеан. В завис. от типа данных (должно быть такое поле в справочнике) зачитывать нужное поле. Написать sql-функции для этих зачиток. Все равно мы знаем какого типа тот или иной параметр, поэтому вопрос, в каком поле наши данные - банальный. И никаких преобразований делать не нужно. Поля с данными можно проиндексировать. Ну, или так :) Я когда-то делал так, как написал - мне хватило :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2016, 17:28 |
|
||
|
Подскажите идею по проектированию базы
|
|||
|---|---|---|---|
|
#18+
VIT2708_, Просто ночной кошмар разработчика бд.... беги быстрее перепроектировать свою бд, желательно с нуля... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2016, 11:09 |
|
||
|
Подскажите идею по проектированию базы
|
|||
|---|---|---|---|
|
#18+
VIT2708_, Это называется "слабоструктурированные данные". Впихивать невпихуемое в реляционную структуру можно, но как правило себе дороже. Рассмотрите возможность БД хранить (и обрабатывать) XML, JSON, ... whatever. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2016, 16:02 |
|
||
|
Подскажите идею по проектированию базы
|
|||
|---|---|---|---|
|
#18+
VIT2708_, подсмотрите у 1с, у них прекрасный механизм придуман: план видов характеристик , механизм характеристик . А вот в этой книге описана вся структура таблиц и индексов механизма характеристик 1с. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2016, 06:13 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=39266829&tid=1540306]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
156ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 263ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...