Как построить схему базы данных с переменным числом адресов ma c в качестве значения ключа - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь выяснить, как создать базу данных, состоящую из полей, взятых из документа XML, который является лицензией для нашего программного обеспечения. Это отечественное решение, которое в конечном итоге будет заменено коммерческим продуктом, но сейчас оно нам нужно для отслеживания. Это действительно просто знать клиента, контактный адрес электронной почты, сколько систем, срок действия, авторизованные функции и т. Д. c. Это для неформальной отчетности.

Если это RDB, уникальным идентификатором лицензии будут адреса MA C. Тем не менее, может быть один или несколько из них. Лицензия может быть переиздана с большим или меньшим количеством адресов MA C, чем исходная лицензия. Предполагается, что один из адресов MA C будет одинаковым в случае повторного выпуска - фактически, это будет определение повторного выпуска.

Если реализовано как RDB, я бы создал таблицу «многие ко многим», которая соединяет каждую MA C с идентификатором таблицы лицензий, которая содержит другие поля в лицензии, такие как электронная почта, срок действия дата, разрешения и пр. c.

Таким образом, всего будет три таблицы:

Таблица 1 - mac_addresses

id

ma c адрес (уникальный)

Таблица 2 license_info

имя

электронная почта

имя_компании

company_id

num_systems

дата истечения срока действия

function_a (y / n)

function-b (y / n) ... et c.

Таблица 3 - mac_to_licenses

mac_id

license_id

Другим вариантом будет использование базы данных No SQL, такой как MongoDB. Я думаю, что это может быть проще и проще - просто скопируйте лицензии (XML файлы) в базу данных и используйте запрос Mon go для поиска данных. По крайней мере, для начала.

Какой вариант звучит более разумно? Я склоняюсь к тому, чтобы попробовать MongoDB, хотя я открыт для любых предложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...