Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Templar skorohodСвоя таблица для каждого атрибута, а не типа!!! Полная противоположность вариантам организации О. ядра системы на РСУБД, которые ранее упоминались в этом топике. ("горизонтальный" и "вертикальный" O-R маппинг) imho на первый взгляд скорость доступа к атрибутам в отдельных таблицах съедается увеличением сложности методов O-R ядра. Или я не прав? "Вертикального" OR-маппинга не бывает. Забавно слышать такие заявления, когда я каждый день работаю с продуктом, в настройках которого есть маппинг: "горизонтальный/вертикальный/смешанный" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 21:15 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Поле --> Strategy :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 21:16 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
BaZaЗабавно слышать такие заявления, когда я каждый день работаю с продуктом, в настройках которого есть маппинг: "горизонтальный/вертикальный/смешанный" Тут я ничего нового не скажу :) Вертикальный иаппинг, конечно, бывает, только он не реляционный в силу определения реляционной модели :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 22:10 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Так тут, по-моему речь и идет об ОБЪЕКТНОЙ надстройке на РСУБД. а маппинг он всегда объектно-реляционный... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 14:26 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
BaZaТак тут, по-моему речь и идет об ОБЪЕКТНОЙ надстройке на РСУБД. а маппинг он всегда объектно-реляционный... Маппинг, он объектно-"чегототам". Вертикальное хранение атрибутов - это не реляционная модель, а "чегототам"-модель, реализованная средствами РСУБД, то есть тройной маппинг получается: объектно-чегототам-реляционный :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 16:26 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Согласен, Templar. Только не "чегототам", а вполне конкретон - в "вертикальном" (как его тут называют) маппинге в РБД отображаются данные в терминах используемой в ОО-программе системе базовых (например - int, char, float и т.д.)типов - то есть фактически в системе типов поддерживаемой даже не ОО-программой, а машиной , на которой выполняется эта ОО-программа. Соответсвенно от возможностей РСУБД, обуславливаемых очень во многом тем, что она реализует типы-отношений,остаются рожки и ножки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 17:04 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
U-geneТолько не "чегототам", а вполне конкретон Да я просто не в курсе, как такая модель на академическом языке называется. Видимо, никак. А схему вертикального хранения атрибутов тоже обсуждали несколько лет назад горячие парни :) Некоторые даже успешно реализовали в своих проектах, благо, например, задачка версионности (темпоральная БД) решается "на раз". Зато с запросами беда, у оптимизатора крышу сносит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 17:38 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
я согласен со всем, что здесь говориться, однако мне кажется, что когда говорят "объектно-реляционный" маппинг, имеют ввиду преобразование сопоставляющее объектам вашего приложения реляционную схему их хранения. причем вертикальный маппинг — это когда для классов потомков создается новая таблица, горизонтальный — это когда для класса потомка не создается новая таблица, а все поля появляются в той же таблице, где хранится родитель. а что там происходит между "объектно-.................... и .................. -реляционный" это уже дело каждого из нас, кому как больше нравится, и как это называется по науке я тоже не знаю :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 17:44 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
авторпричем вертикальный маппинг — это когда для классов потомков создается новая таблица, ... в моем воспаленном воображении термин "вертикальный маппинг" как-то по другому представился....просто некоторые пытаютя по-атрибутно объекты в разные таблицы запихивать... типа одна таблица на все атрибуты типа int всех объкетов, другая на все char....пятью таблицами обходятся.... но раз уж есть такой общепризнанный термин, то сорри, ежели кого обидел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 18:05 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
BaZa вертикальный маппинг — это когда для классов потомков создается новая таблица, горизонтальный — это когда для класса потомка не создается новая таблица, а все поля появляются в той же таблице, где хранится родитель. По моему, это таки называется не "вертикальным/горизонтальным", а complete/incomplete subtyping с возможностями roll-up (атрибуты подкласса в новой таблице) и roll-down (атрибуты добавляются к таблице суперкласса). Обычно термин "вертикальный/горизонтальный" относится к хранению атрибутов (построчно/постолбцово). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 18:09 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Мда, что-то недопонимание какое-то: 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, думаю, все понятно :) ЗЫ ЧесСлово, не я это придумал, так в книгах пишут ГуРу (и иногда в инете) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 18:30 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
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 года :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 19:04 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Это мы говорим горизонтальный, а ОНИ (забугорные) говорят FLAT. Я просто хочу узнать совпадает ли приведенное мной определение с Вашими... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 19:11 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
BaZaЭто мы говорим горизонтальный, а ОНИ (забугорные) говорят FLAT. Я просто хочу узнать совпадает ли приведенное мной определение с Вашими... :) Определение совпадает, а термин "горизонтальный" - нет :) Ну, я вообще вряд ли перевел бы flat как "горизонтальный" в таком контексте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 19:23 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Главное что суть одна и та же, а кто как это называет, это уже их дело :) Суть в том, что мы купили продукт в котором ГМ назван FLAT Mapping'ом вот, еще раз: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 19:30 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
BaZaГлавное что суть одна и та же, а кто как это называет, это уже их дело :) Суть в том, что мы купили продукт в котором ГМ назван FLAT Mapping'ом вот, еще раз: Ага, это оно "Соединение всех атрибутов в единой сущности". Предлагаю так и называть его "плоской проекцией". А можно аналогичную картинку для других типов посмотреть ? Можно даже прямо на мыло serge@arbinada.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 19:39 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Templar BaZaГлавное что суть одна и та же, а кто как это называет, это уже их дело :) Суть в том, что мы купили продукт в котором ГМ назван FLAT Mapping'ом вот, еще раз: Ага, это оно "Соединение всех атрибутов в единой сущности". Предлагаю так и называть его "плоской проекцией". А можно аналогичную картинку для других типов посмотреть ? Можно даже прямо на мыло serge@arbinada.com Вот они: (продублирую на мыло) Вертикальный: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 19:47 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
и Смешанный: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 19:48 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
BaZaи Смешанный: Ага, спасибо. Термин "вертикальный", конечно неудачный, но что же поделать, если авторы продукта так решили. Это обычный incomplete subtyping. Ну, у них и mixed тут не вписывается в классификацию. Видимо, это некоторое настраиваемое промежуточное положение между incomplete и complete subtyping-ом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 20:29 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Как ни крути модель Тенцера очень хороша. К примеру: Простой домохозяин(ка) не смыслящий в БД и нормализации занялся учетом средств. 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. В итоге опять же: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2005, 06:45 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
adiskКак ни крути модель Тенцера очень хороша. К примеру: Простой домохозяин(ка) не смыслящий в БД и нормализации занялся учетом средств. Оставив в стороне вопрос авторства, следует дождаться момента, когда домохозяин, наконец, начнет думать: "А зачем мне все эти данные ?" С последующими попытками получить по ним хоть какую-то аналитику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2005, 13:03 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
templarОставив в стороне вопрос авторства, следует дождаться момента, когда домохозяин, наконец, начнет думать: "А зачем мне все эти данные ?" С последующими попытками получить по ним хоть какую-то аналитику. ? Не понял к чему это ты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2005, 15:28 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
adisk? Не понял к чему это ты. К вопросу "А зачем вести данные". Очевидно, чтобы потом в них что-то искать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2005, 16:08 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Обсуждение вертикального хранения в фидо 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 / Архитекторы программных систем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2005, 16:40 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
> что в структуру типа Процентов десять реальных объектов такой структурой можно описать. И? > почему при таком очевидно простом решении А потому что это неправильное решение некорректной задачи. Не имеет оно ничего общего с реальным положением вещей. Чего для его тиражировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2005, 18:32 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=32935441&tid=1545998]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 262ms |
| total: | 437ms |

| 0 / 0 |
