2016-03-17 5 views
0

Один для гуру определения данных SQL: У меня есть файл мэйнфреймов, в котором есть около 35-100 разных типов записей. В зависимости от типа записи макет и каждый столбец переопределяются. Любой столбец любой другой записи может быть другой длины или типа. Я не очень хочу разбить эту штуку на 35-100 разных таблиц и связать их вместе. Я выяснил, что postgres имеет% ROWTYPE с записями с курсором или таблицей. Однако во всех примерах данные выглядели одинаково. Как настроить таблицу, которая будет обрабатывать это и какие запросы sql потребуются для возврата данных? Не нужно быть postgres, но это единственное, что я мог найти, похоже на мою проблему.несколько разных типов записей в одном файле должны быть преобразованы в таблицу sql

+0

Вы действительно должны разделить данные на нормализованную структуру. Это спасет вас еще больше головных болей в будущем, когда вам нужно будет запросить данные. – Rabbit

ответ

0

Сначала я бы сделал таблицу со всеми полями типа TEXT. TEXT является переменной, поэтому он занимает только необходимое пространство, поэтому он работает очень хорошо. Оттуда вам может быть проще перемещать данные в более качественные таблицы, если некоторые данные лучше с более конкретным типом данных.

Это проще сделать в этом порядке, потому что массивная вставка с COPY очень разборчива ... так что с ТЕКСТом вы просто беспокоитесь о количестве столбцов и получите их там.

EDIT: Я имею в виду Postgres с этим ответом. Не уверен, нужен ли вам другой ответ на конкретный БД.