我正在写一个控制学校的程序 . 它更像是会员订阅模式 . 学生申请课程,并且必须按照学校日历定义的特定时间的其余时间按月支付费用 .
根据每个案例,某些特定学生可以减少题字或月费 . 一旦学生订阅课程,它将是经常性付款,学生可以进行部分付款 . 此外,学生可以退出,永远不会回来 .
我带来了像 table 这样的东西:
STUDENT
+id
+name
COURSE
+id
+name
+inscription_fee
+monthly_fee
SCHEDULED_PAYMENTS
+id
+student_id
+description
+amount
-LEDGER
+id
+student_id
+course_id
+amount
但是当我想知道学生支付了什么,月费是否到期等时,我最终得到了长时间复杂的查询 .
所以我想问,这是设计付款数据库的正确方法吗?或者,还有更好的方法?
2 回答
我想你需要的只是你的学生桌和你的课程表,然后是两者之间的链接表,以显示哪个学生正在学习什么课程
学生证,姓名
课程ID,姓名,费用,monthly_fee
Student_course Student_id Course_id
然后
然后,您每个 class 都有月费和费用
我将分类帐和预定付款作为1个表格 . 付款到期时,如果付款,则将其标记为已付款 . 但正如@Marrgall指出的那样,确实没有正确的方法可以做到这一点,并且你在现场找到了很多复杂的问题 . 所以你也可以习惯它 .