我正在客户的网站上工作,他使用MySQL作为数据库,我只想确认他的数据库设计有问题。他的网站的目的是让客户可以收到“证书”。可以为程序和范围的组合颁发证书。因此,当他的申请人申请证书时,该认证适用于特定的计划和范围组合。
他有一个名为'scopes'的表它也可以称为'program_scope_combos'里面是所有的程序和范围组合,它看起来像这样:
id - program_name - scope_name
1 - DEF - crops
2 - DEF - livestock
3 - ABC - crops
4 - ABC - plants
5 - XYZ - plants
有人可以指出这个是否违反了规范化数据库的规则?
除此之外,还有一个表格,它只列出程序,但看起来很正常。
'programs' table
id - name - abbreviation
我向他建议如下:
'applications' table
id - client_id - program_id - scope_id - created_at
'certificates' table
id - name - application_id - status - created_at
'programs' table
id - name - abbreviation
'scopes' table
id - name - abbreviation
关于此数据库的一些注意事项。还有一个客户表。客户端可以有许多应用程序。非常感谢。