|
|
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
> Просто уровень копания разный. Да нет же, абсолютно одинаковый. ;) Модель Тенцера - это метамодель. Пусть примитивная, но метамодель. Ваша схема - это тоже метамодель. Сложнее, больше функционала, выше уровень абстракции, - да, но при этом нет качественного перехода. Что происходит: Вы отказываетесь от реляционной модели (т. е. расширяете SQL-2003 (или какой СУБД Вы пользуетесь?) метамодель) в обмен на хм... некоторые дополнительные возможности. Причем, расширяете одноразово, т. е. Ваша дополнительная метамодель никак не связана с метамоделью СУБД. Imho можно отказаться от реляционной модели - но в обмен на радикальное изменение функционала + сохранение возможностей реляционной модели. ;) > А , вообще, кажется, что все это лишний геморрой. Но ведь зачем-то Вы эту схему создали (причем, не один вариант)? Вряд ли просто потому, что было немного свободного времени. ;)) > Просто не знаю окупится ли все это Imho не окупится; скорее эта задача [пока] из разряда теоретических. > Получается СУБД в СУБД? Можно сказать и так. По сути - система хранения метаданных + СУБД. В чем фишка такой реализации (если кто-то когда-то до нее доберется, конечно): возможность описания любых (почти любых, - дальше "любых" с той же оговоркой) данных, возможность оперирования данными (причем, разнородными; например, реляционными и xml-подобными) внешних источников, возможность маппинга данных разных источников, дополнительный функционал (например, контроль доступа на разных уровнях), возможность описания данных в разных моделях одновременно и пр. В общем, много чего можно придумать. ;) Плохо то, что MOF модель (супермодель, метаметамодель) плохо ложится на реляционную структуру: она xml-подобна. К сожалению, я не знаю о заслуживающих внимания реализациях хранения xml файлов в реляционной стрктуре данных (не тупым маппингом, а с использованием xsd-like метамодели). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2006, 22:52 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
guest_20040621>Но ведь зачем-то Вы эту схему создали (причем, не один вариант)? Вряд ли просто потому, что было немного свободного времени. ;)) Да я же говорил. Расписание для дискретного производства (в данный момент я занят этим) не зависит от объекта производства. Но задать "что" надо изготовить и из "чего" - оказалось не так просто. Табличка описывающая входы и выходы техпроцесса меняется почти польностью в зависимости от отрасли. Остается одно поле - ID. Даже наименование объектов зависят от их свойств (вернее от унаследованных от самого процесса ("каленый") и составляющих("шпон дубовый")) - Получается "Дверь ххх ууу шпон дуб, засов каленый". Понятно, что народ всю эту белиберду "кодирует" - "00001". Но, как Вы знаете, при таком разнообразии кодировка должна подчинятся определенному алгоритму, а этот алгоритм человеку (менеджеру) не понятен и такие коды невозможно не запоминать, не воспроизвести в мозгах (По этому в бухгалтерии одни и те же ящики под разными кодами и наоборот). Вот я и хочу унаследовать значимые свойства процессов и их входов для выходов процесса. Решается вопрос идентификации и конфигурации. Побочно это привела к универсальному способу хранения объектов и их свойств. Определенная часть наследуется, а другая уникальна для каждого объекта (именно объекта.) guest_20040621 Imho не окупится; скорее эта задача [пока] из разряда теоретических. Для себя жизнь облегчить можно. А если постараться, то и для других. Плохо получается механизм хранения для собственных свойств отношения, приходится сгенерировать объект-суррогат и включять его в отношение для 1->1 c объектной хранилищей и вешать на него собственные свойства отношения. Интересно, как другие это реализовали? (Генерировать таблицы для каждого отношения в счет не берем.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 00:29 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
guest_20040621 Imho не окупится; скорее эта задача [пока] из разряда теоретических. Вы меня разозлили.:) Вот минимальная структура с помощью которой можно описать все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 02:53 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
Сахават ЮсифовПолучается СУБД в СУБД? Именно так.За исключением физических характеристик и оптимизатора:). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 10:02 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
guest_20040621> P: X -> Z Поправьте меня, если я ошибаюсь, но imho ровной такой же функционал реализуют системные таблицы СУБД. В чем фишка Вашей реализации? Словарь данных приложения не обязательно со словарем данных СУБД, а в системах практической сложности всегда используется свой словарь данных. Один и тот же факт в таблицы можно положить по разному, например традиционно (X - ключ, P - неключевой атрибут, Z - значение P), EAV, но факт остается фактом, соответственно строится обмен между разными системами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 11:21 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
> Вот минимальная структура с помощью которой можно описать все. "Все" в смысле все, что отвечает Вашим задачам? Или вообще любую структуру? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 11:39 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
> Словарь данных приложения не обязательно со словарем данных СУБД, а в системах практической > сложности всегда используется свой словарь данных. Если я правильно Вас понял, любое уважающее себя приложение должно иметь не только собственную модель данных, но и собственную метамодель? ;)) > Один и тот же факт в таблицы можно положить по разному, Я не увидел принципиальной разницы между описанием того, что Вы назвали фактом, в предложенной Вами структуре и системной. Плохо смотрел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 11:40 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
To Guest: "Если я правильно Вас понял, любое уважающее себя приложение должно иметь не только собственную модель данных, но и собственную метамодель? ;))" - imho да, без нее построить настраиваемую систему очень тяжело построить. Пример: 1. как вы будете строить механизм генерации проводок без метамодели (ведь только она может хранить инфу, в где лежат суммы, какие поля таблиц используются для хранения аналитических признаков) 2. чтобы интегрироваться не на уровне записей в бд, а на уровне бизнес-объектов тоже надо иметь их описание,иначе не построить схемы трансформации данных и др. 3. Без метамодели объектов будете все равно строить ее для обеспечения настраиваемого контроля доступа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 11:47 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
> imho да, без нее построить настраиваемую систему очень тяжело построить. Позвольте Вам не поверить. > 1. как вы будете строить механизм генерации проводок без метамодели (ведь только она может хранить > инфу, в где лежат суммы, какие поля таблиц используются для хранения аналитических признаков) Уважаемый дон понимает разницу между конфигом приложения и метамоделью? > 2. чтобы интегрироваться не на уровне записей в бд, а на уровне бизнес-объектов Что такое бизнес-объекты? Что такое не-бизнес-объекты? > иначе не построить схемы трансформации данных и др. Я не успеваю следить за полетом Вашей мысли: какие данные куда Вы собрались трансформировать? > 3. Без метамодели объектов Что такое объект? Что такое метамодель объектов? > для обеспечения настраиваемого контроля доступа Нет. Row-level security в рамках реляционной модели строится на раз-два-три. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 12:45 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
1. Не верьте (но предоставьте пример АБС (автоматизированной банковской системы без метамодели)) 2. конфиг строится на основе данных метамодели 3. бизнес-объект - сделка, не-бизнес- туева хуча таблиц, ее описывающих 4. Данные собрался трансформировать в форматы сделок (а не таблиц) для внешних систем и принимать их (их данные тоже трансформировать) 5. ладно, метамодели классов объектов 6. row-level нах никому не надо вне привязки к конкретным бизнес-объектам:доступ к таблице abc мне не надо запрещать как админу приложения - мне надо защищать доступ к атрибуту цена закрытия котировки ЦБ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 13:05 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
P.S. Метамодели замечательно используются в генераторах отчетов,обеспечивающих "общение пользователей в терминах предметной области".Пример:BusinessObject - там строятся так называемые Universe. Кстати, в OLAP, которые используют как хранилище РСУБД, тоже метамодели очень живенько применяют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 13:44 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
> 1. Не верьте (но предоставьте пример АБС (автоматизированной > банковской системы без метамодели)) Это предложение работы? Не вижу бюджета проекта. > 2. конфиг строится на основе данных метамодели ;)) > 3. бизнес-объект - сделка, не-бизнес- туева хуча таблиц, ее описывающих Какая сделка? Это какой-то специфичный объект базы данных? Чем он отличается от обычных объектов? > 4. Данные собрался трансформировать в форматы сделок (а не таблиц) > для внешних систем и принимать их (их данные тоже трансформировать) Упс. Повторю вопрос относительно сделки. Дополню вопросом о формате сделки. Это тоже какой-то специфичный объект? > 5. ладно, метамодели классов объектов ;) Понятнее не стало. Какие метамодели каких классов каких объектов? Вы вообще о чем говорите? > 6. row-level нах никому не надо вне привязки к конкретным > бизнес-объектам: Из предыдущего текста я понял, что бизнес-объект - это сделка. Я правильно интерпретировал текст: "без привязки к сделкам row-level контроль доступа не имеет смысла"? Если правильно, то Вы ошибаетесь. ;)) > доступ к таблице abc мне не надо запрещать как админу приложения - мне > надо защищать доступ к атрибуту цена закрытия котировки ЦБ. Хм... ну, во-первых, доступ к таблице и row-level контроль - это как бы два разных уровня ограничения доступа. ;) Во-вторых, я не вижу ни одной проблемы "защиты доступа к атрибуту цена закрытия котировки ЦБ". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 13:50 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
1. Как всегда отбазарились вопросами на вопросы 2. см. п.1, но... По поводу проводок: пусть мне надо сделать новую проводку, в которой сумма дебита-величина комиссии.Я выбираю из справочника объектов класс Сделка, в котором есть атрибут типа Сумма и подставляю его в "конфиг проводок".Если надо будет подставить другой атрибут для суммы проводки-выберу его опять из другого справочника. 3. см. п1 4. см. п1 5. лозунг - пример в студию 6. пример плиз. Пусть я тупой админ и хочу закрыть доступ к какому-либо параметру класса (класс представлен множеством таблиц) по какому-либо условию, ну пусть, например, за 12 число сего месяца (row-level) - как мне в интерфейсе не имея метамодели этого самого класса выбрать его атрибут? Итого: по п.2 и п. 6 - одной метамоделью предметной области убиваем вопрос настраиваемой генерации проводок, настраиваемого контроля доступа и,по моему предыдущему сообщению,еще и генератор отчетов "в терминах предметной области". А что можете предложить Вы?! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 14:08 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
А!... у каждого класса своя метамодель... я то думал, что метамодель у всех классов одна (эта метамодель так и называется - "класс")... но вообще то согласен - приставка "мета" звучит красиво - тут не постпоришь :). А ваще бы Вы сореинтировались бы на терминах:)..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 14:15 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
Я, по-моему, очень четко выразился, что нужна "метамодель предметной области". P.S. Слишком быстро пробегали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 14:25 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Вот минимальная структура с помощью которой можно описать все. "Все" в смысле все, что отвечает Вашим задачам? Или вообще любую структуру? ;) Думаю можно описать и хранить любые объекты и отношения. Этой структуры должна хватит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 14:36 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
> 1. Как всегда отбазарились вопросами на вопросы Не "отбазарился", а задал дополнительные вопросы. В данном случае - потому, что в Вашей голове - абсолютная каша. > 2. см. п.1, но... Вы не понимаете очевидной разницы между конфигом и метамоделью. > 5. лозунг - пример в студию Какой лозунг? Пример чего? > 6. пример плиз. Класс сильно вряд ли имеет метамодель. ;) Модель - да. Вообще у вас смешались в кучу кони, люди: откуда-то вдруг интерфейсы появились, параметры класса. Что есть параметры класса? Атрибуты? Или очередная непонятная характеристика? Что есть интерфейс? Откуда и какие вдруг возникли проблемы с 12 числом? > одной метамоделью предметной области Поподробнее, пожалуйста: что это за метамодель предметной области? И представить себе не мог, что такие существуют. Ага, кажется, догадался: Вы неправильно понимаете и используете термины "модель" и "метамодель". ;)) > А что можете предложить Вы?! Непосредственно Вам - пожалуйста, перестаньте путать модель с метамоделью. А вообще о своем предложении я уже писал: метамодель должна быть стандартной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 14:37 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
> Думаю можно описать и хранить любые объекты и отношения. > Этой структуры должна хватит. ОК, пусть так. А насколько удобно это будет делать? Давайте предположим, что мы храним xml файл. Тогда в Вашей структуре данных мы должны: 1. сначала описать соответствующую метамодель, 2. в терминах этой метамодели описать модель, 3. в терминах модели описать файл. Imho три уровня абстракции в одной структуре данных - многовато. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 14:48 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
Флейм про мета не от разных точек отсчета? Shtock : Предметная область --> Данные=модель ПрО --> Словарь данных = метамодель ПрО. guest_20040621 : Данные --> Модель данных --> Метамодель данных. Видимо, Shtock.Метамодель ПрО ~ guest_20040621.Модель данных ~ ModelR.Словарь данных Так что я насчет метамодели данных я ничего не утверждал и кстати редко видел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 14:51 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
> Флейм про мета не от разных точек отсчета? По-видимому, так и есть. > Так что я насчет метамодели данных я ничего не утверждал и кстати редко > видел. Вы писали как-то о MOF (не в этом треде), из чего я сделал вывод, что контекст обсуждения Вам понятен. ОК, вопросы снимаются, ответы на них очевидны, если Вы говорите о модели, а не о метамодели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 15:02 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
Есть RDBMS и есть язык SQL, что мешает обсуждать конкретные декларации (которые лучше предварительно прогонять через конкретную СУБД)? В таком варианте было бы гораздо меньше тумана, особенно, если SQ-декларации снабжены комментариями, из которых следует, где модель,где метамодель,где остальное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 15:02 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Думаю можно описать и хранить любые объекты и отношения. > Этой структуры должна хватит. ОК, пусть так. А насколько удобно это будет делать? Давайте предположим, что мы храним xml файл. Тогда в Вашей структуре данных мы должны: 1. сначала описать соответствующую метамодель, 2. в терминах этой метамодели описать модель, 3. в терминах модели описать файл. Imho три уровня абстракции в одной структуре данных - многовато. ;) Я думал про минимальную структуру. Можно как и было - объекты и отношения развести. А сгенерировать для каждого случая свое описание и хранилище - какая выгода. Лучше один раз разобраться механизмом навигации и компановки и забыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 15:05 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
Спасибо,ModelR: привели к общему знаменателю.Теперь надо объяснить,что без нее в серьезных вещах практически никак (примеры я уже привел),только почему-то они ряд людей не убеждают. P.S. Умение развести флейм - суть поведения на форуме ряда людей. To Guest: 1.Вопрос к делу не относился (при чем тут бюджет проекта и реальные системы), хотя я уже заметил,что все,что сделано не Вами уже изначально неправильно 2.конфиг без модели предметной области?Все зашить в код?! Ню-ню... 3. 12 - просто для балды число 4.пусть параметры класса будут атрибутами 5.интерфейс-в смысле междумордия приложения,GUI 6. Предложения по поводу настраиваемового приложения конкретно в плане настроек проводок (конфига), контроля доступа, генераторов отчетов в "терминах предметной области" P.S.Интересно,когда подеремся... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 15:19 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
> Теперь надо объяснить,что без нее в серьезных вещах практически никак > (примеры я уже привел) Без чего "без нее", уточните, пожалуйста. ;)) > Умение развести флейм - суть поведения на форуме ряда людей. ;) Согласитесь, я меньше всего виноват в том, что Ваша терминология отличается от общепринятой, правда? И абсолютно не виноват в том, что для того, чтобы это выяснить, понадобилась страница обсуждения. > 2.конфиг без модели предметной области?Все зашить в код?! Ню-ню... Ага, то есть мы уже о модели говорим. ;) Хорошо. Зачем "зашить в код"? Храните конфиги отдельно, как и следует это делать. > 3. 12 - просто для балды число Да я понял, что от балды. Я не знаю, что у Вас за пупер-мега-приложение, которое не позволяет делать элементарных вещей. Традиционная модель ограничения доступа: интерфейс, объекты бд, row-level. Проще всего на row-level сделать комбинированный доступ: (rwe + acl). Все. Никаких 12 чисел. Ничего запредельного. Хотите реального контроля доступа - почитайте про контекст безопасности (на примере хотя бы SELinux). Штука интересная, но для практической реализации жутко геморройная. > 4.пусть параметры класса будут атрибутами Давайте окончательно определимся: если Вы говорите об объектах бд, то там нет никаких классов. Если используете какую-то другую парадигму, напишите об этом явным образом. > 5.интерфейс-в смысле междумордия приложения,GUI Imho два подхода. Самый простой я уже описал выше. > 6. Предложения по поводу настраиваемового приложения конкретно в > плане настроек проводок (конфига), контроля доступа, генераторов > отчетов в "терминах предметной области" Формат конфигов - дело десятое, контроль доступа - традиционный. Если хотите отчеты нормального вида - опишите и используйте семантическую модель. В чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 15:46 |
|
||
|
Модель данных по Тенцеру
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 15:54 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33530668&tid=1542992]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
89ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
83ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 465ms |

| 0 / 0 |
