许可证模板 mysql table

License template mysql table

我必须开发一个软件清单(使用 php 和 mysql)并且我正在计划数据 model/design。问题是每个软件供应商都有不同的许可证类型,具有不同的字段,因此它不像创建 "licenses" table 那样简单。

到目前为止,我最好的解决方案是创建一个 "licenses" table 和一个 "templates" table,其中每个都有大约 10 列,从 1 到 10 命名。许可证 table 保存数据,模板 table 保存该数据的字段名称列。

有没有更好的实现方式?

如果序列化不是一个选项,那么另一个选项是键值设计:

Table: LicenceAttributes

LicenceID | FieldName     | FieldValue
1         | numberofusers | 5
1         | cost          | 999
2         | somethingelse | blah

与序列化一样,只有在所有许可证中的字段真正不同的情况下,这才是合适的设计。