|
|
|
как называется такое представление данных в БД?
|
|||
|---|---|---|---|
|
#18+
Существует таблица, описывающая к.-л. сущность по минимуму (напр. "предмет", поля id и имя) и есть еще одна таблица со свойствами этой сущности (id предмета, название свойства, значение свойства, напр. - 3, "цвет", "зеленый"; 3, "форма", "круглый"; 20, "цвет", "синий"; и т.д.). Как называется такой подход к хранению/представлению данных в БД, когда свойства сущности представлены не в виде колонки таблицы сущности, а в виде строки в таблице свойств? есть ли какие нибудь общие алгоритмы/методы работы с такой формой? сенкс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 10:29 |
|
||
|
как называется такое представление данных в БД?
|
|||
|---|---|---|---|
|
#18+
Это называется ненормализованные формы Должно быть 4 таблицы: 1. Сущности (ид, наименование) 2. Виды свойств (ид, наименование) 3. Значения свойств (ид, ВидСвойста, наименование) 4. Свойства сущности (ид, Сущность, ЗначениеСвойства) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 10:36 |
|
||
|
как называется такое представление данных в БД?
|
|||
|---|---|---|---|
|
#18+
"Ненормализованные формы" это оттого, что это и не 1я нормальная форма, и не 2НФ, и не 3НФ и т.д., или просто название такое? Должно быть 4 таблицы: 1. Сущности (ид, наименование) 2. Виды свойств (ид, наименование) 3. Значения свойств (ид, ВидСвойста, наименование) 4. Свойства сущности (ид, Сущность, ЗначениеСвойства) Про 4ю таблицу - имелась в виду таблица связи (сущность_ид, свойство_ид, значение_ид)? Или (сущность_ид, свойство_ид, зачение_свойства)? Если так, то что содержит таблица 3? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 11:10 |
|
||
|
как называется такое представление данных в БД?
|
|||
|---|---|---|---|
|
#18+
подход называется eav.поиск по сайту рулит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 11:21 |
|
||
|
как называется такое представление данных в БД?
|
|||
|---|---|---|---|
|
#18+
Ненавижу 1СЭто называется ненормализованные формы Должно быть 4 таблицы: 1. Сущности (ид, наименование) 2. Виды свойств (ид, наименование) 3. Значения свойств (ид, ВидСвойста, наименование) 4. Свойства сущности (ид, Сущность, ЗначениеСвойства)Sorry, что вмешиваюсь. Но, если правильно понял из контекста, Вы утверждаете, что модель EAV ненормализована ? Если да, то Вы ошибаетесь, вполне даже нормализована. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 17:47 |
|
||
|
как называется такое представление данных в БД?
|
|||
|---|---|---|---|
|
#18+
EAV - это и есть 7-я нормальная форма. Называется "донормализовались" (ДНФ) )))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 19:36 |
|
||
|
как называется такое представление данных в БД?
|
|||
|---|---|---|---|
|
#18+
ChASorry, что вмешиваюсь. Но, если правильно понял из контекста, Вы утверждаете, что модель EAV ненормализована ? Если да, то Вы ошибаетесь, вполне даже нормализована. Нормализация заключается в вертикальной декомпозиции отношения 1НФ с целью исключить аномалии обновления данных при минимальном количестве отношений. В данном случае мы взяли отношение в какой то НФ, под каждую колонку создали отдельное отношение, прицепили к каждой записи тэг и слили в одну таблицу. При этом аномалии обновления если были, то остались на своих местах (а при реализации появятся и проблемы с разделяемым доступом), количество отношений возросло до предела (не важно, что таблица только одна, логически записи с разными тэгами отражают разные понятия), а главное сущность в общем случае уже не представлена одной записью в таблице. И где тут нормализация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2007, 22:54 |
|
||
|
как называется такое представление данных в БД?
|
|||
|---|---|---|---|
|
#18+
Ну блин совсем затерли слово до дыр. Конечно же переход к EAV никакого отношения к нормализации не имеет, за исключением того, что EAV структура формально отвечает всем нормальным формам. Только не потому, что проанализированы и устранены имевшиеся аномалии ( mcureenab , +1), а потому что мы переложили эти проблемы (включая контроль типов) на другое ПО - теперь ими занимается не СУБД, а приложение. Возможно, конечно этих проблем и не было - нас вполне устраивало Нечто Номер Цвет Размер1Синий 1002100 Синий3Пригласить Таню в кино Как Му-Му Все бывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 10:19 |
|
||
|
как называется такое представление данных в БД?
|
|||
|---|---|---|---|
|
#18+
ChA Ненавижу 1СЭто называется ненормализованные формы Должно быть 4 таблицы: 1. Сущности (ид, наименование) 2. Виды свойств (ид, наименование) 3. Значения свойств (ид, ВидСвойста, наименование) 4. Свойства сущности (ид, Сущность, ЗначениеСвойства)Sorry, что вмешиваюсь. Но, если правильно понял из контекста, Вы утверждаете, что модель EAV ненормализована ? Если да, то Вы ошибаетесь, вполне даже нормализована. Sorry, что вмешиваюсь, но в том варианте EAV что привел автор ненавидящий 1С это действительно ненормализованная форма. я бы, честно говоря, поостерегся называть приведенную модель EAV или имеющей к ней отношение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 12:34 |
|
||
|
как называется такое представление данных в БД?
|
|||
|---|---|---|---|
|
#18+
proposed amendment ChA Ненавижу 1СЭто называется ненормализованные формы Должно быть 4 таблицы: 1. Сущности (ид, наименование) 2. Виды свойств (ид, наименование) 3. Значения свойств (ид, ВидСвойста, наименование) 4. Свойства сущности (ид, Сущность, ЗначениеСвойства)Sorry, что вмешиваюсь. Но, если правильно понял из контекста, Вы утверждаете, что модель EAV ненормализована ? Если да, то Вы ошибаетесь, вполне даже нормализована. Sorry, что вмешиваюсь, но в том варианте EAV что привел автор ненавидящий 1С это действительно ненормализованная форма. я бы, честно говоря, поостерегся называть приведенную модель EAV или имеющей к ней отношение...Каждый о своем:) Ненавижу 1С не называл свои таблицы EAV, но утверждал, что они ненормализованы. ChA не разбирал таблицы Ненавижу 1С , но утверждал, что EAV вполне нормализован. А если уж разбирать, то Ненавижу 1С не привел ограничений целостности, без которых модель - не модель. Для не-моделей свойство нормализации просто неопределено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 15:00 |
|
||
|
как называется такое представление данных в БД?
|
|||
|---|---|---|---|
|
#18+
ModelRКонечно же переход к EAV никакого отношения к нормализации не имеет, за исключением того, что EAV структура формально отвечает всем нормальным формам.Именно это и подразумевалось. Благодарю. Подобным же образом, некое множество произвольных таблиц нельзя назвать реляционной моделью, так как, в общем случае, в них могут нарушаться все мыслимые и немыслимые нормальные формы :) proposed amendmentSorry, что вмешиваюсь, но в том варианте EAV что привел автор ненавидящий 1С это действительно ненормализованная форма.Я, скорее, среагировал на фразу , после утверждения автора "Ненавижу 1С". Посмотрел внимательнее, но не нашел никаких отклонений, за исключением отсутствия явно декларированных ограничений, говорящих о степени нормализации. Но, как я понимаю, это была просто иллюстрация, намек на структуру, не более. proposed amendmentя бы, честно говоря, поостерегся называть приведенную модель EAV или имеющей к ней отношение...IMHO, вариантов реализации такой модели есть много, но во всех подразумевается, что один атрибут предметной области отображается на одну запись в модели EAV. В этом смысле, список, представленный автором "Ненавижу 1С", формально отвечает такому требованию. Теоретически, EAV можно отобразить вообще в одной таблице, оставив там только базовую тройку атрибутов, но, это уже ad absurdum, IMHO. Или мы говорим о разном ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 18:48 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34329859&tid=1544734]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
150ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 474ms |

| 0 / 0 |
