|
|
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Имеется таблица: IDRegionFauna1Xalx golAll. sibirica; Ap. agrarius; Cl. rufocanus; Cl. rutilus; Cr. barabensis; D. sagitta; Las. brandtii; M. sibirica; Mer. unguiculatus; Micr. minutus; Microt. gregalis; Microt. maximowiczii; Microt. mongolicus; Mus musculus; Myosp. psilurus;2Cagaan-OvooAll. sibirica; Alt. semicanus; Ap. peninsulae; Cr. barabensis; Las. brandtii; M. sibirica; Mer. unguiculatus; Micr. minutus; Microt. gregalis; Microt. mongolicus; Mus musculus; Myosp. aspalax; Och. dauurica; Ph. campbelli; R. norvegicus;3ChoibalsanAll. sibirica; Ap. peninsulae; Cr. barabensis; Las. brandtii; M. sibirica; Mer. unguiculatus; Micr. minutus; Microt. fortis; Microt. gregalis; Microt. mongolicus; Mus musculus; Myosp. aspalax; Och. dauurica; Ond. zibethica; Ph. campbelli;4ChuluunxorootAll. sibirica; Ap. peninsulae; Cl. rutilus; Cr. barabensis; Las. brandtii; M. sibirica; Mer. unguiculatus; Micr. minutus; Microt. fortis; Microt. gregalis; Microt. mongolicus; Mus musculus; Myosp. aspalax; Och. dauurica; Ond. zibethica; ...и таких записей сотни. Надо это нормализовать. Как я понимаю, нужно превратить это в 3 таблицы: районы, виды и соединительную. Но вручную мало того что замаешься, так и наверняка кучу ошибок наделаешь. Можно ли как-то автоматизировать процесс через SQL запросы (MySQL)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 14:56 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
UlvHare, Китайским, судя по всему, в достаточном объеме владеете только Вы, чтобы увидеть там районы, виды и проч. Но если Вы знаете логику для нормализации, то все вполне можно сделать SQL командами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 15:14 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
UlvHareНадо это нормализовать. Вы уверены? Чего Вы хотите достигнуть данной нормализацией? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 15:32 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
UlvHare...и таких записей сотни. Надо это нормализовать. Как я понимаю, нужно превратить это в 3 таблицы: районы, виды и соединительную. Но вручную мало того что замаешься, так и наверняка кучу ошибок наделаешь. Можно ли как-то автоматизировать процесс через SQL запросы (MySQL)? Можно, и лучше через хранимые процедуры. фетчишь старую запись, парсишь строку Fauna, вставляешь все новые записи в цикле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 15:40 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, если невнятно задал вопрос. "Китайского" (точнее, монгольского) здесь только названия регионов (2-й столбец: Region). Ну вот так монголы называют свои районы :-) Каждая ячейка в столбце "Fauna" в имеющейся таблице - это список видов, найденных в данном регионе. Регионы уже уникальны, так что с 1-й таблицей всё просто: regions ID_region Region1Xalx gol А вот как выцарапать уникальные названия видов из "Fauna" в отдельную таблицу: species ID_species name1All. sibirica2Mus musculus3Cl. rufocanus и тем более, сохранить связи: reg_spec ID_regionID_species1113 ...я не представляю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 15:43 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovUlvHareНадо это нормализовать. Вы уверены? Чего Вы хотите достигнуть данной нормализацией? Почти уверен. Достичь хочу поиска наличия видов по районам и наоборот. Кроме того, есть ещё данные по районам (растительность, влажность, etc.), и треба выяснять зависимость, скажем, наличия красной полёвки (Cl. rutilus) от влажности в регионе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 15:50 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
MasterZivМожно, и лучше через хранимые процедуры. фетчишь старую запись, парсишь строку Fauna, вставляешь все новые записи в цикле. А можно поподробнее? В смысле пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 15:56 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
UlvHareДостичь хочу поиска наличия видов по районам и наоборот. В таком случае следует пойти в раздел MySQL и спросить как разделить строку на части по известному разделителю, а потом эти части распихать в таблицы. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 16:10 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
UlvHareMasterZivМожно, и лучше через хранимые процедуры. фетчишь старую запись, парсишь строку Fauna, вставляешь все новые записи в цикле. А можно поподробнее? В смысле пример. А в смысле пример -- это уже будет взять и за тебя написать. Я в общем не против, если мне заплатят. И дёшево я не беру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 16:10 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovВ таком случае следует пойти в раздел MySQL и спросить как разделить строку на части по известному разделителю, а потом эти части распихать в таблицы. Спасибо! Навели на мысль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 16:38 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
MasterZivА в смысле пример -- это уже будет взять и за тебя написать. Я в общем не против, если мне заплатят. И дёшево я не беру. Сразу видно профессионала :-) К сожалению, ни я лично, ни весь бюджет нашей лабы на услуги профессионального разработчика не тянем. Так что, учиться, учиться и учиться :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 16:51 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
UlvHareMasterZivА в смысле пример -- это уже будет взять и за тебя написать. Я в общем не против, если мне заплатят. И дёшево я не беру. Сразу видно профессионала :-) К сожалению, ни я лично, ни весь бюджет нашей лабы на услуги профессионального разработчика не тянем. Так что, учиться, учиться и учиться :-) Ну, успехов в учёбе... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 19:49 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
UlvHare, 1) скопировать содержимое самой длинной строки в пямать 2) выдавить в файд текстовый в Notepad 3) импортировать в Excel c разделителем ; 4) транспонировать в столбик 5) присвоить номера будет табличка списка особей Id_species|Name 6) импортировать в базу - получится справочник species дальше продолжать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 02:11 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
Alexander2UlvHare, 1) скопировать содержимое самой длинной строки в пямать 2) выдавить в файд текстовый в Notepad 3) импортировать в Excel c разделителем ; 4) транспонировать в столбик 5) присвоить номера будет табличка списка особей Id_species|Name 6) импортировать в базу - получится справочник species дальше продолжать? Такой номер прокатит только если, самая длинная строка включает в себя весь спектр наименований, что далеко не обязательно. Я так понял что разделитель мы имеем..точка с запятой, а значит..сохранить все данные в массив, удалить дубликаты, после этого создать справочник. Я бы использовал что то типа perl, python. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 11:54 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
guest121Я бы использовал что то типа perl, python. там это нинах не нужно, достаточно SQL команд, если с умом подходить к вопросу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 12:57 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
Alexander2UlvHare, 1) скопировать содержимое самой длинной строки в пямать 2) выдавить в файд текстовый в Notepad 3) импортировать в Excel c разделителем ; 4) транспонировать в столбик 5) присвоить номера будет табличка списка особей Id_species|Name 6) импортировать в базу - получится справочник species дальше продолжать? Это изврат, а если там справочник в тысячи наименований? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 12:57 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
Axeleronguest121Я бы использовал что то типа perl, python. там это нинах не нужно, достаточно SQL команд, если с умом подходить к вопросу. Конечно достаточно, может дело в привычке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 13:55 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
UlvHareМожно ли как-то автоматизировать процесс через SQL запросы (MySQL)? Сама постановка вопроса - неправильная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 13:55 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
Wilhelm HoltoffUlvHareМожно ли как-то автоматизировать процесс через SQL запросы (MySQL)? Сама постановка вопроса - неправильная. Вот именно на эту мысль и навёл меня уважаемый Dimitry Sibiryakov . Подумав-полазив по Инету, нашёл несколько решений: 1а) На SQL свет клином не сошёлся. Тупо перегоняя таблицу туда-сюда в/из CSV с разными разделителями, получаю колонки по всем видам, SQL-ом получаю список уникальных. 1б) На MySQL тоже свет клином не сошёлся. В Postgresql есть милая функция regexp_split_to_table() , чуть более по-иному позволяющая опять-таки получить список уникальных видов. 1в) Здесь же на форуме есть описание конкретно на MySQL через хранимые процедуры и десяток аналогичных в Инете. Но геморройно, актуально только если жёстко привязан к MySQL. 2) Как SELECT-ами из итогов пункта 1 получить связи уже сам допетрил. Всем большое спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 17:27 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
UlvHareWilhelm Holtoffпропущено... Сама постановка вопроса - неправильная. Вот именно на эту мысль и навёл меня уважаемый Dimitry Sibiryakov . Подумав-полазив по Инету, нашёл несколько решений: 1а) На SQL свет клином не сошёлся. Тупо перегоняя таблицу туда-сюда в/из CSV с разными разделителями, получаю колонки по всем видам, SQL-ом получаю список уникальных. 1б) На MySQL тоже свет клином не сошёлся. В Postgresql есть милая функция regexp_split_to_table() , чуть более по-иному позволяющая опять-таки получить список уникальных видов. 1в) Здесь же на форуме есть описание конкретно на MySQL через хранимые процедуры и десяток аналогичных в Инете. Но геморройно, актуально только если жёстко привязан к MySQL. 2) Как SELECT-ами из итогов пункта 1 получить связи уже сам допетрил. Всем большое спасибо! Но на SQL это тоже решается довольно легко. Я только не нашёл сходу функцию аналогичную regexp_split_to_table. Там конечно было бы не _to_table, но в цикле можно было бы брать первое подвыражение, второе и так далее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 21:02 |
|
||
|
Преобразование таблицы в 1нф (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
UlvHareВот именно на эту мысль и навёл меня уважаемый Dimitry Sibiryakov . Подумав-полазив по Инету, нашёл несколько решенийНу и замечательно. А я уж было начал думать, что вам процесс важнее результата. Поэтому, когда задаёте вопрос - всегда излагайте то, что вы в итоге хотите получить ( а вовсе не ваше видение процесса получения ...). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 09:22 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=22&tid=1540602]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 250ms |
| total: | 379ms |

| 0 / 0 |

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