|
метаданные
|
|||
---|---|---|---|
#18+
Вопрос теоретический... Допустим есть некоторая схема данных, реализованы некоторые бизнес процессы... Для чего могут быть использованы метаданнные (именно для функционирования системы а не для нужд разработки) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2003, 11:53 |
|
метаданные
|
|||
---|---|---|---|
#18+
Начнем с того, что существует 2 вида метаданных. Первый - метаданные высокого уровня. То есть сведения о реализации бизнес-процессов, структуре организации, например, Zachman framework. Такие метаданные могут быть использованы в организации Datawarehouse, прокрутке сценариев what-if (например : как изменятся бизнес-правила если мы объединим склад готовой продукции и склад запчастей ?) Второй вид - метаданные физического уровня : сведения о таблицах, полях, типах данных. Такие метаданные могут быть использованы в некоторых видах запросов; для автоматической генерации отчетов и форм ввода; для автоматической очистки данных для ввода в Datawarehouse. Washington Irving ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2003, 12:25 |
|
метаданные
|
|||
---|---|---|---|
#18+
Про высокий и низкий уровень - это что-то новенькое :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2003, 13:18 |
|
метаданные
|
|||
---|---|---|---|
#18+
> Про высокий и низкий уровень - это что-то новенькое Да, об этом почему-то никто не говорит. Но ведь вещи-то разные. И смысл разный. Стало быть, надо разделять. Washington Irving ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2003, 13:30 |
|
метаданные
|
|||
---|---|---|---|
#18+
Спасибо за уточнение. Интересны именно метаданные физического уровня.. и, использование их в запросах. Т.е., интересно есть ли опыт использования метаданных именно в реализации логики системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2003, 14:08 |
|
метаданные
|
|||
---|---|---|---|
#18+
2 andresito: Интересны именно метаданные физического уровня.. и, использование их в запросах. Т.е., интересно есть ли опыт использования метаданных именно в реализации логики системы. Да, опыт есть и у многих разработчиков БД. Правда вопрос ваш, наверное, можно разделить на 2 подвопроса: что у вас за цели т.н "верхнего уровня" и какая СУБД используется. Потому что в зависимости от целей и СУБД возможны варианты, когда использовать метаданные напрямую просто нет нужды. Вы, конечно, знаете, что прямой доступ к метаданным не рекомендуется многими компаниями-разработчиками СУБД (например, MS, Sybase), т.к физическая модель метаданных (системные таблицы, системный каталог и т.п) может меняться в зависимости от версии СУБД поэтому запросы, работающие для одной версии могут уже не работать в другой; изменение метаданных напрямую, а не через системные команды/хранимые процедуры/функции может привести к нехорошим последствиям. System Tables (MSSQL BOL) The information used by Microsoft® SQL Server™ 2000 and its components is stored in special tables known as system tables. System tables should not be altered directly by any user. For example, do not attempt to modify system tables with DELETE, UPDATE, or INSERT statements, or user-defined triggers. Reference of documented columns in system tables is permissible. However, many of the columns in system tables are not documented. Applications should not be written to query undocumented columns directly. Applications should instead use any of these components to retrieve information stored in the system tables: Information schema views System stored procedures Transact-SQL statements and functions SQL-DMO Database application programming interfaces (API) catalog functions These components constitute a published API for obtaining system information from SQL Server. Microsoft maintains the compatibility of these components from release to release. The format of the system tables is dependent upon the internal architecture of SQL Server and may change from release to release. Therefore, applications that directly access the undocumented columns of system tables may have to be changed before they can access a later version of SQL Server. Если вы используете, например, MSSQL, то вопрос по нему лучше задать в форум Microsoft SQL Server - там его самые знатоки и собираются :о) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2003, 00:02 |
|
метаданные
|
|||
---|---|---|---|
#18+
Вообще стандартом ANSI определены специальные представления - INFORMATION_SCHEMA. MS SQL 2000 реализует часть из них (насколько полно - я не знаю), как я понял, Oracle тоже должен иметь нечто похожее. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2003, 02:36 |
|
метаданные
|
|||
---|---|---|---|
#18+
Функция каталога - доступ к метаданным средствами самой базы данных (то есть метаданные должны храниться в отношениях) - одно из требований Кодда к реляционной базе данных, что и отражено в стандарте ANSI. To andresito Yossarian всё правильно сказал насчёт физических метаданных. Больше никаких примеров использования их в логике системы в голову не приходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2003, 06:33 |
|
метаданные
|
|||
---|---|---|---|
#18+
to Репликант: с форумом я не ошибся,.. попытаюсь увести от технических подробностей... Ведь не обязательно использовать системную информацию (т.е. метаданные, предоставляемые СУБД). Есть вариант, например, создать свое описание схемы данных (уровень подробности конечно определяется исходя из нужд :)) -- именно эти потенциальные нужды мне и интересны). И это описание считать метаданными. Ну а про цели верхнего уровня... |> (в этом форуме хотел подойти с другого края). ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2003, 10:37 |
|
метаданные
|
|||
---|---|---|---|
#18+
2 AAron Вообще стандартом ANSI определены специальные представления - INFORMATION_SCHEMA. Если вас не затруднит, ссылочку на этот стандарт подкиньте, плиииз... 2 andresito Ведь не обязательно использовать системную информацию (т.е. метаданные, предоставляемые СУБД). Есть вариант, например, создать свое описание схемы данных (уровень подробности конечно определяется исходя из нужд :)) -- именно эти потенциальные нужды мне и интересны). И это описание считать метаданными. Ага. А описание этиз метаданных - метаметаданными. И т.д. Я вот только плохо понимаю, что вы спросить хотите? Попробуйте поконкретнее сформулировать. А я пока простенький пример в контексте моего понимания ответа на вопрос "Для чего могут быть использованы метаданнные (именно для функционирования системы а не для нужд разработки)" Пример: Метаданные: местоположение источника данных в формате "host:port". Используются понятно для чего - для зачитывания данных из источника. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2003, 11:26 |
|
метаданные
|
|||
---|---|---|---|
#18+
ок, ладно, не хотелось в подробности вдаваться... Пишу дипломную работу, с примерно следующей темой: "описание функциональных обязанностей в системах электронного документооборота". Выгдядит все след. образом: 1. все действия в системе осуществляются посредством выпуска определенных документов. 2. как и у обычных, у эл. документов есть определенные стадии (визирование, коррекция, подписывание...) 3. У каждого вида документов есть определенный перечень атрибутов. Жизненный цикл документа - от инициализации до принятия решения (или регистрации, или архивации - это не важно). Для каждого вида документа есть схема данных, где хранятся данные "живых" документов данного вида. Эти схемы мы и назваем внешними моделями данного вида документа. После положительного принятия решения по документу нужно изменить состояние объектов, на которые направлено действие документа. Схема данных, в которой хранится текущее состояние объектов системы называем - концептуальная модель. после положительного принятия решения 1 Изменяется состояние объектов, на которые было направлено действие документа. 2 из соответствующей внешней модели удаляются данные документа, по которому было принято решение (архивация вопрос отдельный) Описывать функциональные обязанности собираюсь следующим образом: 1. за единицу функциональных обязанностей принимается тройка: вид документа, стадия и атрибут (атрибут данного вида документов) 2. ФО описываются перечнем единиц ФО (описание допустимых действий) + указание определенных значений некоторых атрибутов (ограничение перечня объектов, на которые направлено действие) Для всего этого создается некая метамодель, содержащая информацию об имеющихся в системе атрибутах, их доменах... Используя "свои" метаданные составляются динамические запросы, сопоставляющие значения атрибутов документа со значениями, указанными в ФО. Вот вариант, в духе которого мне хотелось бы что-то услышать. Зачем - ... Ведь громоздко получается... (чтоб хоть как-то оправдать их (метаданных ) введение). ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2003, 12:20 |
|
метаданные
|
|||
---|---|---|---|
#18+
2 Циничный Кот: Ага. А описание этиз метаданных - метаметаданными. И т.д. Да, есть и такое - мета-метаданные, а также мета-метамодель и т.д. По идее уровней служебной "иерархии" может быть сколько угодно 2 andresito: 1. все действия в системе осуществляются посредством выпуска определенных документов. По идее действие (функция) не обязательно должно сопровождаться выпуском (возникновением?) документа. Например, те же визирование или подпись - это изменения атрибута документа. Или я неправильно понял и под выпуском имеется в виду что у функции СДО всегда есть вход (документ) и выход (документ) - "выпуск"? После положительного принятия решения по документу нужно изменить состояние объектов, на которые направлено действие документа. Вопрос, к-рый, возможно, не имеет отношения к сути, но просто интересно: а как это происходит, т.е программный механизм? Для всего этого создается некая метамодель, содержащая информацию об имеющихся в системе атрибутах, их доменах... Правильно создается и это именно метаданные. Другой вопрос, что когда я, например, занимался документооборотом в середине-конце 90-х гг. все делалось гораздо проще - пользовательские данные и служебные данные , т.е данные, к-рые описывают не атрибуты или домены, а только сами объекты СДО: документ, архив, контейнер, группу, пользователя системы и т.д, и к-рые не изменяются непосредственно пользователями как, например, название, описание, ключевые слова документа и т.д., т.е служебными данными являются, например, ИД пользователя, создавшего документ, физический путь к документу на файл-сервере и т.д. Ведь громоздко получается... (чтоб хоть как-то оправдать их (метаданных ) введение). Громоздко получится в любом случае, т.к есть такая функциональность как создание новых атрибутов и их доменов, т.е по сравнению с системой, в к-рой такой функциональности нет. Раз надо хранить информацию об атрибутах (имя, кому принадлежит, тип, домен) значит эти данные нужны ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2003, 10:13 |
|
метаданные
|
|||
---|---|---|---|
#18+
Кхе-кхе....\r \r Может сможет помочь мои рассуждения на тему "Объектно-ориентированной системы управления реляционными БД"? Там, с введением в реляционную БД пяти дополнительных таблиц, хранящих метаданные объектов (я жыж не даром вопрос пр два уровня задавал.... но ИМХО вернее назвать эти группы метаданных ортгональными , сиречь разными ) и добавления некого функционала к системе управления, мы фактически получаем систему позволяющую хранить и ....мммм....выполнять персистные объекты (я, кстати не пойму, чем отличаются объекты и документы?) ,причем система продолжает быть реляционной. И вообще там столько возможностей.... ой-ей....:) Если бы Вы смогли воспроизвести в дипломе хоть часть необходимого функционала, то это было бы очень-очень интересно....Я достаточно хорошо представляю, как это должно работать,и, если Вы заинтересуетесь, готов помочь всячески :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2003, 19:46 |
|
метаданные
|
|||
---|---|---|---|
#18+
2 U-gene: .. я, кстати не пойму, чем отличаются объекты и документы?) По идее это зависит от архитектуры СДО, т.е документы могут как храниться, так и использоваться по-разному: файлы, XML-файлы, XML в БД, BLOB в БД. В любом случае можно сопоставить каждому документу соответствующий объект (интерфейс), а можно и не сопоставлять. Или вопрос был про другие объекты - "1 Изменяется состояние объектов, на которые было направлено действие документа."? Если бы Вы смогли воспроизвести в дипломе хоть часть необходимого функционала, то это было бы очень-очень интересно.... Извиняюсь, что вмешиваюсь, но студент не "опухнет" от функционала? Может ему решение попроще, например, как у Тенцера? Просто у него диплом может быть именно по СДО, но с такой функциональностью (создание атрибутов). А то "загрузит" преподов технологией ООСУРБД и будет алес :о) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2003, 08:49 |
|
метаданные
|
|||
---|---|---|---|
#18+
2 Репликант\r \r А почему Вы думаете, что у Тенцера решение "попроще"? Например, у Тенцера "....Логика выделяется в отдельный программный слой и, как правило, реализуется на сервере приложений...", что уже подразумевает "пинг-понг", о котором я писал - данные храняться в одном месте, а выполняются в другом. В ООСУРБД все немножко совсен не так. Речь не идет об обмене данными, а о преобразовании команд из О- в Р-. Данные же храняться в таблицах, обрабатываются в таблицах, и даже для пользователя предстают как таблицы (ну...:) или набор таблиц). И надо сделать некий ...ммм... даже не знаю....то ли интепретатор, то ли компилятор или что-то среднее, что реализует этот минимум....может несколько сложнее, что реализовывало бы возможности переопределять атрибуты и группового доступа к данным. В первом приближении - как прототип.\r \r В конце концов, я помощь предложил, а студент сам решит - опухнет он или не опухнет :) . А мож ему интересно будет заниматься тем, что еще никто не делал? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2003, 10:10 |
|
метаданные
|
|||
---|---|---|---|
#18+
to Репликант 1 По идее действие (функция) не обязательно должно сопровождаться выпуском (возникновением?) документа. Например, те же визирование или подпись - это изменения атрибута документа. Или я неправильно понял и под выпуском имеется в виду что у функции СДО всегда есть вход (документ) и выход (документ) - "выпуск"? да, конечно, такие вещи как везирование... прочие "сопроводительные" действия идут без документов. Имел ввиду глобальные действия, как, например, зачисление в штат - приказ, какая-ть аттестация - ведомость (система эта предназначена для автоматизации университета) и т.д.. 2 После положительного принятия решения по документу нужно изменить состояние объектов, на которые направлено действие документа. Вопрос, к-рый, возможно, не имеет отношения к сути, но просто интересно: а как это происходит, т.е программный механизм? ведь это определяется логикой типа документа и жестко программируется. Т.е. меняются определенные атрибуты определенных сущностей. to U-gene почитаю статью, подумаю.. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2003, 11:22 |
|
метаданные
|
|||
---|---|---|---|
#18+
2 U-gene: А почему Вы думаете, что у Тенцера решение "попроще"? Например, у Тенцера "....Логика выделяется в отдельный программный слой и, как правило, реализуется на сервере приложений...", ... Если Тенцер сказал: "В роли клиентской части для такой БД, как правило, выступает сервер приложений, реализующий слой бизнес-логики.", то это не значит, что всегда должно быть только так. Да, 3-звенный подход имеет определенные преимущества, но и при 2-звенной архитектуре тот же TBaseDBObject может быть реализован на клиенте СДО ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2003, 09:00 |
|
метаданные
|
|||
---|---|---|---|
#18+
2 andresito Я бы начал не со статьи а с внимательного прочтение топика... 2 Репликант ....да тьфу на Вас:)).... 2- или 3-звенный подход - это не играет роли. Говоря про пинг-понг, я хотел сказать, что в любом случае речь у Тенцера объект TBaseDBObject должен быть где-то реализован. Для любых манипуляций с объектам этот самый TBaseDBObject должен быть создан, ну а на клиенте ли или на сервере приложений - это без разницы. В ООСУРБД же происходит преобразование команд . Команды, которые управляют объетами (реально эти объекты существуют только в башке программиста, именно потому, что может пользоваться командами управляющими О-системой) на основании ранее внесенных метаданных, которые храняться в РБД, преобразуются в команды управляния данными, реально хранящимися в той же РБД. Соответсвенно объекты типа TBaseDBObject существующие где-либо там не нужны вообще. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2003, 11:46 |
|
метаданные
|
|||
---|---|---|---|
#18+
2- или 3-звенный подход - это не играет роли. Говоря про пинг-понг, я хотел сказать, что в любом случае речь у Тенцера объект TBaseDBObject должен быть где-то реализован. Для любых манипуляций с объектам этот самый TBaseDBObject должен быть создан, ну а на клиенте ли или на сервере приложений - это без разницы. Зачем вы тогда цитату про программный слой на сервере приложений приводили? То, как работает ООСУРБД мне ясно. Вопрос в другом: легко ли мне, например, как студенту создать транслятор для преобразования О- в Р-команды. Мне, например, кажется, что проще сделать именно как у Тенцера или вообще сериализацию объектов с хранением в БД ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2003, 18:07 |
|
метаданные
|
|||
---|---|---|---|
#18+
Дык! автор писал:...легко ли мне, например, как студенту создать транслятор для преобразования О- в Р-команды... Тяжело в учении - легко в бою. :) Я, помниться, в молодости писал небольшой транслятор под заказ, так оказалось, что это жутко интересно именно с точки зрения ....мммм....чистого программирования :). А цитату я привел, дабы показать, что реализуя предожения Тенцера надо опираться на существующие технологии. ИМХО ... 1) ...технологии надо знать и уметь их использовать (что тоже есть повод для опухания), 2) ...технологии временны, 3) ...в конце концов технологии - это скучно :). Последнее - это я не к тому, что они не нужны, просто технология, это готовый ответ на какой-то вопрос, однако это не есть ответ на все вопросы и гораздо интереснее ...мммм.... выходить за их рамки, потому как и других вопросов - куча. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2003, 18:47 |
|
метаданные
|
|||
---|---|---|---|
#18+
2 andersito Рекомендую познакомиться со стандартом CWM (Common Warehouse Metadata) и спецификацией MOF (Meta Object Facility). Там вопросы метаданных подробно описаны. И про метамодели есть и мета-мета и даже мета-мета-мета. Ходить сюда: http://www.omg.org/cwm Ещё у меня есть небольшая подборка материалов на сайте. Это здесь: http://lissianski.narod.ru/meta.html Желаю удачи. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2003, 01:36 |
|
|
start [/forum/topic.php?fid=32&msg=32316761&tid=1546764]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
173ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 301ms |
0 / 0 |