在以下情况下,我正在寻找最佳的数据库解决方案。
请考虑我有一个父表[P1],该表具有列[ID |学生证| StudentName]和从P1派生的多个子表,假设C1,C2,C3 ... [增长],其中每个表的组合主键都是[StudentID,ReportingDate]以及该表各自的其他事实数据。
我有一个用例,如果给定了StudentID,我需要一个给定键的所有表的记录列表,格式为[表名|学生证| ReportingDate]。
示例输入:
搜索STD1
示例输出:
Table Name| Searched Key | ReportingDate
C1 | STD1 | Date1
C3 | STD1 | Date1
C1 | STD1 | Date2
子表是在不同日期根据StudentID生成的不同报告,并且会不断增长。
我无法加入越来越多的Child桌子。可以说我有30-40个子表。
我们对此有解决方案吗?
答案 0 :(得分:0)
更多数据一定不能导致更多表,而要导致数据库中更多行。
也就是说,您可能应该有一个学生和一个student_report表。然后将一些列添加到student_report_table中,以便能够反映不同的报告。最简单的形式就是唯一的报告类型: