powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / метаданные
21 сообщений из 21, страница 1 из 1
метаданные
    #32315891
andresito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос теоретический...

Допустим есть некоторая схема данных, реализованы некоторые бизнес процессы...

Для чего могут быть использованы метаданнные (именно для функционирования системы а не для нужд разработки)
...
Рейтинг: 0 / 0
метаданные
    #32315938
Yossarian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начнем с того, что существует 2 вида метаданных.
Первый - метаданные высокого уровня. То есть сведения о
реализации бизнес-процессов, структуре организации,
например, Zachman framework. Такие метаданные могут
быть использованы в организации Datawarehouse, прокрутке
сценариев what-if (например : как изменятся бизнес-правила
если мы объединим склад готовой продукции и склад запчастей ?)

Второй вид - метаданные физического уровня : сведения о
таблицах, полях, типах данных. Такие метаданные могут быть
использованы в некоторых видах запросов; для автоматической
генерации отчетов и форм ввода; для автоматической очистки
данных для ввода в Datawarehouse.

Washington Irving
...
Рейтинг: 0 / 0
метаданные
    #32316028
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про высокий и низкий уровень - это что-то новенькое :)
...
Рейтинг: 0 / 0
метаданные
    #32316049
Yossarian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Про высокий и низкий уровень - это что-то новенькое

Да, об этом почему-то никто не говорит. Но ведь вещи-то разные.
И смысл разный. Стало быть, надо разделять.

Washington Irving
...
Рейтинг: 0 / 0
метаданные
    #32316128
andresito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за уточнение.
Интересны именно метаданные физического уровня.. и, использование их в запросах.
Т.е., интересно есть ли опыт использования метаданных именно в реализации логики системы.
...
Рейтинг: 0 / 0
метаданные
    #32316705
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 - там его самые знатоки и собираются :о)
...
Рейтинг: 0 / 0
метаданные
    #32316729
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще стандартом ANSI определены специальные представления - INFORMATION_SCHEMA. MS SQL 2000 реализует часть из них (насколько полно - я не знаю), как я понял, Oracle тоже должен иметь нечто похожее.
...
Рейтинг: 0 / 0
метаданные
    #32316761
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функция каталога - доступ к метаданным средствами самой базы данных (то есть метаданные должны храниться в отношениях) - одно из требований Кодда к реляционной базе данных, что и отражено в стандарте ANSI.

To andresito
Yossarian всё правильно сказал насчёт физических метаданных. Больше никаких примеров использования их в логике системы в голову не приходит.
...
Рейтинг: 0 / 0
метаданные
    #32316913
andresito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Репликант:
с форумом я не ошибся,.. попытаюсь увести от технических подробностей...

Ведь не обязательно использовать системную информацию (т.е. метаданные, предоставляемые СУБД). Есть вариант, например, создать свое описание схемы данных (уровень подробности конечно определяется исходя из нужд :)) -- именно эти потенциальные нужды мне и интересны).
И это описание считать метаданными.


Ну а про цели верхнего уровня...
|>
(в этом форуме хотел подойти с другого края).
...
Рейтинг: 0 / 0
метаданные
    #32317017
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 AAron

Вообще стандартом ANSI определены специальные представления - INFORMATION_SCHEMA.

Если вас не затруднит, ссылочку на этот стандарт подкиньте, плиииз...


2 andresito

Ведь не обязательно использовать системную информацию (т.е. метаданные, предоставляемые СУБД). Есть вариант, например, создать свое описание схемы данных (уровень подробности конечно определяется исходя из нужд :)) -- именно эти потенциальные нужды мне и интересны).
И это описание считать метаданными.


Ага. А описание этиз метаданных - метаметаданными. И т.д.

Я вот только плохо понимаю, что вы спросить хотите? Попробуйте поконкретнее сформулировать. А я пока простенький пример в контексте моего понимания ответа на вопрос "Для чего могут быть использованы метаданнные (именно для функционирования системы а не для нужд разработки)"

Пример:
Метаданные: местоположение источника данных в формате "host:port".
Используются понятно для чего - для зачитывания данных из источника.

...
Рейтинг: 0 / 0
метаданные
    #32317134
andresito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ок, ладно, не хотелось в подробности вдаваться...

Пишу дипломную работу, с примерно следующей темой: "описание
функциональных обязанностей в системах электронного документооборота".

Выгдядит все след. образом:
1. все действия в системе
осуществляются посредством выпуска определенных документов.
2. как и у обычных, у эл. документов есть определенные стадии
(визирование, коррекция, подписывание...)
3. У каждого вида документов есть определенный перечень атрибутов.

Жизненный цикл документа - от инициализации до принятия решения (или
регистрации, или архивации - это не важно).
Для каждого вида документа есть схема данных, где хранятся
данные "живых" документов данного вида. Эти схемы мы и назваем внешними
моделями данного вида документа.
После положительного принятия решения по документу нужно изменить
состояние объектов, на которые направлено действие документа.
Схема данных, в которой хранится текущее состояние объектов системы
называем - концептуальная модель.

после положительного принятия решения
1 Изменяется состояние объектов, на которые было направлено действие
документа.
2 из соответствующей внешней модели удаляются данные документа, по
которому было принято решение (архивация вопрос отдельный)

Описывать функциональные обязанности собираюсь следующим образом:
1. за единицу функциональных обязанностей принимается тройка: вид
документа, стадия и атрибут (атрибут данного вида документов)
2. ФО описываются перечнем единиц ФО (описание допустимых действий) +
указание определенных значений некоторых атрибутов (ограничение перечня
объектов, на которые направлено действие)

Для всего этого создается некая метамодель, содержащая информацию об
имеющихся в системе атрибутах, их доменах...

Используя "свои" метаданные составляются динамические запросы, сопоставляющие значения атрибутов документа со значениями, указанными в ФО.
Вот вариант, в духе которого мне хотелось бы что-то услышать.
Зачем - ...
Ведь громоздко получается...
(чтоб хоть как-то оправдать их (метаданных ) введение).
...
Рейтинг: 0 / 0
метаданные
    #32317762
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Циничный Кот:
Ага. А описание этиз метаданных - метаметаданными. И т.д.

Да, есть и такое - мета-метаданные, а также мета-метамодель и т.д. По идее уровней служебной "иерархии" может быть сколько угодно


2 andresito:
1. все действия в системе
осуществляются посредством выпуска определенных документов.


По идее действие (функция) не обязательно должно сопровождаться выпуском (возникновением?) документа. Например, те же визирование или подпись - это изменения атрибута документа. Или я неправильно понял и под выпуском имеется в виду что у функции СДО всегда есть вход (документ) и выход (документ) - "выпуск"?

После положительного принятия решения по документу нужно изменить
состояние объектов, на которые направлено действие документа.


Вопрос, к-рый, возможно, не имеет отношения к сути, но просто интересно: а как это происходит, т.е программный механизм?

Для всего этого создается некая метамодель, содержащая информацию об
имеющихся в системе атрибутах, их доменах...


Правильно создается и это именно метаданные. Другой вопрос, что когда я, например, занимался документооборотом в середине-конце 90-х гг. все делалось гораздо проще - пользовательские данные и служебные данные , т.е данные, к-рые описывают не атрибуты или домены, а только сами объекты СДО: документ, архив, контейнер, группу, пользователя системы и т.д, и к-рые не изменяются непосредственно пользователями как, например, название, описание, ключевые слова документа и т.д., т.е служебными данными являются, например, ИД пользователя, создавшего документ, физический путь к документу на файл-сервере и т.д.

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


Громоздко получится в любом случае, т.к есть такая функциональность как создание новых атрибутов и их доменов, т.е по сравнению с системой, в к-рой такой функциональности нет. Раз надо хранить информацию об атрибутах (имя, кому принадлежит, тип, домен) значит эти данные нужны
...
Рейтинг: 0 / 0
метаданные
    #32318213
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кхе-кхе....\r
\r
Может сможет помочь мои рассуждения на тему "Объектно-ориентированной системы управления реляционными БД"? Там, с введением в реляционную БД пяти дополнительных таблиц, хранящих метаданные объектов (я жыж не даром вопрос пр два уровня задавал.... но ИМХО вернее назвать эти группы метаданных ортгональными , сиречь разными ) и добавления некого функционала к системе управления, мы фактически получаем систему позволяющую хранить и ....мммм....выполнять персистные объекты (я, кстати не пойму, чем отличаются объекты и документы?) ,причем система продолжает быть реляционной. И вообще там столько возможностей.... ой-ей....:) Если бы Вы смогли воспроизвести в дипломе хоть часть необходимого функционала, то это было бы очень-очень интересно....Я достаточно хорошо представляю, как это должно работать,и, если Вы заинтересуетесь, готов помочь всячески :)
...
Рейтинг: 0 / 0
метаданные
    #32318518
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 U-gene:
.. я, кстати не пойму, чем отличаются объекты и документы?)

По идее это зависит от архитектуры СДО, т.е документы могут как храниться, так и использоваться по-разному: файлы, XML-файлы, XML в БД, BLOB в БД. В любом случае можно сопоставить каждому документу соответствующий объект (интерфейс), а можно и не сопоставлять. Или вопрос был про другие объекты - "1 Изменяется состояние объектов, на которые было направлено действие документа."?

Если бы Вы смогли воспроизвести в дипломе хоть часть необходимого функционала, то это было бы очень-очень интересно....

Извиняюсь, что вмешиваюсь, но студент не "опухнет" от функционала? Может ему решение попроще, например, как у Тенцера? Просто у него диплом может быть именно по СДО, но с такой функциональностью (создание атрибутов). А то "загрузит" преподов технологией ООСУРБД и будет алес :о)
...
Рейтинг: 0 / 0
метаданные
    #32318570
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Репликант\r
\r
А почему Вы думаете, что у Тенцера решение "попроще"? Например, у Тенцера "....Логика выделяется в отдельный программный слой и, как правило, реализуется на сервере приложений...", что уже подразумевает "пинг-понг", о котором я писал - данные храняться в одном месте, а выполняются в другом. В ООСУРБД все немножко совсен не так. Речь не идет об обмене данными, а о преобразовании команд из О- в Р-. Данные же храняться в таблицах, обрабатываются в таблицах, и даже для пользователя предстают как таблицы (ну...:) или набор таблиц). И надо сделать некий ...ммм... даже не знаю....то ли интепретатор, то ли компилятор или что-то среднее, что реализует этот минимум....может несколько сложнее, что реализовывало бы возможности переопределять атрибуты и группового доступа к данным. В первом приближении - как прототип.\r
\r
В конце концов, я помощь предложил, а студент сам решит - опухнет он или не опухнет :) . А мож ему интересно будет заниматься тем, что еще никто не делал? :)
...
Рейтинг: 0 / 0
метаданные
    #32318647
andresito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Репликант
1
По идее действие (функция) не обязательно должно сопровождаться выпуском (возникновением?) документа. Например, те же визирование или подпись - это изменения атрибута документа. Или я неправильно понял и под выпуском имеется в виду что у функции СДО всегда есть вход (документ) и выход (документ) - "выпуск"?

да, конечно, такие вещи как везирование... прочие "сопроводительные" действия идут без документов. Имел ввиду глобальные действия, как, например, зачисление в штат - приказ, какая-ть аттестация - ведомость (система эта предназначена для автоматизации университета) и т.д..

2
После положительного принятия решения по документу нужно изменить состояние объектов, на которые направлено действие документа.
Вопрос, к-рый, возможно, не имеет отношения к сути, но просто интересно: а как это происходит, т.е программный механизм?

ведь это определяется логикой типа документа и жестко программируется. Т.е. меняются определенные атрибуты определенных сущностей.


to U-gene
почитаю статью, подумаю..
...
Рейтинг: 0 / 0
метаданные
    #32319526
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 U-gene:
А почему Вы думаете, что у Тенцера решение "попроще"? Например, у Тенцера "....Логика выделяется в отдельный программный слой и, как правило, реализуется на сервере приложений...", ...

Если Тенцер сказал: "В роли клиентской части для такой БД, как правило, выступает сервер приложений, реализующий слой бизнес-логики.", то это не значит, что всегда должно быть только так. Да, 3-звенный подход имеет определенные преимущества, но и при 2-звенной архитектуре тот же TBaseDBObject может быть реализован на клиенте СДО
...
Рейтинг: 0 / 0
метаданные
    #32319843
Ugene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 andresito
Я бы начал не со статьи а с внимательного прочтение топика...

2 Репликант
....да тьфу на Вас:))....
2- или 3-звенный подход - это не играет роли. Говоря про пинг-понг, я хотел сказать, что в любом случае речь у Тенцера объект TBaseDBObject должен быть где-то реализован. Для любых манипуляций с объектам этот самый TBaseDBObject должен быть создан, ну а на клиенте ли или на сервере приложений - это без разницы.

В ООСУРБД же происходит преобразование команд . Команды, которые управляют объетами (реально эти объекты существуют только в башке программиста, именно потому, что может пользоваться командами управляющими О-системой) на основании ранее внесенных метаданных, которые храняться в РБД, преобразуются в команды управляния данными, реально хранящимися в той же РБД. Соответсвенно объекты типа TBaseDBObject существующие где-либо там не нужны вообще.
...
Рейтинг: 0 / 0
метаданные
    #32322011
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2- или 3-звенный подход - это не играет роли. Говоря про пинг-понг, я хотел сказать, что в любом случае речь у Тенцера объект TBaseDBObject должен быть где-то реализован. Для любых манипуляций с объектам этот самый TBaseDBObject должен быть создан, ну а на клиенте ли или на сервере приложений - это без разницы.

Зачем вы тогда цитату про программный слой на сервере приложений приводили? То, как работает ООСУРБД мне ясно. Вопрос в другом: легко ли мне, например, как студенту создать транслятор для преобразования О- в Р-команды. Мне, например, кажется, что проще сделать именно как у Тенцера или вообще сериализацию объектов с хранением в БД
...
Рейтинг: 0 / 0
метаданные
    #32322082
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык!

автор писал:...легко ли мне, например, как студенту создать транслятор для преобразования О- в Р-команды...
Тяжело в учении - легко в бою. :) Я, помниться, в молодости писал небольшой транслятор под заказ, так оказалось, что это жутко интересно именно с точки зрения ....мммм....чистого программирования :). А цитату я привел, дабы показать, что реализуя предожения Тенцера надо опираться на существующие технологии. ИМХО ...
1) ...технологии надо знать и уметь их использовать (что тоже есть повод для опухания),
2) ...технологии временны,
3) ...в конце концов технологии - это скучно :).
Последнее - это я не к тому, что они не нужны, просто технология, это готовый ответ на какой-то вопрос, однако это не есть ответ на все вопросы и гораздо интереснее ...мммм.... выходить за их рамки, потому как и других вопросов - куча.
...
Рейтинг: 0 / 0
метаданные
    #32325247
Константин Лисянский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / метаданные
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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