|
|
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
В БД есть 1 таблица с данными в столбцах: 1. номер + дата 2. наименование организации + форма 3. полный адрес + индекс 4. виды деятельности 5. банковские реквизиты и т.д. Стоит задача сделать из этой таблицы нормальную БД. Как бы попроще вытащить данные, корректно подробить их и рассовать по структуре связанных таблиц в БД? ПС. вопрос не по созданию структуры БД, а по процедуре распределения данных из 1-ой таблицы в другие. Делать руками - просто не реально долго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 13:01 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
AIS, номер + дата - номер чего? и дата чего? Это просто перечень организаций? Или одна организация может встречаться много раз, с разными "и т.д." ? Для каких целей, запросов предполагается использовать эту информацию? Вполне может получиться так, что правильным ответом будет "оставить как есть". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 13:05 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
AISКак бы попроще вытащить данные, корректно подробить их и рассовать по структуре связанных таблиц в БД? alter table на добавить нужные столбцы; insert select на рассовать; merge на заменить денормализованные данные ссылками; alter table на удалить ненужные столбцы и создать FK. В чём проблема-то? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 13:09 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
Виды деятельности вынести в отдельный справочник. Банковские реквизиты тоже в отд.таблицу (один-ко-многим). Их может быть несколько, в т.ч. неактуальных. Адресов тоже может быть несколько в т.ч. неактуальных. Сделать пустые таблицы и перелить в них запросами. В справочниках появятся ключи. Потом по связке наименований сделать правильные ссылки. зы: наймите специалиста (с) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 13:09 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
AIS вопрос не по созданию структуры БД, а по процедуре распределения данных из 1-ой таблицы в другие. Делать руками - просто не реально долго. Наверное это в топик по вашей СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 13:36 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
Ещё раз повторю. Вопрос не о создании структуры БД и т.п., а о том как вывести соответствующим образом данные из 1-ой таблицы в другие. Например, столбец "банковские реквизиты". Данные в нем идут как перечесление реквизитов (р/счет, наименование банка, мфо, валюта, тип р/счета и др.) через запятую, а иногда добавлен и перевод строки (если строка была длинной). Как мне значение в этом столбце, которое имеет кучу инфы, разделить и перенести в соответствующие одноименные столбцы новой созданной таблицы под названием допустим "банковские реквизиты"? ПС. 1-ая таблица была создана в ворде и велась многие годы разными людьми. Теперь задача сделать из неё БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 17:01 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
baracsНаверное это в топик по вашей СУБД. А пока о СУБД и не думали. Подумал, что надо сначала оттолкнуться от теории и практики решения такой задачи. Если решений нормальных нет и все-таки надо будет, что-то переносить "руками", то браться не буду. Пусть и далее, как и ранее много лет, вводят в таблицу в ворде и там же ищут, что им нужно. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 17:09 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
AISКак мне значение в этом столбце, которое имеет кучу инфы, разделить и перенести в соответствующие одноименные столбцы новой созданной таблицы под названием допустим "банковские реквизиты"? Никак. Банковские реквизиты это единый и неделимый атрибут организации. Выносить его в отдельную таблицу не имеет смысла. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 17:13 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
AIS, Ваша задача является примером ETL. Волшебной кнопки "сделать все зашибись" - нет, придется возиться с каждым полем, и часть значений, возможно, вносить руками. Со справочниками - получить список уникальных значений соответствующего поля, найти среди них логические дубликаты, построить таблицу соответствий "такое-то значение меняется на такое то", создать справочник, прописать в таблицу ссылки на строки справочника вместо текстовых полей. Для разделения значений через запятую - регулярные выражения, внешние функции на процедурных языках, etc. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 17:44 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovНикак. Банковские реквизиты это единый и неделимый атрибут организации. Выносить его в отдельную таблицу не имеет смысла.Напротив, имеет. У одной организации может быть несколько счетов в разных банках. Соответственно, возникает несколько комплектов из наименования банка, БИК-а, номера счета и номера коррсчета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 17:45 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
AISПусть и далее, как и ранее много лет, вводят в таблицу в ворде и там же ищут, что им нужно. :)А почему бы не в Excel-е? Вполне себе решение для наколенной автоматизации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 17:46 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
miksoftУ одной организации может быть несколько счетов в разных банках. Да, эти грабли я проходил ещё в прошлом веке и тогда я тоже делал отдельную табличку банковских реквизитов. В конечном итоге всё таки свелось к "мы работаем с этой организацией только через этот счёт, остальные убрать". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 17:49 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
miksoftAISПусть и далее, как и ранее много лет, вводят в таблицу в ворде и там же ищут, что им нужно. :)А почему бы не в Excel-е? Вполне себе решение для наколенной автоматизации. Откровенно говоря, я таблицу ворд перевел в ексель таблицу, а потом залил её в БД, но от этого легче не стало. Стоит задача не только создать БД, но и (что интересней в перспективе и экономически привлекательно) систему управления ею. Dimitry SibiryakovmiksoftУ одной организации может быть несколько счетов в разных банках. Да, эти грабли я проходил ещё в прошлом веке и тогда я тоже делал отдельную табличку банковских реквизитов. В конечном итоге всё таки свелось к "мы работаем с этой организацией только через этот счёт, остальные убрать". Да, речь не об одной организации, у которой несколько счетов, при чем несколько в одной валюте, но один, основной, т.е. с которым в основном работают, а речь идет, что организаций много и счетов у каждой может быть не один, поэтому планировал, что должна быть отдельная таблица + таблица на банк (ключ МФО), но речь не об этом. Не хочется делать что-либо руками, т.е. переносить в ручную, т.к. записей в этой таблице за годы накопилось более 10 тыс. Тут либо автоматом сделать, либо ни как. Есть вариант, конечно, промежуточный "а бы как", а далее пусть "вычитывают", редактируют", но это только себе в ущерб. Кот МатроскинAIS, Ваша задача является примером ETL. Волшебной кнопки "сделать все зашибись" - нет, придется возиться с каждым полем, и часть значений, возможно, вносить руками. Со справочниками - получить список уникальных значений соответствующего поля, найти среди них логические дубликаты, построить таблицу соответствий "такое-то значение меняется на такое то", создать справочник, прописать в таблицу ссылки на строки справочника вместо текстовых полей. Для разделения значений через запятую - регулярные выражения, внешние функции на процедурных языках, etc. Ваш комментарий вселяет надежду :) Создание справочников, удаление дубликатов и т.п. - не проблема. С регулярными выражениями тоже знаком. Но как их применить, чтобы все автоматизировать, для меня загадка. Может есть какая ссылка на пример или мануал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 20:03 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
AIS Но как их применить, чтобы все автоматизировать, для меня загадка. Автоматизировать что именно? В идеале у Вас должна получиться последовательность скриптов, на входе которых "грязная" таблица, на выходе - несколько "чистых". Если Вам в целом понятно, как написать скрипт каждого конкретного шага - что вызывает непонимание? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 20:15 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинAIS Но как их применить, чтобы все автоматизировать, для меня загадка. Автоматизировать что именно? В идеале у Вас должна получиться последовательность скриптов, на входе которых "грязная" таблица, на выходе - несколько "чистых". Если Вам в целом понятно, как написать скрипт каждого конкретного шага - что вызывает непонимание? Отличная формулировка моей задачи, это и надо. Но если - да в "целом понятно", то с реализацией - нет, т.е. со скриптами (вкл.рег.выражения) ничего не понятно. Все, что сейчас приходит на ум - это состряпать какую-то систему упраления этой БД и программно подробить эти данные и рассовать по новым таблицам. Но как мне кажется, Вы о другом говорите... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 20:46 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
AIS, Самый правильный ответ вам уже дали. См. 19637202 . Наймите специалиста. Он вам и базу выберет и все реквизиты по полочкам разложит (если это, конечно, в принципе возможно). Иначе потом замучаетесь хелп на форуме искать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 21:00 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
EgoрAIS, Самый правильный ответ вам уже дали. См. 19637202 . Наймите специалиста. Он вам и базу выберет и все реквизиты по полочкам разложит (если это, конечно, в принципе возможно). Иначе потом замучаетесь хелп на форуме искать. 1. такой совет уже был и он меня не устроил. 2. такой путь - это перспектива вечно копаться в чужих скриптах, врагу не пожелаешь ;) Если у Вас есть опыт решения таких задач, поделитесь "устройством вашего велосипеда", не исключаю возможности перебросить на Вас как "специалиста" этот заказ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 21:38 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
AISСтоит задача не только создать БД, но и (что интересней в перспективе и экономически привлекательно) систему управления ею.А может лучше взять готовую CRM-систему? Создавать с нуля самому, конечно, интересней, но экономически привлекательно только на начальном этапе, пока система совсем простая. Если все же идти "самопальным" путем и в случае СУБД Оракл, то я бы сделал так: 1) Выгрузил данные в csv-файл с четкой разбивкой по полям (именно в тут мне видится наибольшая сложность не видя исходных данных). 2) Подключил его как внешнюю таблицу или просто залил бы в таблицу с аналогичной структурой 3) Создал нужные таблицы под все сущности, которые нужны - организация, банковские реквизиты, адреса, виды деятельности и т.п. 4) Запросом вида INSERT ALL ... SELECT ... разлил данные по таблицам. Собственно, мне когда-то доводилось разбирать ненормализованные данные таким образом. Если это не Оракл и команды INSERT ALL нет, то заменить комбинацией других команд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 21:40 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
AIS2. такой путь - это перспектива вечно копаться в чужих скриптах, врагу не пожелаешь ;)Зачем вечно-то? Задача по переносу данных, как я понял, единоразовая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 21:41 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
miksoftAISСтоит задача не только создать БД, но и (что интересней в перспективе и экономически привлекательно) систему управления ею.А может лучше взять готовую CRM-систему? Создавать с нуля самому, конечно, интересней, но экономически привлекательно только на начальном этапе, пока система совсем простая. Если все же идти "самопальным" путем и в случае СУБД Оракл, то я бы сделал так: 1) Выгрузил данные в csv-файл с четкой разбивкой по полям (именно в тут мне видится наибольшая сложность не видя исходных данных). 2) Подключил его как внешнюю таблицу или просто залил бы в таблицу с аналогичной структурой 3) Создал нужные таблицы под все сущности, которые нужны - организация, банковские реквизиты, адреса, виды деятельности и т.п. 4) Запросом вида INSERT ALL ... SELECT ... разлил данные по таблицам. Собственно, мне когда-то доводилось разбирать ненормализованные данные таким образом. Если это не Оракл и команды INSERT ALL нет, то заменить комбинацией других команд. Да, все так и обстоит. Первые 3 пункта уже решены. Не знаю как сделать п.4 - поделить данные, чтобы потом их залить по таблицам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 21:52 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
miksoftAIS2. такой путь - это перспектива вечно копаться в чужих скриптах, врагу не пожелаешь ;)Зачем вечно-то? Задача по переносу данных, как я понял, единоразовая. Перенос данных - конечно разовая, но есть перспектива долговременного сотрудничества по обслуживанию и созданию ситем управления и их поддержке. Пока задачу, которуя я озвучил толком никто ещё не решил, т.к. , как я понимаю, "руками" никто делать не хочет, а автоматизации переноса того, что наваяли за годы, пока увы не поддается. ПС. кстати, вордовский файл был один ХХХ метров, и в нем не общая таблица, а на каждый отчетный период дополнительная. Вот такой бред, который вылился в многолетнюю традицию. Но этот этап уже пройден - общая таблица с "грязными" данными уже в БД. А что делать дальше - задаю здесь вопросы. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 22:08 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
AISобщая таблица с "грязными" данными уже в БД.Целевые таблицы созданы? Показывайте пример исходных данных, DDL исходной и целевых таблиц, название СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 22:47 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
как перенести... долго и нудно. разбираясь с каждым столбцом - все ли одинаково заведено. эксель или аксесс для начала в помощь, потом уже в базу откуда-то заливать. что-то в любом случае и ручками придется добивать. или потом в базе или по ходу дела в экселе. Для примера. допустим, где-то в строках данных видите ООО Рога и Копыта, где-то ООО РОГА и КОПЫТА. где-то просто РОГА И копыта. ну и как понять, что это одно и то же? Частично - можно удалить ООО, ЗАО, ИП, ЧП (выделить в отдельный столбец) ... - эксель 10 тыс строк вполне потянет, есть функция поиска и замены. Потом допустим удалить незначащие пробелы впереди и позади. Потом перевести все в верхний регистр - тогда будет ясно, что РОГА И КОПЫТА все равны. потом уже сравнивать. Хотя это чисто для примера, конечно фирмы лучше смотреть по совпадению ИНН, а не названий. И такая песня с каждым столбцом... с банк реквизитами - если где-то нет Р\С или где-то нет БИК - смотреть лично глазами, забыли этот реквизит или забыли просто слово, обрабатывать вручную... и т.д. и т.п. То есть уникального рецепта никто не даст, чуда не случится, одной кнопкой "загрузить все!" без предварительной обработки входных данных обойтись не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 23:07 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
Стандартная задача реорганизации данный. Что ручками, что скриптами. Специалистов по этой теме полно. Всё зависит от объема данных и качества первичной информации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2016, 06:28 |
|
||
|
Создать полноценную БД из 1-ой таблицы
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovmiksoftУ одной организации может быть несколько счетов в разных банках. Да, эти грабли я проходил ещё в прошлом веке и тогда я тоже делал отдельную табличку банковских реквизитов. В конечном итоге всё таки свелось к "мы работаем с этой организацией только через этот счёт, остальные убрать". Ну что тут сказать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2016, 10:08 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=39305124&tid=1540289]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
152ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 273ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...