Бывают ли автоматические нормализаторы структур данных?

OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Бывают ли автоматические нормализаторы структур данных?

Post by OtherSide »

C ORM работал, но довольно поверхностно. Не знаю, вообще есть ли следующая штука.
Знаю, как из JSON в VS сгенерировать структуру классов.
А можно ли пойти дальше? Проанализировать структуру JSON и автоматически получить рекомендации для нормализации? Например повторяется поле "Иванов" или там "Кг" - значит можно перенести в отдельную таблицу.
Алгоритмически должно быть несложно.

И еще попутно вопрос, а есть ли в ORM встроенная поддержка версий. Напрмер есть у группы таблиц поле version - где то один раз указать, что бы не каждый раз передавать в запросах .
tessob
Уже с Приветом
Posts: 549
Joined: 07 Jan 2016 13:04

Re: Бывают ли автоматические нормализаторы структур данных?

Post by tessob »

Если вы напишете ваш ORM tool, будет значительно проще чем-то помочь. К сожалению все экстрасенсы поокинули этот форум и сделали свой.
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: Бывают ли автоматические нормализаторы структур данных?

Post by OtherSide »

tessob wrote: 25 Sep 2018 17:36 Если вы напишете ваш ORM tool, будет значительно проще чем-то помочь. К сожалению все экстрасенсы поокинули этот форум и сделали свой.
Я пока не выбрал, но вообще раньше пользовался Entity Framework и NHibernate

Но это по моему вообще не про ORM, должна справлятся какая нибуть простая утилитка, или рисовалка структур, что-то такое
tessob
Уже с Приветом
Posts: 549
Joined: 07 Jan 2016 13:04

Re: Бывают ли автоматические нормализаторы структур данных?

Post by tessob »

А что не взять и не написать своё? Может я старомодный, но у меня так обычно получается избежать оверхеда и полученный результат всегда соответствует ожиданиям.

Попробуйте Jackson. Он довольно просто через аннотации все делает. Однако, я опасаюсь, что он, как и я, не сильно вам поможет с ‘нормализацией’. Просто нифига не понятно, что вы под этим подразумеваете.
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: Бывают ли автоматические нормализаторы структур данных?

Post by OtherSide »

tessob wrote: 25 Sep 2018 18:51 А что не взять и не написать своё? Может я старомодный, но у меня так обычно получается избежать оверхеда и полученный результат всегда соответствует ожиданиям.

Попробуйте Jackson. Он довольно просто через аннотации все делает. Однако, я опасаюсь, что он, как и я, не сильно вам поможет с ‘нормализацией’. Просто нифига не понятно, что вы под этим подразумеваете.
ищу тулзу как раз для того, что бы не писать свое
под нормализацией понимаю вторую нормальную форму, разнесение по ключам, я вроде написал
сканировало строки на повторяющиеся записи и создавало справочники
User avatar
Boriskin
Уже с Приветом
Posts: 18906
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Бывают ли автоматические нормализаторы структур данных?

Post by Boriskin »

Жаба, хайбернейт, ентити манагерс, спринг + jackson JSON to Java entity etc. Вам туда дорога.
Тупизна как Энтропия. Неумолимо растет.
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: Бывают ли автоматические нормализаторы структур данных?

Post by OtherSide »

Во первый я пишу под .net

во вторых, ну хибернейт, дальше?

Вот есть например одна большая таблица с 20 колонками и кучей повторяющихся полей. Хочу на выходе 5 отдельных таблиц, с со сгенеренными ключами, что бы занимало меньше места в памяти в 10 раз. Конкретно что для этого надо сделать?
Palych
Уже с Приветом
Posts: 13682
Joined: 16 Jan 2001 10:01

Re: Бывают ли автоматические нормализаторы структур данных?

Post by Palych »

OtherSide wrote: 25 Sep 2018 19:05 Вот есть например одна большая таблица с 20 колонками и кучей повторяющихся полей. Хочу на выходе 5 отдельных таблиц, с со сгенеренными ключами, что бы занимало меньше места в памяти в 10 раз. Конкретно что для этого надо сделать?
"На выходе" - это где?
Хотите чтобы структура базы изменилась? Чтобы она нарисовала скрипты для изменения и переноса данных?
Или чтобы внутри хранить не так как оно в базе?
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: Бывают ли автоматические нормализаторы структур данных?

Post by OtherSide »

Palych wrote: 25 Sep 2018 20:45
OtherSide wrote: 25 Sep 2018 19:05 Вот есть например одна большая таблица с 20 колонками и кучей повторяющихся полей. Хочу на выходе 5 отдельных таблиц, с со сгенеренными ключами, что бы занимало меньше места в памяти в 10 раз. Конкретно что для этого надо сделать?
"На выходе" - это где?
Хотите чтобы структура базы изменилась? Чтобы она нарисовала скрипты для изменения и переноса данных?
Или чтобы внутри хранить не так как оно в базе?
Положим, залил один Json, а на выходе - 5. Ну или какой нибуть другой универсальный формат
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: Бывают ли автоматические нормализаторы структур данных?

Post by OtherSide »

Попробую добавить немного конкретики. Я тут доламал одну программку с кучей данных, хочу сделать веб версию. Пока данные просто серилизовал в JSON, VS мне легко отдал сгенерированные под них классы. Но с JSON понятно можно работать только в режиме демки, рано или поздно надо залить в БД.
Не очень хочется делать кучу рутинной работы.
Вот бы нашлась тулза, которая разковыряет этот JSON в кучу нормализоаваных других JSON, из которых можно нагенерить классов.
Ну а классы насколько я знаю уже можно будет легко запихать в ORM code2database.

Еще короче: хочу один кривой Json => прямая и красивая структура DB Mssql
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: Бывают ли автоматические нормализаторы структур данных?

Post by OtherSide »

http://pojo.sodhanalibrary.com/convertJsonToSQL.html

вот даже нагуглил что то, но хотелось бы что то посерьезней
tessob
Уже с Приветом
Posts: 549
Joined: 07 Jan 2016 13:04

Re: Бывают ли автоматические нормализаторы структур данных?

Post by tessob »

OtherSide wrote: 25 Sep 2018 18:54под нормализацией понимаю вторую нормальную форму, разнесение по ключам, я вроде написал
сканировало строки на повторяющиеся записи и создавало справочники
У JSON ассоциативный массив (штука с ключами) - это только одна из нескольких форм представления данных. Есть ещё листы. Если вам нужно что-то сгруппировать по ключу, то для этого не нужно делать 5 файлов. Можно присвоить ключу лист листов и у вас получится «таблица». У вас же объектно ориентированный язык. JSON отлично подходит для описания композиции данных.

Вы уверены, что хорошо понимаете json как стандарт?
KinDzaDza
Уже с Приветом
Posts: 2272
Joined: 29 Jul 2005 17:39
Location: Калифорнийский Мухосранск

Re: Бывают ли автоматические нормализаторы структур данных?

Post by KinDzaDza »

OtherSide wrote: 25 Sep 2018 20:59 Попробую добавить немного конкретики. Я тут доламал одну программку с кучей данных, хочу сделать веб версию. Пока данные просто серилизовал в JSON, VS мне легко отдал сгенерированные под них классы. Но с JSON понятно можно работать только в режиме демки, рано или поздно надо залить в БД.
Не очень хочется делать кучу рутинной работы.
Вот бы нашлась тулза, которая разковыряет этот JSON в кучу нормализоаваных других JSON, из которых можно нагенерить классов.
Ну а классы насколько я знаю уже можно будет легко запихать в ORM code2database.

Еще короче: хочу один кривой Json => прямая и красивая структура DB Mssql
Может уже и не надо, но далеко не всегда нормализация - панацея от всех бед. Все зависит от конкретных запросов и обьема данных. Джойнить миллионные таблицы с фильтрацией и сортировкой - то еше занятие.
Без понимания как это все за кадром устроено в каком-нибудь магическом фрэймворке можно потом отлично поскакать на граблях. Когда будет уже довольно поздно что-либо менять.

Return to “Вопросы и новости IT”