Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / как называется такое представление данных в БД? / 11 сообщений из 11, страница 1 из 1
13.02.2007, 10:29
    #34326112
петька40
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как называется такое представление данных в БД?
Существует таблица, описывающая к.-л. сущность по минимуму (напр. "предмет", поля id и имя) и есть еще одна таблица со свойствами этой сущности (id предмета, название свойства, значение свойства, напр. - 3, "цвет", "зеленый"; 3, "форма", "круглый"; 20, "цвет", "синий"; и т.д.).
Как называется такой подход к хранению/представлению данных в БД, когда свойства сущности представлены не в виде колонки таблицы сущности, а в виде строки в таблице свойств?
есть ли какие нибудь общие алгоритмы/методы работы с такой формой?
сенкс.
...
Рейтинг: 0 / 0
13.02.2007, 10:36
    #34326152
как называется такое представление данных в БД?
Это называется ненормализованные формы
Должно быть 4 таблицы:
1. Сущности (ид, наименование)
2. Виды свойств (ид, наименование)
3. Значения свойств (ид, ВидСвойста, наименование)
4. Свойства сущности (ид, Сущность, ЗначениеСвойства)
...
Рейтинг: 0 / 0
13.02.2007, 11:10
    #34326288
петька40
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как называется такое представление данных в БД?
"Ненормализованные формы" это оттого, что это и не 1я нормальная форма, и не 2НФ, и не 3НФ и т.д., или просто название такое?

Должно быть 4 таблицы:
1. Сущности (ид, наименование)
2. Виды свойств (ид, наименование)
3. Значения свойств (ид, ВидСвойста, наименование)
4. Свойства сущности (ид, Сущность, ЗначениеСвойства)


Про 4ю таблицу - имелась в виду таблица связи (сущность_ид, свойство_ид, значение_ид)?
Или (сущность_ид, свойство_ид, зачение_свойства)? Если так, то что содержит таблица 3?
...
Рейтинг: 0 / 0
13.02.2007, 11:21
    #34326350
Shtock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как называется такое представление данных в БД?
подход называется eav.поиск по сайту рулит.
...
Рейтинг: 0 / 0
13.02.2007, 17:47
    #34328043
ChA
ChA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как называется такое представление данных в БД?
Ненавижу 1СЭто называется ненормализованные формы
Должно быть 4 таблицы:
1. Сущности (ид, наименование)
2. Виды свойств (ид, наименование)
3. Значения свойств (ид, ВидСвойста, наименование)
4. Свойства сущности (ид, Сущность, ЗначениеСвойства)Sorry, что вмешиваюсь. Но, если правильно понял из контекста, Вы утверждаете, что модель EAV ненормализована ? Если да, то Вы ошибаетесь, вполне даже нормализована.
...
Рейтинг: 0 / 0
13.02.2007, 19:36
    #34328392
ГггГГггг
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как называется такое представление данных в БД?
EAV - это и есть 7-я нормальная форма.
Называется "донормализовались" (ДНФ) ))))))
...
Рейтинг: 0 / 0
13.02.2007, 22:54
    #34328650
mcureenab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как называется такое представление данных в БД?
ChASorry, что вмешиваюсь. Но, если правильно понял из контекста, Вы утверждаете, что модель EAV ненормализована ? Если да, то Вы ошибаетесь, вполне даже нормализована.

Нормализация заключается в вертикальной декомпозиции отношения 1НФ с целью исключить аномалии обновления данных при минимальном количестве отношений.
В данном случае мы взяли отношение в какой то НФ, под каждую колонку создали отдельное отношение, прицепили к каждой записи тэг и слили в одну таблицу. При этом аномалии обновления если были, то остались на своих местах (а при реализации появятся и проблемы с разделяемым доступом), количество отношений возросло до предела (не важно, что таблица только одна, логически записи с разными тэгами отражают разные понятия), а главное сущность в общем случае уже не представлена одной записью в таблице. И где тут нормализация?
...
Рейтинг: 0 / 0
14.02.2007, 10:19
    #34329232
ModelR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как называется такое представление данных в БД?
Ну блин совсем затерли слово до дыр. Конечно же переход к EAV никакого отношения к нормализации не имеет, за исключением того, что EAV структура формально отвечает всем нормальным формам.
Только не потому, что проанализированы и устранены имевшиеся аномалии ( mcureenab , +1), а потому что мы переложили эти проблемы (включая контроль типов) на другое ПО - теперь ими занимается не СУБД, а приложение. Возможно, конечно этих проблем и не было - нас вполне устраивало
Нечто
Номер Цвет Размер1Синий 1002100 Синий3Пригласить Таню в кино Как Му-Му
Все бывает.
...
Рейтинг: 0 / 0
14.02.2007, 12:34
    #34329859
proposed amendment
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как называется такое представление данных в БД?
ChA Ненавижу 1СЭто называется ненормализованные формы
Должно быть 4 таблицы:
1. Сущности (ид, наименование)
2. Виды свойств (ид, наименование)
3. Значения свойств (ид, ВидСвойста, наименование)
4. Свойства сущности (ид, Сущность, ЗначениеСвойства)Sorry, что вмешиваюсь. Но, если правильно понял из контекста, Вы утверждаете, что модель EAV ненормализована ? Если да, то Вы ошибаетесь, вполне даже нормализована.

Sorry, что вмешиваюсь, но в том варианте EAV что привел автор ненавидящий 1С это действительно ненормализованная форма.

я бы, честно говоря, поостерегся называть приведенную модель EAV или имеющей к ней отношение...
...
Рейтинг: 0 / 0
14.02.2007, 15:00
    #34330593
ModelR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как называется такое представление данных в БД?
proposed amendment ChA Ненавижу 1СЭто называется ненормализованные формы
Должно быть 4 таблицы:
1. Сущности (ид, наименование)
2. Виды свойств (ид, наименование)
3. Значения свойств (ид, ВидСвойста, наименование)
4. Свойства сущности (ид, Сущность, ЗначениеСвойства)Sorry, что вмешиваюсь. Но, если правильно понял из контекста, Вы утверждаете, что модель EAV ненормализована ? Если да, то Вы ошибаетесь, вполне даже нормализована.

Sorry, что вмешиваюсь, но в том варианте EAV что привел автор ненавидящий 1С это действительно ненормализованная форма.

я бы, честно говоря, поостерегся называть приведенную модель EAV или имеющей к ней отношение...Каждый о своем:) Ненавижу 1С не называл свои таблицы EAV, но утверждал, что они ненормализованы. ChA не разбирал таблицы Ненавижу 1С , но утверждал, что EAV вполне нормализован.
А если уж разбирать, то Ненавижу 1С не привел ограничений целостности, без которых модель - не модель. Для не-моделей свойство нормализации просто неопределено.
...
Рейтинг: 0 / 0
14.02.2007, 18:48
    #34331404
ChA
ChA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как называется такое представление данных в БД?
ModelRКонечно же переход к EAV никакого отношения к нормализации не имеет, за исключением того, что EAV структура формально отвечает всем нормальным формам.Именно это и подразумевалось. Благодарю.
Подобным же образом, некое множество произвольных таблиц нельзя назвать реляционной моделью, так как, в общем случае, в них могут нарушаться все мыслимые и немыслимые нормальные формы :) proposed amendmentSorry, что вмешиваюсь, но в том варианте EAV что привел автор ненавидящий 1С это действительно ненормализованная форма.Я, скорее, среагировал на фразу , после утверждения автора "Ненавижу 1С". Посмотрел внимательнее, но не нашел никаких отклонений, за исключением отсутствия явно декларированных ограничений, говорящих о степени нормализации. Но, как я понимаю, это была просто иллюстрация, намек на структуру, не более.
proposed amendmentя бы, честно говоря, поостерегся называть приведенную модель EAV или имеющей к ней отношение...IMHO, вариантов реализации такой модели есть много, но во всех подразумевается, что один атрибут предметной области отображается на одну запись в модели EAV. В этом смысле, список, представленный автором "Ненавижу 1С", формально отвечает такому требованию. Теоретически, EAV можно отобразить вообще в одной таблице, оставив там только базовую тройку атрибутов, но, это уже ad absurdum, IMHO. Или мы говорим о разном ?
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / как называется такое представление данных в БД? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]