powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Модель данных по Тенцеру
25 сообщений из 161, страница 5 из 7
Модель данных по Тенцеру
    #33530004
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Просто уровень копания разный.

Да нет же, абсолютно одинаковый. ;)

Модель Тенцера - это метамодель. Пусть примитивная, но метамодель. Ваша схема - это тоже метамодель. Сложнее, больше функционала, выше уровень абстракции, - да, но при этом нет качественного перехода. Что происходит: Вы отказываетесь от реляционной модели (т. е. расширяете SQL-2003 (или какой СУБД Вы пользуетесь?) метамодель) в обмен на хм... некоторые дополнительные возможности. Причем, расширяете одноразово, т. е. Ваша дополнительная метамодель никак не связана с метамоделью СУБД. Imho можно отказаться от реляционной модели - но в обмен на радикальное изменение функционала + сохранение возможностей реляционной модели. ;)

> А , вообще, кажется, что все это лишний геморрой.

Но ведь зачем-то Вы эту схему создали (причем, не один вариант)? Вряд ли просто потому, что было немного свободного времени. ;))

> Просто не знаю окупится ли все это

Imho не окупится; скорее эта задача [пока] из разряда теоретических.

> Получается СУБД в СУБД?

Можно сказать и так. По сути - система хранения метаданных + СУБД. В чем фишка такой реализации (если кто-то когда-то до нее доберется, конечно): возможность описания любых (почти любых, - дальше "любых" с той же оговоркой) данных, возможность оперирования данными (причем, разнородными; например, реляционными и xml-подобными) внешних источников, возможность маппинга данных разных источников, дополнительный функционал (например, контроль доступа на разных уровнях), возможность описания данных в разных моделях одновременно и пр. В общем, много чего можно придумать. ;)

Плохо то, что MOF модель (супермодель, метаметамодель) плохо ложится на реляционную структуру: она xml-подобна. К сожалению, я не знаю о заслуживающих внимания реализациях хранения xml файлов в реляционной стрктуре данных (не тупым маппингом, а с использованием xsd-like метамодели).
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33530055
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621>Но ведь зачем-то Вы эту схему создали (причем, не один вариант)? Вряд ли просто потому, что было немного свободного времени. ;))


Да я же говорил. Расписание для дискретного производства (в данный момент я занят этим) не зависит от объекта производства. Но задать "что" надо изготовить и из "чего" - оказалось не так просто. Табличка описывающая входы и выходы техпроцесса меняется почти польностью в зависимости от отрасли. Остается одно поле - ID. Даже наименование объектов зависят от их свойств (вернее от унаследованных от самого процесса ("каленый") и составляющих("шпон дубовый")) - Получается "Дверь ххх ууу шпон дуб, засов каленый".
Понятно, что народ всю эту белиберду "кодирует" - "00001". Но, как Вы знаете, при таком разнообразии кодировка должна подчинятся определенному алгоритму, а этот алгоритм человеку (менеджеру) не понятен и такие коды невозможно не запоминать, не воспроизвести в мозгах (По этому в бухгалтерии одни и те же ящики под разными кодами и наоборот).
Вот я и хочу унаследовать значимые свойства процессов и их входов для выходов процесса. Решается вопрос идентификации и конфигурации.
Побочно это привела к универсальному способу хранения объектов и их свойств. Определенная часть наследуется, а другая уникальна для каждого объекта (именно объекта.)

guest_20040621
Imho не окупится; скорее эта задача [пока] из разряда теоретических.


Для себя жизнь облегчить можно. А если постараться, то и для других.
Плохо получается механизм хранения для собственных свойств отношения, приходится сгенерировать объект-суррогат и включять его в отношение для 1->1 c объектной хранилищей и вешать на него собственные свойства отношения.
Интересно, как другие это реализовали? (Генерировать таблицы для каждого отношения в счет не берем.)
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33530106
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621
Imho не окупится; скорее эта задача [пока] из разряда теоретических.


Вы меня разозлили.:)
Вот минимальная структура с помощью которой можно описать все.
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33530379
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовПолучается СУБД в СУБД? Именно так.За исключением физических характеристик и оптимизатора:).
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33530668
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> P: X -> Z

Поправьте меня, если я ошибаюсь, но imho ровной такой же функционал реализуют системные таблицы СУБД. В чем фишка Вашей реализации?
Словарь данных приложения не обязательно со словарем данных СУБД, а в системах практической сложности всегда используется свой словарь данных.
Один и тот же факт в таблицы можно положить по разному,
например традиционно (X - ключ, P - неключевой атрибут, Z - значение P), EAV, но факт остается фактом, соответственно строится обмен между разными системами.
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33530748
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Вот минимальная структура с помощью которой можно описать все.

"Все" в смысле все, что отвечает Вашим задачам? Или вообще любую структуру? ;)
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33530753
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Словарь данных приложения не обязательно со словарем данных СУБД, а в системах практической
> сложности всегда используется свой словарь данных.

Если я правильно Вас понял, любое уважающее себя приложение должно иметь не только собственную модель данных, но и собственную метамодель? ;))

> Один и тот же факт в таблицы можно положить по разному,

Я не увидел принципиальной разницы между описанием того, что Вы назвали фактом, в предложенной Вами структуре и системной. Плохо смотрел?
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33530783
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Guest: "Если я правильно Вас понял, любое уважающее себя приложение должно иметь не только собственную модель данных, но и собственную метамодель? ;))" - imho да, без нее построить настраиваемую систему очень тяжело построить.
Пример:
1. как вы будете строить механизм генерации проводок без метамодели (ведь только она может хранить инфу, в где лежат суммы, какие поля таблиц используются для хранения аналитических признаков)
2. чтобы интегрироваться не на уровне записей в бд, а на уровне бизнес-объектов тоже надо иметь их описание,иначе не построить схемы трансформации данных и др.
3. Без метамодели объектов будете все равно строить ее для обеспечения настраиваемого контроля доступа
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531047
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> imho да, без нее построить настраиваемую систему очень тяжело построить.

Позвольте Вам не поверить.

> 1. как вы будете строить механизм генерации проводок без метамодели (ведь только она может хранить
> инфу, в где лежат суммы, какие поля таблиц используются для хранения аналитических признаков)

Уважаемый дон понимает разницу между конфигом приложения и метамоделью?

> 2. чтобы интегрироваться не на уровне записей в бд, а на уровне бизнес-объектов

Что такое бизнес-объекты? Что такое не-бизнес-объекты?

> иначе не построить схемы трансформации данных и др.

Я не успеваю следить за полетом Вашей мысли: какие данные куда Вы собрались трансформировать?

> 3. Без метамодели объектов

Что такое объект? Что такое метамодель объектов?

> для обеспечения настраиваемого контроля доступа

Нет. Row-level security в рамках реляционной модели строится на раз-два-три.
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531119
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Не верьте (но предоставьте пример АБС (автоматизированной банковской системы без метамодели))
2. конфиг строится на основе данных метамодели
3. бизнес-объект - сделка, не-бизнес- туева хуча таблиц, ее описывающих
4. Данные собрался трансформировать в форматы сделок (а не таблиц) для внешних систем и принимать их (их данные тоже трансформировать)
5. ладно, метамодели классов объектов
6. row-level нах никому не надо вне привязки к конкретным бизнес-объектам:доступ к таблице abc мне не надо запрещать как админу приложения - мне надо защищать доступ к атрибуту цена закрытия котировки ЦБ.
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531300
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. Метамодели замечательно используются в генераторах отчетов,обеспечивающих "общение пользователей в терминах предметной области".Пример:BusinessObject - там строятся так называемые Universe. Кстати, в OLAP, которые используют как хранилище РСУБД, тоже метамодели очень живенько применяют.
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531337
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> 1. Не верьте (но предоставьте пример АБС (автоматизированной
> банковской системы без метамодели))

Это предложение работы? Не вижу бюджета проекта.

> 2. конфиг строится на основе данных метамодели

;))

> 3. бизнес-объект - сделка, не-бизнес- туева хуча таблиц, ее описывающих

Какая сделка? Это какой-то специфичный объект базы данных? Чем он отличается от обычных объектов?

> 4. Данные собрался трансформировать в форматы сделок (а не таблиц)
> для внешних систем и принимать их (их данные тоже трансформировать)

Упс. Повторю вопрос относительно сделки. Дополню вопросом о формате сделки. Это тоже какой-то специфичный объект?

> 5. ладно, метамодели классов объектов

;) Понятнее не стало. Какие метамодели каких классов каких объектов? Вы вообще о чем говорите?

> 6. row-level нах никому не надо вне привязки к конкретным
> бизнес-объектам:

Из предыдущего текста я понял, что бизнес-объект - это сделка. Я правильно интерпретировал текст: "без привязки к сделкам row-level контроль доступа не имеет смысла"? Если правильно, то Вы ошибаетесь. ;))

> доступ к таблице abc мне не надо запрещать как админу приложения - мне
> надо защищать доступ к атрибуту цена закрытия котировки ЦБ.

Хм... ну, во-первых, доступ к таблице и row-level контроль - это как бы два разных уровня ограничения доступа. ;) Во-вторых, я не вижу ни одной проблемы "защиты доступа к атрибуту цена закрытия котировки ЦБ".
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531403
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Как всегда отбазарились вопросами на вопросы
2. см. п.1, но...
По поводу проводок: пусть мне надо сделать новую проводку, в которой сумма дебита-величина комиссии.Я выбираю из справочника объектов класс Сделка, в котором есть атрибут типа Сумма и подставляю его в "конфиг проводок".Если надо будет подставить другой атрибут для суммы проводки-выберу его опять из другого справочника.
3. см. п1
4. см. п1
5. лозунг - пример в студию
6. пример плиз. Пусть я тупой админ и хочу закрыть доступ к какому-либо параметру класса (класс представлен множеством таблиц) по какому-либо условию, ну пусть, например, за 12 число сего месяца (row-level) - как мне в интерфейсе не имея метамодели этого самого класса выбрать его атрибут?

Итого: по п.2 и п. 6 - одной метамоделью предметной области убиваем вопрос настраиваемой генерации проводок, настраиваемого контроля доступа и,по моему предыдущему сообщению,еще и генератор отчетов "в терминах предметной области".

А что можете предложить Вы?! :)
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531446
А!... у каждого класса своя метамодель... я то думал, что метамодель у всех классов одна (эта метамодель так и называется - "класс")... но вообще то согласен - приставка "мета" звучит красиво - тут не постпоришь :). А ваще бы Вы сореинтировались бы на терминах:).....
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531488
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, по-моему, очень четко выразился, что нужна "метамодель предметной области".
P.S. Слишком быстро пробегали
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531533
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> Вот минимальная структура с помощью которой можно описать все.

"Все" в смысле все, что отвечает Вашим задачам? Или вообще любую структуру? ;)

Думаю можно описать и хранить любые объекты и отношения. Этой структуры должна хватит.
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531538
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> 1. Как всегда отбазарились вопросами на вопросы

Не "отбазарился", а задал дополнительные вопросы. В данном случае - потому, что в Вашей голове - абсолютная каша.

> 2. см. п.1, но...

Вы не понимаете очевидной разницы между конфигом и метамоделью.

> 5. лозунг - пример в студию

Какой лозунг? Пример чего?

> 6. пример плиз.

Класс сильно вряд ли имеет метамодель. ;) Модель - да.

Вообще у вас смешались в кучу кони, люди: откуда-то вдруг интерфейсы появились, параметры класса. Что есть параметры класса? Атрибуты? Или очередная непонятная характеристика? Что есть интерфейс? Откуда и какие вдруг возникли проблемы с 12 числом?

> одной метамоделью предметной области

Поподробнее, пожалуйста: что это за метамодель предметной области? И представить себе не мог, что такие существуют.

Ага, кажется, догадался: Вы неправильно понимаете и используете термины "модель" и "метамодель". ;))

> А что можете предложить Вы?!

Непосредственно Вам - пожалуйста, перестаньте путать модель с метамоделью. А вообще о своем предложении я уже писал: метамодель должна быть стандартной.
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531587
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Думаю можно описать и хранить любые объекты и отношения.
> Этой структуры должна хватит.

ОК, пусть так. А насколько удобно это будет делать?

Давайте предположим, что мы храним xml файл. Тогда в Вашей структуре данных мы должны: 1. сначала описать соответствующую метамодель, 2. в терминах этой метамодели описать модель, 3. в терминах модели описать файл.

Imho три уровня абстракции в одной структуре данных - многовато. ;)
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531598
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Флейм про мета не от разных точек отсчета?

Shtock :
Предметная область --> Данные=модель ПрО --> Словарь данных = метамодель ПрО.

guest_20040621 :
Данные --> Модель данных --> Метамодель данных.

Видимо,

Shtock.Метамодель ПрО ~ guest_20040621.Модель данных ~ ModelR.Словарь данных

Так что я насчет метамодели данных я ничего не утверждал и кстати редко видел.
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531633
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Флейм про мета не от разных точек отсчета?

По-видимому, так и есть.

> Так что я насчет метамодели данных я ничего не утверждал и кстати редко
> видел.

Вы писали как-то о MOF (не в этом треде), из чего я сделал вывод, что контекст обсуждения Вам понятен.

ОК, вопросы снимаются, ответы на них очевидны, если Вы говорите о модели, а не о метамодели.
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531634
Programmer_Ortodox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть RDBMS и есть язык SQL, что мешает обсуждать конкретные декларации (которые лучше предварительно прогонять через конкретную СУБД)? В таком варианте было бы гораздо меньше тумана, особенно, если SQ-декларации снабжены комментариями, из которых следует, где модель,где метамодель,где остальное.
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531642
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> Думаю можно описать и хранить любые объекты и отношения.
> Этой структуры должна хватит.

ОК, пусть так. А насколько удобно это будет делать?

Давайте предположим, что мы храним xml файл. Тогда в Вашей структуре данных мы должны: 1. сначала описать соответствующую метамодель, 2. в терминах этой метамодели описать модель, 3. в терминах модели описать файл.

Imho три уровня абстракции в одной структуре данных - многовато. ;)

Я думал про минимальную структуру.
Можно как и было - объекты и отношения развести.
А сгенерировать для каждого случая свое описание и хранилище - какая выгода. Лучше один раз разобраться механизмом навигации и компановки и забыть.
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531714
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо,ModelR: привели к общему знаменателю.Теперь надо объяснить,что без нее в серьезных вещах практически никак (примеры я уже привел),только почему-то они ряд людей не убеждают.
P.S. Умение развести флейм - суть поведения на форуме ряда людей.

To Guest:
1.Вопрос к делу не относился (при чем тут бюджет проекта и реальные системы), хотя я уже заметил,что все,что сделано не Вами уже изначально неправильно
2.конфиг без модели предметной области?Все зашить в код?! Ню-ню...
3. 12 - просто для балды число
4.пусть параметры класса будут атрибутами
5.интерфейс-в смысле междумордия приложения,GUI
6. Предложения по поводу настраиваемового приложения конкретно в плане настроек проводок (конфига), контроля доступа, генераторов отчетов в "терминах предметной области"

P.S.Интересно,когда подеремся...
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531827
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Теперь надо объяснить,что без нее в серьезных вещах практически никак
> (примеры я уже привел)

Без чего "без нее", уточните, пожалуйста. ;))

> Умение развести флейм - суть поведения на форуме ряда людей.

;) Согласитесь, я меньше всего виноват в том, что Ваша терминология отличается от общепринятой, правда? И абсолютно не виноват в том, что для того, чтобы это выяснить, понадобилась страница обсуждения.

> 2.конфиг без модели предметной области?Все зашить в код?! Ню-ню...

Ага, то есть мы уже о модели говорим. ;) Хорошо.
Зачем "зашить в код"? Храните конфиги отдельно, как и следует это делать.

> 3. 12 - просто для балды число

Да я понял, что от балды. Я не знаю, что у Вас за пупер-мега-приложение, которое не позволяет делать элементарных вещей. Традиционная модель ограничения доступа: интерфейс, объекты бд, row-level. Проще всего на row-level сделать комбинированный доступ: (rwe + acl). Все. Никаких 12 чисел. Ничего запредельного.

Хотите реального контроля доступа - почитайте про контекст безопасности (на примере хотя бы SELinux). Штука интересная, но для практической реализации жутко геморройная.

> 4.пусть параметры класса будут атрибутами

Давайте окончательно определимся: если Вы говорите об объектах бд, то там нет никаких классов. Если используете какую-то другую парадигму, напишите об этом явным образом.

> 5.интерфейс-в смысле междумордия приложения,GUI

Imho два подхода. Самый простой я уже описал выше.

> 6. Предложения по поводу настраиваемового приложения конкретно в
> плане настроек проводок (конфига), контроля доступа, генераторов
> отчетов в "терминах предметной области"

Формат конфигов - дело десятое, контроль доступа - традиционный. Если хотите отчеты нормального вида - опишите и используйте семантическую модель. В чем проблема?
...
Рейтинг: 0 / 0
Модель данных по Тенцеру
    #33531854
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Programmer_OrtodoxЕсть RDBMS и есть язык SQL, что мешает обсуждать конкретные декларации (которые лучше предварительно прогонять через конкретную СУБД)? В таком варианте было бы гораздо меньше тумана, особенно, если SQ-декларации снабжены комментариями, из которых следует, где модель,где метамодель,где остальное.
Интересно, через какую СУБД можно пропустить такой внешний ключ:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
create table EAV_value
(P number,
X  number,
Zch varchar2( 100 ),
Znu number)
;  
create view  Автомобиль as  --основное про автомобили
select  x,
  max(case p="МаркаМотора" then Zch else null end) pМаркаМотора,
          ... 
from EAV_value 
where ( x типа "автомобиль") -- подробности опущены
group by x
;

create view  Мотор as ...-- аналогично про моторы

; 
alter view Автомобиль
  add foreign key (
    pМаркаМотора
  ) references Мотор (
    x
  )
;
С огромным бы удовольствием...
...
Рейтинг: 0 / 0
25 сообщений из 161, страница 5 из 7
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Модель данных по Тенцеру
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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