Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 07.03.2019
Сообщений: 6

Заполнить БД большим количеством значений

12.03.2019, 22:55. Показов 4092. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Спроектирована база данных "Доставка товаров". Сложности вызывает заполнения связанных таблиц Заказ - ЗаказДоставка - Доставка для последующего анализа данных за год. Вручную заполнять не вариант, так получается несколько тысяч записей. Как заполнить связанные таблицы? При том особое внимание занимает таблица связка ЗаказДоставка. Важно, чтобы не возникло противоречий...и заказ соответствовал одной доставки, а в доставки могли быть несколько заказов.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.03.2019, 22:55
Ответы с готовыми решениями:

Работа с большим количеством полей
Здравствуйте! Подскажите пожалуйста как можно упростить такую задачу: Есть форма для ввода данных (317 полей с именами 1,2,3...317)....

Обработка формы с большим количеством Checkbox
Добрый день! Прошу совета по БД у знатоков. Сначала небольшая предыстория. Есть БД с инфо о проверках, в которой основная таблица Check....

Запрос к БД с большим количеством записей
Привет всем! Подскажите кто может, как уменьшить время запроса к базе mysql с 30 млн. записей? Запрос вида: SELECT * FROM...

13
Zero day
 Аватар для Meridian21
267 / 231 / 78
Регистрация: 16.12.2015
Сообщений: 943
Записей в блоге: 4
13.03.2019, 08:19
kovs1986, заполнить руками, согласно справочникам и таблицам. Либо, как весьма условная "альтернатива", выгрузить данные в эксель, нотпад ++, обработать их там макросами/etc и импортировать в БД, во временную таблицу, с переносом в целевую.
1
0 / 0 / 0
Регистрация: 07.03.2019
Сообщений: 6
13.03.2019, 14:27  [ТС]
Но ведь заполнять руками - это сутки можно потратить за это занятие.Даже если предположить, что за день доставляется 30 заказов, то в год их уже более 10000. Наверное и с ума можно сойти, пока все заполнишь. Просто все эти базы доставка товаров/еды и тд довольно популярная тема, но неужели нет способа автозаполнения какого-то. Это тестовая база, поэтому достаточно забить ее случайными заказами и товарами. Отдельно сгенерировать список заказов и и список доставок еще кое-как понимаю как сделать, а вот как сгенерировать таблицу состав доставка/заказ не пойму.
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
13.03.2019, 14:56
Цитата Сообщение от kovs1986 Посмотреть сообщение
как сгенерировать таблицу состав доставка/заказ
Какие проблемы? Во-внешнем цикле генерируешь заказ, запоминаешь id заказа. Во внутреннем цикле генерируешь несколько доставок. Затем заполняешь заказ-доставка c запомненным id заказа и каждым id доставки.
1
0 / 0 / 0
Регистрация: 07.03.2019
Сообщений: 6
13.03.2019, 15:09  [ТС]
Цитата Сообщение от Grossmeister Посмотреть сообщение
Какие проблемы? Во-внешнем цикле генерируешь заказ, запоминаешь id заказа. Во внутреннем цикле генерируешь несколько доставок. Затем заполняешь заказ-доставка c запомненным id заказа и каждым id доставки.
В том то и дело, что не владею каким либо сторонним языком программирования. Только SQL. Максимум, что могу сделать - сгенерировать данные через онлайн генераторы. Поэтому не совсем представляю, где использовать эти циклы.
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
13.03.2019, 15:11
и что мешает создать таблицу чисел и cross join (коль скоро
Цитата Сообщение от kovs1986 Посмотреть сообщение
Только SQL
)
а уж там как фантазия подскажет
1
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
13.03.2019, 16:01
Цитата Сообщение от kovs1986
В том то и дело, что не владею каким либо сторонним языком программирования. Только SQL
В большинстве SQL-серверов помимо чистого SQL есть еще и его процедурные расширения (например, в Oracle - PL/SQL, в MS SQL - Transact-SQL и т.д.), которые вполне позволяют реализовывать условия, циклы, запись в переменные и проч.).
1
411 / 365 / 142
Регистрация: 09.04.2011
Сообщений: 1,051
13.03.2019, 20:51
в данном случае можно и без циклов, переменных и т.д.
MySQL
1
insert into `таблица доставка/заказ` (`id_доставка`, `id_заказ`) select round(rand()*500), round(rand()*1000) from `таблица доставка/заказ`
удваивает кол-во записей в таблице `таблица доставка/заказ`, заполняя случайными числами от 0 до 500 и 0-1000
потом удалить лишнее, чтобы не было коллизий типа доставка несуществующего заказа - хороший повод освоить многотабличный delete
1
0 / 0 / 0
Регистрация: 07.03.2019
Сообщений: 6
13.03.2019, 21:57  [ТС]
Цитата Сообщение от retvizan Посмотреть сообщение
в данном случае можно и без циклов, переменных и т.д.
MySQLВыделить код
1
insert into `таблица доставка/заказ` (`id_доставка`, `id_заказ`) select round(rand()*500), round(rand()*1000) from `таблица доставка/заказ`
удваивает кол-во записей в таблице `таблица доставка/заказ`, заполняя случайными числами от 0 до 500 и 0-1000
потом удалить лишнее, чтобы не было коллизий типа доставка несуществующего заказа - хороший повод освоить многотабличный delete
1
Оно то все хорошо, но сейчас понимаю, что это не совсем случайные числа должны быть. Ведь номера доставок формируются по порядку (собственно как и номера заказов). Т.е. получается номера доставок будут набор возрастающих чисел с дублированием значений, а номера заказов - просто набор возрастающих чисел. Я ведь правильно понимаю? Как это обыграть?
PS. А если в эту таблицу еще добавить время получения доставки (учитывая что доставка работает не круглые сутки), а еще это время согласовать со временем оформления заказа в таблице заказ, то вообще уже каша в голове получается.
0
Эксперт .NET
 Аватар для Usaga
14127 / 9347 / 1350
Регистрация: 21.01.2016
Сообщений: 35,125
14.03.2019, 04:21
Номером можно смело взять ID записи. Если не планируется какой-то определённый формат номера иметь. По дату я не понял. Какие с ней проблемы?
1
0 / 0 / 0
Регистрация: 07.03.2019
Сообщений: 6
14.03.2019, 08:53  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Номером можно смело взять ID записи. Если не планируется какой-то определённый формат номера иметь. По дату я не понял. Какие с ней проблемы?
Дата завершения доставки в таблице "Доставка-Заказа" должна соответствовать дате регистрации заказа (которое генерируется рандомно в таблице "Заказ"+ какое время затраченное на доставку .Т.е если мы рандомно прогенерируем дата-время доставки, то оно будет противоречить дата-времени заказа. (может получится, что доставка завершена, раньше оформления заказа).
0
Эксперт .NET
 Аватар для Usaga
14127 / 9347 / 1350
Регистрация: 21.01.2016
Сообщений: 35,125
14.03.2019, 08:56
kovs1986, ну так генерируйте данные сразу целым связанным графом, а не отдельные записи. Т.е. генерируйте связанные пары заказ-доставка. Или когда будете генерировать данные для доставки опирайтесь на данные из заказа. Логично же?
1
0 / 0 / 0
Регистрация: 07.03.2019
Сообщений: 6
14.03.2019, 09:08  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
kovs1986, ну так генерируйте данные сразу целым связанным графом, а не отдельные записи. Т.е. генерируйте связанные пары заказ-доставка. Или когда будете генерировать данные для доставки опирайтесь на данные из заказа. Логично же?
Так вот и сложность в том, что не понимаю как генерировать связанные пары, так как пробую генерировать онлайн генераторами, а те что нашел, генерируют только отдельными таблицами. А те генераторы, которые с расширенными возможностями, соответсвенно платные. Я совсем новичок в этом деле...похоже упускаю в понимании каких-то азов.
0
Эксперт .NET
 Аватар для Usaga
14127 / 9347 / 1350
Регистрация: 21.01.2016
Сообщений: 35,125
14.03.2019, 09:17
kovs1986, а взять в руки какой-нибудь язык программирования? Или, на худой конец, процедуру наваять хранимую?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.03.2019, 09:17
Помогаю со студенческими работами здесь

Создание запроса с большим количеством значений у параметра
Всем доброго времени суток. Меня мучает один вопрос. Для таблице в БД со списком товаров нужно реализовать фильтр, по номеру, название и...

Программа с большим количеством форм
Стоит задача сделать программу с большим количеством форм ( около 50), т.е. на форме примерно какой-то текст типа задание, textbox для...

Работа с большим количеством pictureBox
Всем привет! Недавно начал изучать с# с windows forms, и вот возникла проблемка.. Есть поле из около 200 picture box, на которых будут...

График с большим количеством данных
Добрый день всем. Возникла задача - отобразить на графике большое количество данных - порядка 100 тысяч точек. При этом пользователь...

Пароль с большим количеством ключей
Доброго времени суток, имеется задумка сделать ввод пароля из множества ключей, т.е пароль не 1 а их к примеру 10 ключей которые подходят к...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru