powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Объектная надстройка над релационной СУБД
25 сообщений из 438, страница 16 из 18
Объектная надстройка над релационной СУБД
    #32917325
baza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Templar skorohodСвоя таблица для каждого атрибута, а не типа!!!
Полная противоположность вариантам организации О. ядра системы на РСУБД, которые ранее упоминались в этом топике. ("горизонтальный" и "вертикальный" O-R маппинг)
imho на первый взгляд скорость доступа к атрибутам в отдельных таблицах съедается увеличением сложности методов O-R ядра. Или я не прав?
"Вертикального" OR-маппинга не бывает.

Забавно слышать такие заявления, когда я каждый день работаю с продуктом, в настройках которого есть маппинг: "горизонтальный/вертикальный/смешанный"
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32917326
baza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поле --> Strategy :)
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32917362
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BaZaЗабавно слышать такие заявления, когда я каждый день работаю с продуктом, в настройках которого есть маппинг: "горизонтальный/вертикальный/смешанный"
Тут я ничего нового не скажу :) Вертикальный иаппинг, конечно, бывает, только он не реляционный в силу определения реляционной модели :)
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32918595
baza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так тут, по-моему речь и идет об ОБЪЕКТНОЙ надстройке на РСУБД. а маппинг он всегда объектно-реляционный...
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32918986
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BaZaТак тут, по-моему речь и идет об ОБЪЕКТНОЙ надстройке на РСУБД. а маппинг он всегда объектно-реляционный...
Маппинг, он объектно-"чегототам". Вертикальное хранение атрибутов - это не реляционная модель, а "чегототам"-модель, реализованная средствами РСУБД, то есть тройной маппинг получается:
объектно-чегототам-реляционный :)
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32919131
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен, Templar.

Только не "чегототам", а вполне конкретон - в "вертикальном" (как его тут называют) маппинге в РБД отображаются данные в терминах используемой в ОО-программе системе базовых (например - int, char, float и т.д.)типов - то есть фактически в системе типов поддерживаемой даже не ОО-программой, а машиной , на которой выполняется эта ОО-программа. Соответсвенно от возможностей РСУБД, обуславливаемых очень во многом тем, что она реализует типы-отношений,остаются рожки и ножки.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32919250
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-geneТолько не "чегототам", а вполне конкретон
Да я просто не в курсе, как такая модель на академическом языке называется. Видимо, никак.
А схему вертикального хранения атрибутов тоже обсуждали несколько лет назад горячие парни :) Некоторые даже успешно реализовали в своих проектах, благо, например, задачка версионности (темпоральная БД) решается "на раз". Зато с запросами беда, у оптимизатора крышу сносит :)
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32919269
baza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я согласен со всем, что здесь говориться, однако мне кажется, что когда говорят "объектно-реляционный" маппинг, имеют ввиду преобразование сопоставляющее объектам вашего приложения реляционную схему их хранения.

причем
вертикальный маппинг — это когда для классов потомков создается новая таблица,
горизонтальный — это когда для класса потомка не создается новая таблица, а все поля появляются в той же таблице, где хранится родитель.

а что там происходит между "объектно-.................... и .................. -реляционный" это уже дело каждого из нас, кому как больше нравится, и как это называется по науке я тоже не знаю :)
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32919334
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпричем
вертикальный маппинг — это когда для классов потомков создается новая таблица,

... в моем воспаленном воображении термин "вертикальный маппинг" как-то по другому представился....просто некоторые пытаютя по-атрибутно объекты в разные таблицы запихивать... типа одна таблица на все атрибуты типа int всех объкетов, другая на все char....пятью таблицами обходятся.... но раз уж есть такой общепризнанный термин, то сорри, ежели кого обидел.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32919345
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BaZa вертикальный маппинг — это когда для классов потомков создается новая таблица,
горизонтальный — это когда для класса потомка не создается новая таблица, а все поля появляются в той же таблице, где хранится родитель.

По моему, это таки называется не "вертикальным/горизонтальным", а complete/incomplete subtyping с возможностями roll-up (атрибуты подкласса в новой таблице) и roll-down (атрибуты добавляются к таблице суперкласса).

Обычно термин "вертикальный/горизонтальный" относится к хранению атрибутов (построчно/постолбцово).
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32919394
baza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мда, что-то недопонимание какое-то:

With flat mapping fields from the subclasses are mapped to the superclass table. Flat mapping is the simplest and usually fastest option so it is the default.

Flat - это по-нашему Горизонтальный

With vertical mapping each class has its own table containing only its fields.

С vertical, думаю, все понятно :)

ЗЫ ЧесСлово, не я это придумал, так в книгах пишут ГуРу (и иногда в инете)
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32919459
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BaZaWith flat mapping fields from the subclasses are mapped to the superclass table. Flat mapping is the simplest and usually fastest option so it is the default.
Flat - это по-нашему Горизонтальный

Flat вроде всегда "плоским" был :)
Flat file - это когда вся БД в одном файле (в эпоху DBF). Для реляционки - вся база в одной таблице.
Это одна из трех схем маппинга:
1. Соединение всех атрибутов в единой сущности
2. Группировка общих атрибутов в одном отношении и разнесение уникальных атрибутов по различным вспомогательным отношениям;
3. Представление каждой сущности в виде отдельного отношения

текст статьи 1994 года :)
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32919469
baza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это мы говорим горизонтальный, а ОНИ (забугорные) говорят FLAT.
Я просто хочу узнать совпадает ли приведенное мной определение с Вашими...
:)
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32919496
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BaZaЭто мы говорим горизонтальный, а ОНИ (забугорные) говорят FLAT.
Я просто хочу узнать совпадает ли приведенное мной определение с Вашими...
:)
Определение совпадает, а термин "горизонтальный" - нет :) Ну, я вообще вряд ли перевел бы flat как "горизонтальный" в таком контексте.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32919514
baza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Главное что суть одна и та же, а кто как это называет, это уже их дело :)

Суть в том, что мы купили продукт в котором ГМ назван FLAT Mapping'ом

вот, еще раз:
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32919529
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BaZaГлавное что суть одна и та же, а кто как это называет, это уже их дело :)
Суть в том, что мы купили продукт в котором ГМ назван FLAT Mapping'ом
вот, еще раз:
Ага, это оно "Соединение всех атрибутов в единой сущности".
Предлагаю так и называть его "плоской проекцией".
А можно аналогичную картинку для других типов посмотреть ?
Можно даже прямо на мыло serge@arbinada.com
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32919549
baza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Templar BaZaГлавное что суть одна и та же, а кто как это называет, это уже их дело :)
Суть в том, что мы купили продукт в котором ГМ назван FLAT Mapping'ом
вот, еще раз:
Ага, это оно "Соединение всех атрибутов в единой сущности".
Предлагаю так и называть его "плоской проекцией".
А можно аналогичную картинку для других типов посмотреть ?
Можно даже прямо на мыло serge@arbinada.com

Вот они: (продублирую на мыло)

Вертикальный:
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32919550
baza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и Смешанный:
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32919593
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BaZaи Смешанный:
Ага, спасибо.
Термин "вертикальный", конечно неудачный, но что же поделать, если авторы продукта так решили. Это обычный incomplete subtyping. Ну, у них и mixed тут не вписывается в классификацию. Видимо, это некоторое настраиваемое промежуточное положение между incomplete и complete subtyping-ом.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32935269
Фотография adisk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как ни крути модель Тенцера очень хороша.

К примеру:
Простой домохозяин(ка) не смыслящий в БД и нормализации занялся
учетом средств.

10.00 03/01/2005 Черный хлеб Хлеб Хлебобулочные
10.00 03/01/2005 Батон Хлеб Хлебобулочные
15.00 03/01/2005 Фанта Газ.вода Напитки
25.00 03/01/2005 Пиво Пиво Алкоголь
75.00 03/01/2005 Водка "Минал" Водка Алкоголь

Специально умалчиваю про нормализацию, ведь можно добиться корректного ввода
данных, просмотрев вышестоящие строчки и предложив выбрать из них. Или занести
новые данные.

Можно ли в Excel сделать такую базу данных? Конечно.
Плюсы за Excel:
1. наглядно
2. автофильтры (для простых запросов)
3. есть мастер сводной таблицы (для запросов с группировками)
4. подсказка из занесенных ранее значений
5. реализована печать
6. есть поиск/замена
7. автосохранение
8. легко переносится на любую машину
9. легко делается резервная копия
10. цвета, шрифты, графики...
11. можно "на ходу" заносить дополнительные атрибуты (поля)


Теперь сохраняю это "чудо-творение" в формате SYLK (*.slk).
Полученный файл открываю текстовым редактором:
...
C;X1;Y14;K10
C;X2;Y14;K38355
C;X3;Y14;K"Батон"
C;X4;Y14;K"Хлеб"
C;X5;Y14;K"Хлебобулочные"
C;X1;Y15;K15
C;X2;Y15;K38355
C;X3;Y15;K"Фанта"
C;X4;Y15;K"Газ.вода"
C;X5;Y15;K"Напитки"
C;X1;Y16;K25
C;X2;Y16;K38355
C;X3;Y16;K"Пиво"
C;X4;Y16;K"Пиво"
C;X5;Y16;K"Алкоголь"
C;X1;Y17;K75
C;X2;Y17;K38355
C;X3;Y17;K"Водка ""Минал"""
C;X4;Y17;K"Водка"
C;X5;Y17;K"Алкоголь"

Плоская таблица хранящаяся в 4-х столбцах.
Что-то напоминает, не так ли?

Данные хранятся в ОДНОМ (последнем) столбце - это значения атрибутов.
Второе поле (X1,X2,X3,...) - это код атрибута.
Третье поле (Y14,Y15,...) - это код объекта.
Все данные хранятся в ОДНОМ файле.

Дальнейшее увеличение полей или строк исходной таблицы не повлияет
на количество полей в slk-файле!
Такой вот формат ;)

Осталось нормализовать (???) и добавить связи (LINKS) ;)

Если нужно хранить doc, mp3, exe-файлы - используем последний столбец.
Excel такой файл уже не прочитает, но это проблемы MicroSoft.

В итоге опять же:
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32935351
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adiskКак ни крути модель Тенцера очень хороша.

К примеру:
Простой домохозяин(ка) не смыслящий в БД и нормализации занялся
учетом средств.
Оставив в стороне вопрос авторства, следует дождаться момента, когда домохозяин, наконец, начнет думать: "А зачем мне все эти данные ?" С последующими попытками получить по ним хоть какую-то аналитику.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32935415
Фотография adisk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
templarОставив в стороне вопрос авторства, следует дождаться момента, когда домохозяин, наконец, начнет думать: "А зачем мне все эти данные ?" С последующими попытками получить по ним хоть какую-то аналитику.

?

Не понял к чему это ты.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32935433
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adisk?
Не понял к чему это ты.
К вопросу "А зачем вести данные". Очевидно, чтобы потом в них что-то искать.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32935441
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обсуждение вертикального хранения в фидо 4 года назад

Даже скопирую сосбтвенный мессадж для ленивых
1. Общие мысли, не в плане критики Вас лично или статьи, просто наболело.
Думаю, что не открою ни для кого секрета в эхе, что в структуру типа:

Сущности(ID_сущности, Название_в_предметной_области)
Атрибуты(ID_сущности, ID_атрибута, Название_в_предметной_области)
Экземпляры(ID_сущности, ID_Экземпляра)
Значения(ID_сущности, ID_Экземпляра, ID_атрибута,
Дата_установки/изменения_значения, Значение_с_указанной_даты)

можно впихнуть все (или почти все) объекты реального мира с историей их
изменений.
Для получения информации из такой структуры будет достаточно даже начального
уровня стандарта SQL.

Вопрос. Какая модель данных и ее физическая реализация это потянет?

Вопрос не праздный. Стремление к подобным решениям наблюдаю уже лет 5, в том
числе и сам принимаю участие в той или иной степени. Упираемся в
неоптимальность реляционки для таких решений, оно и понятно. Но непонятно,
почему в других моделях должно быть лучше. Упираемся в необходимость
абстрагироваться от источников данных и в приводящую в этом случае нужду
изобретать аналог SQL для данных в "среднем слое" и сопутствующие проблемы.
По крайней мере, пока слышны (и в этой эхе) лишь маркетинговые доводы, вроде
возьмите Cache и все у вас заработает.
Очень хочу видеть ссылки на реально сделанные по такой схеме проекты ("1С" -
это антитезис, не приводите)!!! Не важно на чем, хоть на фокспро, хоть на
доморощеннной СУБД, хоть на жабе, главное, чтобы работало в промышленном
режиме.

Вопрос не менее интересный: почему при таком очевидно простом решении (4
педали и пара рычагов) никто за 30 лет не добился промышленных результатов?
Иными словами, почему мы до сих пор сидим на реляционке, если все задачи
решаются четырьмя сущностями?

2. По статье, очень бегло.
2.1. Модели и так отделены от средств реализации. Но это не значит, что
данная модель будет одинаково хорошо реализована разными средствами.
2.2. "Блочный" подход в стиле hardware-компонентов тоже не стал панацеей,
хотя и занял свое место. Тому есть несколько причин:
(1) в hardware имеем прохождение сигнала со скоростью тактовой частоты
(цифра) или света (аналог), в то время как в software время отклика на
выходе практически всегда зависит от поданной на вход информации.
(2) число возможных состояний конечного автомата в не самом сложном
бизнес-software-компоненте на порядки выше, чем в hardware-микросхеме.
Протестировать все состояния не представляется возможным за разумное время.
А если возможно, то это относительно простые компоненты вроде вычисления
математических функций или STL, для которых, опять таки, верен п(1).
Таким образом, собрав из кучи микросхем устройство мы уверены, что оно будет
работать с единой тактовой частотой. Собрав из кучи компонентов программу мы
не можем даже приблизительно оценивать время отклика на выходе.
2.3. "Прошло время программ - "черных ящиков с большой красной кнопкой" -
это противоречит принципу инкапсуляции. Она - как беременность, либо есть,
либо ее нет.


--
Открытая SmallERP / Архитекторы программных систем
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32935472
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> что в структуру типа

Процентов десять реальных объектов такой структурой можно описать. И?

> почему при таком очевидно простом решении

А потому что это неправильное решение некорректной задачи. Не имеет оно ничего общего с реальным положением вещей. Чего для его тиражировать?
...
Рейтинг: 0 / 0
25 сообщений из 438, страница 16 из 18
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Объектная надстройка над релационной СУБД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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