powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Автоматический анализ данных
17 сообщений из 17, страница 1 из 1
Автоматический анализ данных
    #32992291
Всем привет!
Честно говоря, долго смотрел на список форумов, но так и не нашел подходящего. Напишу сюда - не пинайти, плиз, если совсем не в тему. :)

Стоит задача (неформальная постановка): по данным определить метаданные.

То есть, у нас есть некоторая реляционная база данных (пусть, для простоты, она находится в какой-нибудь СУБД). Она состоит из таблиц, таблицы из столбцов.
Есть метаданные самой СУБД, которые дают нам некоторую информацию о типах данных в полях (например, можно отличить число от строки) и связях. Но вот строку название страны от строки цвета, например, они отличить уже не помогут, как и выделить случай записи числа текстовой строкой. Отсутствующих в метаданных, но реально имеющих место связей мы также не увидим.

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

Просьба. Кто видел какие-либо реализации этой идеи, полные или частичные, или какие-нибудь разработки по теме - поделитесь знанием!
Интересует все: существующие готовые системы, имеющие среди функциональности подобные элементы, какие-то наработки, просто воспоминания.
Могу привести один пример, где я видел небольшой элемент - при импорте данных из текстового файла в Microsoft Access система "догадывается" о типе данных в столбце. Не всегда точно, конечно, но во всяком случае пытается. :)

Если есть идеи, где на этот вопрос/просьбу могут ответить - буду рад.

P.S. Также готов обсудить конкретные идеи как это реализовывать и для чего использовать (выше я изложил суть технической проблемы, не углубляясь в детали).
...
Рейтинг: 0 / 0
Автоматический анализ данных
    #32992349
Mainframe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander V. YushchenkoВсем привет!
Честно говоря, долго смотрел на список форумов, но так и не нашел подходящего. Напишу сюда - не пинайти, плиз, если совсем не в тему. :)

Стоит задача (неформальная постановка): по данным определить метаданные.

То есть, у нас есть некоторая реляционная база данных (пусть, для простоты, она находится в какой-нибудь СУБД). Она состоит из таблиц, таблицы из столбцов.
Есть метаданные самой СУБД, которые дают нам некоторую информацию о типах данных в полях (например, можно отличить число от строки) и связях. Но вот строку название страны от строки цвета, например, они отличить уже не помогут, как и выделить случай записи числа текстовой строкой. Отсутствующих в метаданных, но реально имеющих место связей мы также не увидим.

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

Просьба. Кто видел какие-либо реализации этой идеи, полные или частичные, или какие-нибудь разработки по теме - поделитесь знанием!
Интересует все: существующие готовые системы, имеющие среди функциональности подобные элементы, какие-то наработки, просто воспоминания.
Могу привести один пример, где я видел небольшой элемент - при импорте данных из текстового файла в Microsoft Access система "догадывается" о типе данных в столбце. Не всегда точно, конечно, но во всяком случае пытается. :)

Если есть идеи, где на этот вопрос/просьбу могут ответить - буду рад.

P.S. Также готов обсудить конкретные идеи как это реализовывать и для чего использовать (выше я изложил суть технической проблемы, не углубляясь в детали).

У нас так же есть необходимость в дополнительных метаданных (по другим чем у Вас причинам). Мы решаем ее сами - пишем дополнительное описание того, что нужно в своих таблицах. Проект в разработке.
...
Рейтинг: 0 / 0
Автоматический анализ данных
    #32994496
MainFrameУ нас так же есть необходимость в дополнительных метаданных (по другим чем у Вас причинам). Мы решаем ее сами - пишем дополнительное описание того, что нужно в своих таблицах. Проект в разработке.

А можно поподробней?
Почему возникла необходимость в дополнительных метаданных?
Пишете сами? Выявляете их методом пристального взгляда или автоматически? Пишете конечный результат из головы или автоматизировано?
...
Рейтинг: 0 / 0
Автоматический анализ данных
    #32994517
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Стоит задача (неформальная постановка): по данным определить метаданные.

В общем случае задача решения не имеет.

> Цель - дальнейший анализ незнакомых данных с минимальным участием человека

;) А как Вы себе это представляете?
...
Рейтинг: 0 / 0
Автоматический анализ данных
    #32994542
Mainframe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander V. Yushchenko MainFrameУ нас так же есть необходимость в дополнительных метаданных (по другим чем у Вас причинам). Мы решаем ее сами - пишем дополнительное описание того, что нужно в своих таблицах. Проект в разработке.

А можно поподробней?
Почему возникла необходимость в дополнительных метаданных?
Пишете сами? Выявляете их методом пристального взгляда или автоматически? Пишете конечный результат из головы или автоматизировано?

1. Задача возникла, так как очнеь (ну просто очень!) много данных в разных базах, связь между ними существует только в умах программистов и в логике программы. Что идеалогически некорректно. С помощью описания собираемся решать много задач нам необходимых, но так как пока не решили, то не буду на этом останавливаться.

2. Пишем сами. Возможно что-то где-то и есть, но наверняка нет того, что нам нужно, да и мы не встречали.

3. Автоматически выявить невозможно - во всяком случае у нас, поэтому описывает связи DBA. Тем более там есть такие тонкие настрйоки - как привзяка таблиц к проектам, к компонентам, которые с ними работают и т.п.

4. Проект в певрой трети реализации. Поэтому говорить подробно рано. Вот когда сделаем ...
...
Рейтинг: 0 / 0
Автоматический анализ данных
    #32994898
guest_20040621В общем случае задача решения не имеет.
Полностью согласен. :)
Строго говоря, можно говорить лишь об автоматизации части работы. Так сказать, построению каких-то гипотез, окончательно проверять которые нужно уже человеку-эксперту. Однако и это немало, если сие удастся реализовать.

guest_20040621> Цель - дальнейший анализ незнакомых данных с минимальным участием человека
;) А как Вы себе это представляете?
Предполагаемое применение - искать пересекающиеся области метаданных в двух (или более) базах.
Одна из возможных целей - объединение нескольких баз в одну в случае, когда базы слабо поддаются ручному изучению (таблиц много, полей еще больше, названия неинформативны, связей на уровне метаданных СУБД нет), но тем не менее есть внешняя информация о том, что такие области пересечения существуют.
Конечная цель - существенно сократить время решения подобной задачи относительно того времени, которое нужно потратить на ручное изучение.
По конкретным методам... есть несколько интересных задумок. Но хочется удостовериться, что не изобретаю велосипед. Отсюда и исходный вопрос.


MainFrameАвтоматически выявить невозможно - во всяком случае у нас, поэтому описывает связи DBA.
То есть, как я понял, вы пишете скорее систему хранения и работы с метаданными разного рода, а ее заполнением занимаются люди и только люди?
В любом случае удачи!
...
Рейтинг: 0 / 0
Автоматический анализ данных
    #32994971
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Строго говоря, можно говорить лишь об автоматизации части работы.

Imho часть эта будет очень небольшой.

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

Кроме того, для приемлемого решения Вам придется реализовывать, скажем так, не слишком распространенные задачи из класса лингвистических и классификационных. ;)

Каково практическое применение Вашей задачи, если не секрет?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Автоматический анализ данных
    #34531008
Может, я не в тему скажу, или не понял чего, и все скажут: "вот ламер!" :-), но, если есть база данных, пусть и очень большая, почему не сделать в ней таблицу с описанием каждого поля каждой другой таблицы. И просто ее своевременно обновлять? Например, поля: Таблица, Поле, Тип данных, Описание. И все.
...
Рейтинг: 0 / 0
Автоматический анализ данных
    #34531271
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander V. YushchenkoНо вот строку название страны от строки цвета, например, они отличить уже не помогут, как и выделить случай записи числа текстовой строкой. Отсутствующих в метаданных, но реально имеющих место связей мы также не увидим.

Все это можно сделать, вводя собственные типы данных. На каком уровне и какими средствами - вопрос СУБД и реализации.
...
Рейтинг: 0 / 0
Автоматический анализ данных
    #34531356
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если такой анализ нужно проводить над чужими БД - то искусственный интеллект поможет наверное, правда его все никак не разработают.

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

-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
Автоматический анализ данных
    #34532911
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как идея.

Автоматическим путем можно вычислить характеристики фактических доменов для каждого поля:
тип,
количество значений,
макс/мин длина,
макс/мин значение,
10 наиболее частых значений,
Для тескстовых полей - тоже про слова, про символы, про классы символов.

Можно задать типовые домены, например
ТЕЛЕФ_НОМЕР = текст до 20 символов из символов 1..9, -, ( ,)
НАИМЕНОВАНИЕ_ОРГАНИЗАЦИИ = текст где 10 наиболе частых слов ОАО, ООО, фирма, ...

Потом анализировать домены на сходство между собой и типовыми доменами.
...
Рейтинг: 0 / 0
Автоматический анализ данных
    #34533395
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander V. YushchenkoЕсть метаданные самой СУБД, которые дают нам некоторую информацию о типах данных в полях (например, можно отличить число от строки) и связях. Но вот строку название страны от строки цвета, например, они отличить уже не помогут, как и выделить случай записи числа текстовой строкой. Отсутствующих в метаданных, но реально имеющих место связей мы также не увидим.Не очень понял для чего это делается, но слышал о том, что решали следующую задачу.

Была база Аксапты - есть к ней доступ. Между таблицами нет ни одного FK. Требовалось восстановить структуру связей между таблицами.
Изначально считалось, что все логические FK связываются только по одному полю.

Как это делалось:
Писалась процедура, которая сравнивала значения полей в основных таблицах со значениями полей в справочниках.
После этого смотрелась частота попадания значений поля в значения справочника.
После этого - делались выводы о логических связях между полями и справочниками.
...
Рейтинг: 0 / 0
Автоматический анализ данных
    #34533624
atv_13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BelyБыла база Аксапты - есть к ней доступ. Между таблицами нет ни одного FK. Требовалось восстановить структуру связей между таблицами.Очень похоже на задачу топикстартера

ИМХО желательны знания хотя бы о предметной области данных, хранимых в базе(ах). Исходя из этого и использовать совет ModelR . Исключить человека практически невозможно, только если предметная область известна досконально и базу проектировал нормальный чел :)
...
Рейтинг: 0 / 0
Автоматический анализ данных
    #34533649
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
atv_13Исключить человека практически невозможно, только если предметная область известна досконально и базу проектировал нормальный чел :)Тут еще немаловажную рольиграет размер базы.
Если данных мало, то можно получить неоднозначность определения данных из словаря.
А если данных хватает, что все значения из словаря хоть раз да появляются в колонках - то точность распознвания может быть и 100%
...
Рейтинг: 0 / 0
Автоматический анализ данных
    #34533661
atv_13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тип связи определяем на основе статистики совпадений значений полей одной таблицы в другой и наоборот. Количество полей - на основе сопадений этих совпадений
Возможно и неизвестно, какие именно из таблиц справочники. По мере их определения использовать оные в первую очередь
...
Рейтинг: 0 / 0
Автоматический анализ данных
    #34533664
atv_13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BelyТут еще немаловажную рольиграет размер базы.Полностью согласен. Сказанное Вами можно употребить и к определению связей
...
Рейтинг: 0 / 0
Автоматический анализ данных
    #34533726
atv_13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению сообщения не редактируются :(
Очень большая вероятность, что меньшие по размеру таблицы являются справочниками
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Автоматический анализ данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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