#java #mysql
Вопрос:
Несколько лет назад я разработал приложение для одного агентства, которое работает по назначению, за исключением того, что база данных с годами становится все больше и больше, это несколько замедлило производительность.Я решил переключить базу данных с помощью MYSQL.
Проблема в том, что я не знаю, как структурировать и реализовать мою старую базу, которая использует список объектов, где эти объекты также содержат список других объектов.
Например, у меня были:
ArrayListlt;Workergt; workers;
У каждого рабочего класса были некоторые данные, в том числе:
ArrayListlt;Salarygt; salaryList;
И у каждого класса заработной платы были некоторые данные, например salaryDate
, salaryAmount
, boolean cash
Было очень легко работать с Java и сохранять эти данные в файл, я просто сохраняю ArrayListlt;Workergt; workers
их в виде файла , и все данные, включая каждую зарплату, будут сохранены.
Теперь я спрашиваю, как реализовать все это с помощью базы данных MYSQL? Нужно ли мне создавать две отдельные таблицы, одну для всех работников и одну для всех зарплат, а затем как связать работников с их соответствующим списком зарплат? На данный момент в таблице зарплат я создал строку, в которую вставляю для каждой зарплаты идентификатор связанного с ней Работника. Таким образом, я могу знать, какая зарплата относится к какому Работнику, и , чтобы получить всю зарплату для конкретного Работника, я SELECT * FROM Salary WHERE worker_id=x
и я получаем правильные данные. Но я чувствую, что делаю что-то не так.
Я знаю, что на этот вопрос можно ответить где-то в другом месте, и я искал 2 часа. Пожалуйста, извините, если это дубликат. Спасибо.
Комментарии:
1. Ваш вопрос слишком общий, поскольку он подразумевает прохождение базового проектирования базы данных, сопоставлений и так далее. Я предлагаю вам прочитать об отношениях между таблицами, JDBC, JPA и тому подобном.