#mysql #database-design
#mysql #база данных-дизайн
Вопрос:
Недавно у меня появился проект по созданию скрипта для генерации последовательных ключей для программного обеспечения какой-то компании. Сначала моя идея заключалась в сохранении в разных таблицах MySQL для каждого программного обеспечения. От меня требовалось сгенерировать 2000 уникальных кодов ключей для каждого из их 10 программных продуктов. Услышав, что они запрашивают такое количество данных, я решил сохранить данные в разных текстовых файлах.
Теперь я думаю о сплошной таблице MySQL с 10 столбцами для каждого программного обеспечения и сохранением 2000 серийных ключей в столбцах в текстовом формате.
каждый последовательный ключ представляет собой код из 10 целых чисел и не повторяется.
они просят создать скрипт, который может генерировать серийные ключи для печати на компакт-дисках, и на их веб-сайте им нужен скрипт, который может получать серийный ключ от конечного пользователя и смешивать его с уникальным компьютерным ключом, закодированным и предоставляющим пользователям пароль.
В этом случае, я думаю, что сохранение в текстовых файлах — лучшая идея, поскольку база данных MySQL не справляется с таким гигантским объемом данных, но я не уверен в безопасности этого действия.
Моя проблема заключается в решении, которое я должен принять относительно дизайна базы данных моего проекта.
Что вы предлагаете?
Комментарии:
1. «В этом случае, я думаю, что сохранение в текстовых файлах — лучшая идея, поскольку база данных MySQL не справляется с таким огромным объемом данных, но я не уверен в безопасности этого действия». MySQL разработан для обработки больших объемов данных! В конце концов, это база данных . Кроме того, это не так много данных.
2. «В этом случае, я думаю, что сохранение в текстовых файлах — лучшая идея, поскольку база данных MySQL не справляется с таким огромным объемом данных, но я не уверен в безопасности этого действия». Я не фанат MySQL. Но ваше мышление по этому поводу настолько отсталое, что ставит под сомнение ваше суждение. Если вам небезразличен этот клиент, передайте его более опытному разработчику.
Ответ №1:
Я не понимаю, почему сохранение этих данных в базе данных MySQL может быть проблемой, например, вы можете создать две простые таблицы, подобные следующим :
Table : programs
-id - INT [PK]
-name - VARCHAR(50)
Table : serials
-id - INT [PK]
-p_id - INT [FK] ---> programs.id
-scode - INT (the program serial)
Одна таблица (программы) содержит список программы (это своего рода перечисление доступных программ), другая содержит серийный номер программы, относящийся к конкретной программе в таблице programs .
Комментарии:
1. Они говорят о 25000 последовательных ключах, и считывание такого объема данных и их сохранение зависит от высокой загрузки исходного кода сервера. Но если я решу сэкономить это количество на файлах, доступ будет простым и быстрым, но не уверенным в безопасности.
2. @MacTaylor — Пожалуйста, следуйте этому дизайну. Вы не хотите изменять таблицы вашей базы данных и переписывать ваше приложение каждый раз, когда вы добавляете новую программу.