|
|
|
Ищу совет по структуре БД
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! У меня тут следующая проблема возникла, не знаю как подступиться. Есть таблица сущностей, есть таблица с атрибутами этих сущностей, нужно хранить значения атрибутов. И вот возникает проблема, атрибуты могут быть разных типов (число целое, число дробное, деньги, логика, строка, картинка ). И вот не знаю как хранить эти значения лучше. Понятно что логику, числовые значения, деньги можно хранить во Float, строку и ссылку на файл картинки (решил не хранить сам файл в БД) можно хранить в varchar. Вот и думаю о следующих вариантах хранения: - Делать два поля (float, varchar) одно из которых будет всегда пустым. Что не очень благоприятно скажется на размере базы (таблица обещает со временем разрастись), да и решение, явно не красивое. - Сделать две таблицы в одной хранить значения float, в другой varchar. Но делать ключ к двум таблицам, тоже кажется как то не красиво. - В идеале, мне кажется, стоит сделать вообще четыре таблицы для значений одну для хранения money и float, вторую для varchar и ссылок на файлы, третью для int, четвертую для bit. Но как то уж очень громоздко выходит. Кто как в таких ситуациях поступал? Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2012, 11:24 |
|
||
|
Ищу совет по структуре БД
|
|||
|---|---|---|---|
|
#18+
либо нормально описать атрибуты и разнести по таблицам в плоскую структуру по "классике" либо читать про EAV, BOM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2012, 11:29 |
|
||
|
Ищу совет по структуре БД
|
|||
|---|---|---|---|
|
#18+
ALOTE, теоретически каждая сущность должна соответствовать своей таблице. В реляционных базах данных, по крайней мере. Почитайте о нормальных формах, нормализации и т.п. Что же касается типа FLOAT, то советую о нём просто забыть, если Вы не храните значения физических величин (измерений физических приборов, например). Базы данных бывают не только реляционные. Так что в этом смысле требуется уточнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2012, 11:33 |
|
||
|
Ищу совет по структуре БД
|
|||
|---|---|---|---|
|
#18+
iap, Именно значение физических величин хранится, база вполне реляционная, см. от куда была перенесена тема. Дедушка, EAV в моем случае чрезмерно как то. А что такое BOM? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2012, 11:39 |
|
||
|
Ищу совет по структуре БД
|
|||
|---|---|---|---|
|
#18+
iap мне кажется что хранение значений разных типов атрибутов в разных таблицах, как раз не соответствует 4 и 5 НФ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2012, 11:58 |
|
||
|
Ищу совет по структуре БД
|
|||
|---|---|---|---|
|
#18+
Плюс еще вопрос, по самим атрибутам сущностей. Создавать на каждую сущность отдельный набор атрибутов, или же привязывать к к сущности атрибуты из готового набора (с возможность пользователя самостоятельно их создавать). Первый вариант более юзерфрендли, юзер создал сущность, насоздавал на нее атрибуты, вместо того, что бы выискивать атрибуты среди имеющихся, в случае отсутствия создавать их, а потом привязывать. Притом стопудоф насоздают дублирующие друг друга атрибуты. Второй вариант соответствует 3 НФ. Но юзеру будет не комфортно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2012, 12:10 |
|
||
|
Ищу совет по структуре БД
|
|||
|---|---|---|---|
|
#18+
ALOTE, может вам, действительно, посмотреть на документарные БД (типа монги)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2012, 12:30 |
|
||
|
Ищу совет по структуре БД
|
|||
|---|---|---|---|
|
#18+
Дедушка, Да поздно, к сожалению, там уже несколько сотен таблиц и система рабочая. Да и с недоверием я к noSQL, пока, отношусь. Пока, все таки, склонился к EAV и юзерфрендли варианту. В конце концов НФ для разработчика, а не разработчик для НФ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2012, 12:37 |
|
||
|
Ищу совет по структуре БД
|
|||
|---|---|---|---|
|
#18+
в одном проекте делал похожую архитектуру (пользователь хотел сам без прога создавать сущности и произвольное количество атрибутов к ним). были созданы отдельные таблицы на "типы" значений атрибутов (строки, целые...). и была написана процедура построитель которая через динамику в момент сохранения атрибута(ов) строила процедуру для выборки данных по этой сущности (прописывая какие нужно джоины к каким нужно таблицам значений на основе типов атрибутов). в итоге когда пользователь хотел получить данные по сущности он использовал уже скомпилированную процедуру из кеша. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2012, 12:56 |
|
||
|
Ищу совет по структуре БД
|
|||
|---|---|---|---|
|
#18+
ALOTEПлюс еще вопрос, по самим атрибутам сущностей. Создавать на каждую сущность отдельный набор атрибутов, или же привязывать к к сущности атрибуты из готового набора (с возможность пользователя самостоятельно их создавать). Первый вариант более юзерфрендли, юзер создал сущность, насоздавал на нее атрибуты, вместо того, что бы выискивать атрибуты среди имеющихся, в случае отсутствия создавать их, а потом привязывать. Притом стопудоф насоздают дублирующие друг друга атрибуты. Второй вариант соответствует 3 НФ. Но юзеру будет не комфортно.Интерфейс не должен зависеть от физической структуры хранения данных. Такая зависимость появляется только от неопытности разработчика интерфейса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2012, 06:05 |
|
||
|
Ищу совет по структуре БД
|
|||
|---|---|---|---|
|
#18+
iapБазы данных бывают не только реляционные. Но поскоку Скуль, скорее всего, реляционная СУБД, то не реляционная БД под управлением такой СУБД, возможно, есть риски эффекта сочетания шапки ушанки (нереляционная БД) со смокингом (одна из лидирующих РСУБД). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2012, 08:42 |
|
||
|
Ищу совет по структуре БД
|
|||
|---|---|---|---|
|
#18+
ALOTE, в SQL Server есть тип данных sql_variant. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2012, 11:46 |
|
||
|
Ищу совет по структуре БД
|
|||
|---|---|---|---|
|
#18+
Гхостик, Вопрос не в интерфейсе а именно в реализации хранения данных. Хотя разрулил так что и волки целы и овцы накурены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2012, 12:42 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37922820&tid=1541578]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
204ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 544ms |

| 0 / 0 |
