#java #sql #oracle
#java #sql #Oracle
Вопрос:
Мне нужно создать таблицу в Oracle / SQL, и данные будут загружаться через приложение Java / C # через CSV с 50 полями (сопоставленными столбцам таблицы). Как спроектировать таблицу / БД с учетом приведенных ниже ограничений при импорте данных из CSV
- В CSV могут быть добавлены новые поля к существующим 50 полям.
В этом случае вместо добавления столбца в таблицу вручную и загрузки данных. Как мы можем спроектировать таблицу для плавной / автоматической обработки файлов с динамическими полями
ПРИМЕР:
В CSV есть поля S_ID, S_NAME, SUBJECT, MARK_VALUE
------ --------- ------------- ------------
| S_ID | S_NAME | SUBJECT | MARK_VALUE |
------ --------- ------------- ------------
| 1 | Stud | SUB_1 | 50 |
| 2 | Stud | SUB_2 | 60 |
| 3 | Stud | SUB_3 | 70 |
------ --------- ------------- ------------
Что, если в CSV добавлено новое поле «RANK» (похожие поля), и мне нужно сохранить все новые поля в таблице.
Пожалуйста, предложите дизайн БД для этого рассмотрения
Ответ №1:
Итак, мне приходит в голову несколько подходов, одним из которых было бы размещение информации о метаданных (записи) в одной таблице (имя столбца, тип данных, любое ограничение) и наличие другой таблицы произвольной формы с достаточно большим количеством столбцов, в которых будут храниться данные. Используйте таблицу метаданных при вставке данных в эту таблицу для поддержания целостности данных и прочего.