Имя: Пароль:
IT
 
Язык конвертации данных
0 Garykom
 
гуру
11.07.15
14:41
Часто бывает задача переноса/конвертации данных между различными БД.
И если реляционная структура этих БД сильно различается то возникают сложности при переносе.

Какие у кого есть идеи насчет некоего простого (легкого в изучении, понятного) но весьма функционального "языка команд/программирования".

Допустим при конвертации между реляционными БД используется промежуточная "объектная модель" всех сущностей.
И правила в/из для каждой реляционной модели.

Пример:
База 1. Справочник Контрагенты - Табличная часть контактная информация, для каждой строки указан вид КИ и значение КИ
База 2. Справочник Контрагенты - раздельные реквизиты для каждого вида контактной информации в самом справочнике (адрес, телефон и т.д.)
Объектная модель.
"Контрагент": {
"База1Код": "строка_10";
"База2Код": "строка_9";
"Наименование": "строка_250";
"КИ": [ {"ВидКИ": "строка_50"; "ЗначениеКИ": "строка_250" }, {...}, ...];
...

Выходит нужно описание объектной/промежуточной модели командами языка.
И затем описание трансформации данных между реляционными и объектной моделями.
1 Aleksey
 
11.07.15
14:47
Зачем изобретать велосипед?
2 Garykom
 
гуру
11.07.15
14:49
(1) колеса "круглее", легче научиться "ездить", быстрее "ездит"
3 Aleksey
 
11.07.15
14:50
(2)Это почему помнить все особенности узкоспециализированного языка легче, чем мышкой ткнуть в КД?
4 Garykom
 
гуру
11.07.15
14:52
5 Лефмихалыч
 
11.07.15
15:01
Для 1С ест КД, которая решает этот вопрос безо всяких языков промежуточных.
А в принципе язык преобразования данных существует, xslt называется.
6 Garykom
 
гуру
11.07.15
15:03
(5) абсолютно верно!
хочется нечто подобное но не для xml<>xml,
а для БД<>Объектная модель(xml, json etc)<>БД
7 Garykom
 
гуру
11.07.15
15:04
(6)+ т.е. нечто похожее одновременно и на sql и на xslt
8 Aleksey
 
11.07.15
15:05
(4)Я как человек далекий от 3D, не знаю ответ на этот вопрос. Но применив опыт из других областей могу сказать что выбирая между платным продуктом по которому скорее всего есть куча документаций и форумов, и не только от разработчиков и бесплатным продуктом, которые писало сообщество гиков и оно понятно только для гиков, т.е. внятной документации нет, описания куцое и понятное лишь разработчикам и т.п.

Во общем я бы предположил что проще Autodesk_3ds_Max изучить
9 Garykom
 
гуру
11.07.15
15:05
(5) а насчет КД для 1С, хочется добавить к нему возможность "чисто кодом" правила описывать удобно
10 Aleksey
 
11.07.15
15:06
(9)  Бери КД 3.0 это как раз то о чем ты просишь
11 Лефмихалыч
 
11.07.15
15:06
(6) ни кому не нужная хрень
12 Garykom
 
гуру
11.07.15
15:07
(8) если задача "нарисовать 3D модель чего то" и известны "все размеры" то на OpenSCAD это быстрее намного... по крайней мере для программиста
13 Wern
 
11.07.15
15:07
Посмотри КД3 там как раз основа это универсальный формат файлов, загрузить/выгрузить из которого можно в любую БД.

Да и в КД есть возможность чисто кодом описывать правила.
14 Garykom
 
гуру
11.07.15
15:08
(10) КД3 требует поддержки в каждой конфе на уровне "уникального кода"
15 Garykom
 
гуру
11.07.15
15:09
(11) спасибо за личное мнение

ЗЫ но я несогласен, как и многие знакомые
16 Aleksey
 
11.07.15
15:09
(11) +100

(12) Ну это твое мнение. А мое мнение абсолютно противоположное.

Это все равно что взять 1С-ника и абапера и спросить на каком языке проще написать новый документ в КИСе
17 Aleksey
 
11.07.15
15:10
(14) Ну ты же хотел все кодом, вот и получил
18 Garykom
 
гуру
11.07.15
15:10
(13) неудобно в КД это и не обязательно "для 1С", требуется для разных БД (реляционных)
19 Garykom
 
гуру
11.07.15
15:11
(16) Немного не так, это как взять "студента" с 0 знаний и "по 1С" и "по абапу"

и попросить наваять выгрузку из DBF в MS SQL с разными структурами баз
20 Aleksey
 
11.07.15
15:12
(18) Для разных БД есть текстовый файл. Я просто понять не могу зачем он нужен твой велоспиед когда есть куча готовых инструментов. Что он позволит сделать? Или просто альтернатива ради альтернативы?
21 Aleksey
 
11.07.15
15:12
(19) И он начнет изобретать велосипед, так же как и ты, потому что он в школе изучал Паскаль, а про абап и 1С он ничего не знает
22 Garykom
 
гуру
11.07.15
15:13
Ветка сразу начала скатываться в срач и нафейхуа :)

ЗЫ а если вместо "нахрен нужно" и т.д. по теме что предложить?

ЗЗЫ или кроме КД ничего не знаем даже банального SQL?
23 Aleksey
 
11.07.15
15:15
(22) По теме чего? Я тут придумал одному мне нужную хрень, а зачем и нафига я не скажу. Но вы обязательно должны мне накидать годных идей. Так что ли?


Мы и высказываемся по теме. "Нафига козе баян она и так веселая"
24 Garykom
 
гуру
11.07.15
15:15
(21) не хочется разочаровывать... но в школе я изучал бейсик разных реализаций, турбо паскаль, визуал бейсик и дельфи

затем изучил java, c#, php, js, sql, c++ и еще несколько так ознакомился т.е. почти не писал в отличие от перечисленных
25 Garykom
 
гуру
11.07.15
15:16
(23) зачем эта "нужная вещь" написано в (0) и (2)...
26 Aleksey
 
11.07.15
15:18
(24) Молодец, но к чему ты это?
27 Garykom
 
гуру
11.07.15
15:19
(26) к тому что бывают задачи которые удобнее, быстрее и лучше/качественнее решать не "тыкая визуально" а "написав команды/код"
28 Aleksey
 
11.07.15
15:20
(25) Там написано, что есть 3 разные базы.
1. Центральная
2,3 Почки

Эти базы разные по структуре и содержанию и даже не обязательно на 1С написанные.

Нужно написать обмен из 2 в 3 и обратно через базу 1

Я хочу написать универсальную хрень. что мне делать?


Я правильно понял посыл?
29 Garykom
 
гуру
11.07.15
15:21
(27)+ иначе зачем бы во все визуальные системы рисования/черчения/конструирования обязательно встраивают выполнение произвольны скриптов, на своем языке?
30 Garykom
 
гуру
11.07.15
15:21
(28) к сожалению, нет
31 Aleksey
 
11.07.15
15:22
(27) Так мы о том и толдоним, что нужно начинать не с сферического коня в вакууме а брать готовый инструмент и описывать почему он не подходит, а потом уже о разработке своего велосипеда говорить
32 Garykom
 
гуру
11.07.15
15:22
(30)+ базы 1 нету, она "виртуальная"
но да нужно написать обмен между базами 2 и 3 в обе стороны
33 Aleksey
 
11.07.15
15:23
(29) Потому что правило Закон Парето
34 Aleksey
 
11.07.15
15:23
(32) А зачем плодить сущность там где она не нужна?
35 Garykom
 
гуру
11.07.15
15:24
(31) подскажите... вот если есть лопата... зачем придумали экскаватор? ведь им же нужно учиться управлять... обслуживать и т.д.

а лопатой "любой умеет"
36 Aleksey
 
11.07.15
15:24
Зачем "объектная модель" бери КД 3 и ваяй что хочешь
37 Garykom
 
гуру
11.07.15
15:25
(36) взял... у меня 1-я база на firebird, а 2-я на линтере... что дальше делать?
38 Aleksey
 
11.07.15
15:27
(35) "Дядя Петя, ты дурак?"

Потому что "У каждой пули свое назначение."
39 Aleksey
 
11.07.15
15:28
(37) Ну для начало а что нельзя организовать прямое чтение без промежуточных файлов?
40 Garykom
 
гуру
11.07.15
15:28
(37)+ для начала в каком виде и где хранить кросс-коды (для синхронизации записей/сущностей)

(38) походу Вы сами ответили на свой вопрос (34)
41 Garykom
 
гуру
11.07.15
15:30
(39) где организовать и на чем? )) у них даже диалекты sql разные предлагаешь писать уникальную программулину?
которая сначала к одной БД запрос - потом к другой БД?

или сначала из одной выгружаем в текстовые файлы и потом в другую эти файлы загружаем... ?

немного странным не кажется?
42 Aleksey
 
11.07.15
15:34
(41)  Нашел чем удивить. Диалектами
1С легко позволяет обращаться на прямую и к скулю и xls файлу и к базе на firebird и к черту лысому, главное чтобы провайдер был. И диалект совсем не помеха. Народ даже PDF файлы парсит и читает.

Так же и firebird может через провайдера обращаться к любым данным. вообще не проблема
43 Garykom
 
гуру
11.07.15
15:36
(42) да уж... как представлю использование 1С с КД(3) в качестве конвертера между Oracle и IBM DB2... причем для постоянного онлайн обмена (налету) в обе стороны... так сразу "хорошо на душе" :)
44 Aleksey
 
11.07.15
15:37
(43) см (38)
Особенно "У каждой пули свое назначение"
45 Garykom
 
гуру
11.07.15
15:38
(42) а не проще ли изучить 1 небольшой упрощенный специализированный язык и затем его везде юзать, чем учить каждые особенности разных движков БД?
46 Aleksey
 
11.07.15
15:39
Не бывает универсального инструмента на все случае жизни. Есть инструменты наиболее подходящие для решения конкретной задачи. Ни кто не будет внедрять ERP 2.0 там где нужен простой складской учет (приход/расход)
47 Garykom
 
гуру
11.07.15
15:39
(44) хорошо, моя понять Ваше личное мнение.
48 Garykom
 
гуру
11.07.15
15:40
(46) ...
49 Aleksey
 
11.07.15
15:41
(45) Нет не проще, потому что закон Парето.
Ты за 20% времени покроешь 80% функционала. А на оставшие 20% ты будешь тратить 80% своего времени, вместо того чтобы взять специализированный инструмент и сделать это всё в 10 раз быстрее
50 Garykom
 
гуру
11.07.15
15:44
(49) этот закон действует и в обратную сторону!

и чтобы решить 20% оставшегося функционала Вы своими методами затратите 80% времени...

вместо того чтобы взять специализированный инструмент типа (0)
51 Aleksey
 
11.07.15
15:44
(48) 1С-ник не будет изучать твой инструмент, потому что у него есть 1С и наработки. Ему проще взять 1С и написать обмен на 1С, даже если нужен обмен из Oracle и IBM DB2

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

Твоя программа нужна для студента, который ничего не знает. Ему проще изучить какой то универсальный механизм, чем куча специализированных
52 Aleksey
 
11.07.15
15:46
(50) А вот поэтому "...во все все визуальные системы рисования/черчения/конструирования обязательно встраивают выполнение произвольны скриптов, на своем языке..." чтобы покрыть эти 20%
53 Garykom
 
гуру
11.07.15
15:46
(51) спасибо, я уже понял ;)

и насчет надо ли мне это прошу за меня не решать... как и за неких "1С-ник не будет" и "Тоже и абапер" :D
54 Aleksey
 
11.07.15
15:47
т.е. я из 1С смогу вызвать процедуры и методы другого языка
55 Garykom
 
гуру
11.07.15
15:48
(52) где в моих постах виден отказ вставить графическую хре....ну аналогично чтобы покрыть кого надо, как надо и когда надо ))
56 Garykom
 
гуру
11.07.15
15:49
действительно смешно когда "настоящий 1С-ник" ... ))
57 Drac0
 
11.07.15
16:10
(22) Во взрослому интеграция должна идти с участием MDM-систем и интеграционного пространства. Как обмен будет идти в индивидуальных случаях - пофиг. Но мне больше понравился веб-сервис с описанием типов через XDTO.
58 Индиго
 
11.07.15
16:16
до смешного доходит- до чего люди не хотят учить КД. Готовы свой земной шар изобрести с цивилизациецией -только бы не это
59 Garykom
 
гуру
11.07.15
16:17
(57) MDM - это хорошо! Только вот отсутствие любых стандартов это плохо :(

а насчет веб-сервисов и XDTO это уже частности реализации, но ручками xml писать это помереть можно.

"Визуальный конструктор" тут сильно поможет, но хочется добавку к нему (или наоборот основное это как посмотреть) в виде "языка программирования"
60 Garykom
 
гуру
11.07.15
16:19
(58) КД2 знаю, КД3 посмотрел и понял что пока рано (хотя идеи неплохие заложены, надеюсь не будет как обычно с реализацией)

ЗЫ где в ветке я хоть раз сказал что нужно для 1С ?
61 Aleksey
 
11.07.15
17:14
(60) Как минимум хотя бы то что ветка находиться на форуме 1С-ников. И По дефолту все понимают что речь о 1С. Тем более в (0) не слово о том что речь не об 1С. Не так ли?
62 Garykom
 
гуру
11.07.15
17:17
(61) спасибо КЭП!
63 Garykom
 
гуру
13.07.15
14:05
С созданием промежуточных объектов проблем нет можно по аналогии с SQL:
CREATE OBJECT Kontragent(
   DB1Code string,
   DB2Code string,
   Name string,
   KI arrayof (...)
);

Траблы с тем как сопоставление данных между БД - Объектная модель указывать, с некими правилами конвертации в обе стороны
64 Гёдза
 
13.07.15
14:11
(0) Ты идешь по пути КД 3.0
Там это уже реализовано
65 Garykom
 
гуру
13.07.15
14:18
(64) again 25

ЗЫ это не для 1С... а для "реляционных бд"
66 Garykom
 
гуру
13.07.15
14:20
(65)+ с различными ORM и JPA знаком, работал/юзал

хочу расширение для удобной конвертации, точнее чтобы можно было быстро и понятно другим сделать эту конвертацию и если что поправить
67 Гёдза
 
13.07.15
14:22
(65) Те ты хочешь свою КД3 для любых реляционных данных?
Не всегда есть прямое соответствие между данными, иногда приходится код писать
68 Garykom
 
гуру
13.07.15
14:26
(67) Да.
Согласен но хочу чтобы код было "легче писать", в неком стиле sql но с объектами
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс