|
0 / 0 / 0
Регистрация: 24.03.2016
Сообщений: 5
|
||||||
Разделить таблицу по столбцам, сохраняя связи31.03.2016, 08:57. Показов 2180. Ответов 9
Добрый день. Есть таблица (содержит 25 колонок, для примера привожу 4) примерного вида:
Вопрос: можно как-то разделить эту таблицу на множество таблиц в автоматическом режиме (каждый столбец в отдельную таблицу), сохраняя связи и не плодя дубликатов в рамках одной таблицы? Используется SQLite либо MySQL.
0
|
||||||
| 31.03.2016, 08:57 | |
|
Ответы с готовыми решениями:
9
Перенести данные из одной БД в другую сохраняя связи
|
|
Zero day
|
|
| 31.03.2016, 09:19 | |
|
Tenkof, все зависит от того, что хранит твоя таблица? В плане данные о каких объектах. Если объектов (сущностей) несколько, то их можно разнести по разным таблицам, если сущность одна, то возможно, можно вынести некоторые атрибуты в отдельные таблицы-справочники. Вот у тебя "разные предметы", может эти самые предметы (атрибуты их) хранить в разных таблицах?
0
|
|
|
0 / 0 / 0
Регистрация: 24.03.2016
Сообщений: 5
|
|
| 31.03.2016, 10:23 [ТС] | |
|
Именно это мне и нужно - каждый столбец представляет собой сущность. Поэтому и требуется выделить столбцы в отдельные таблицы (сущности). Возможно я не совсем правильно выразился.
Вручную 41 тысячу строк тяжеловато разносить. (уникальных значений на столбец-сущность около 1,5 тыс).
0
|
|
|
Модератор
|
|||||||||||||||||||||
| 31.03.2016, 11:01 | |||||||||||||||||||||
надо более реальный пример
0
|
|||||||||||||||||||||
|
Zero day
|
|
| 31.03.2016, 11:10 | |
|
Tenkof, так, сущность - это описываемый объект, а в столбце хранится атрибут (характеристика объекта).
Судя по таблице в примере, есть таблица, что-то вроде "Товары" и имеются данные. Получается что-то вроде этого: Номер| Имя | Цвет | Параметр 3228 | Принтер | Синий | ... 3228 | Принтер | Красный |... 3229 | Сканер | Зеленый |... Верно? Т.е. каждый "новый" товар (товар, у которого отличается одно значение поля) заносится новой строкой? --- Можно попробовать вынести отдельные предметы по отдельным таблицам, предварительно продумав связи с другими таблицами. Т.е. если получается, что строка - это одно из возможных состояний объекта, сделать несколько таблиц с разными предметами (объектами) и перенести туда записи из этой таблицы. Ну а связи со всем остальным настроить по ключам. У каждой новой таблицы будет суррогатный ключ, по которому можно будет настроить связь. Также можно попробовать вынести некоторые атрибуты в справочники, но это не сильно поможет.
0
|
|
|
0 / 0 / 0
Регистрация: 24.03.2016
Сообщений: 5
|
|
| 31.03.2016, 11:52 [ТС] | |
|
Meridian21, shanemac51,
пример.xlsx Пытаюсь сделать такую базу. (Ошибок многовато, но лучше пока не придумал).
0
|
|
|
Zero day
|
|
| 31.03.2016, 12:46 | |
|
Tenkof,
Составное поле "способ и время обработки" - разбивай на 2 поля. "Способ", "Время обработки". Способы можно вынести в отдельный справочник, время можно оставить в таблице и заполнять значение для каждой записи. Если это какие-то фиксированные связки, типа "обработка_1 - 35 минут", "обработка_2 - 24 минуты", то тогда просто поменяй название поля, т.к. не должно быть никаких "и" в названии. Если можно разнести препараты по какому-то типу по разным таблицам - можно это сделать. А это вообще что за препараты? Медицина?
0
|
|
|
0 / 0 / 0
Регистрация: 24.03.2016
Сообщений: 5
|
|
| 31.03.2016, 18:52 [ТС] | |
|
Meridian21, Это пестициды и некоторые другие связанные препараты. Можно конечно выделить где-то 4 больших, и 5 малых групп, но пока что это не так важно.
Есть возможность заполнить мою базу из структурированного XLS файла? Пока, все что нашел по этому поводу, требует продвинутых навыков программирования и знание специфичных библиотек, чем я не обладаю.
0
|
|
|
Модератор
|
|
| 31.03.2016, 19:35 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 24.03.2016
Сообщений: 5
|
|
| 31.03.2016, 20:00 [ТС] | |
|
shanemac51,http://service.mcx.ru/opendata... 150519.xml - полная версия.
Во вложении небольшой кусочек + .xsd схема (чтобы не тратить ваш трафик).
0
|
|
| 31.03.2016, 20:00 | |
|
Помогаю со студенческими работами здесь
10
Разделить содержимое файла по столбцам Разделить текст по столбцам в Excel Добавление записей в таблицу и связанную с ней таблицу, с учётом связи Расчёт по двум столбцам и запись в другую таблицу Добавление записей в таблицу из другой таблицы по совпадающим столбцам Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|