假设我们想将大学课程及其入学要求存储在数据库中。例如,BSc数学,BSc美术,MSc计算机科学等。
每门课程都有自己的一组要求,并且可能有不同数量的非共享要求。例如,要获得 BSc Maths 的资格,您可能需要数学 A 和物理 B。而 BSc Fine Art 可能需要 A in Art 并且用户有作品集。理学硕士的最低年龄可能为 25 岁等。
假设我们有一个学生,他有自己的一组属性。所以他们可能有数学 A 和物理 B 和化学 C 并且年满 19 岁。
我们如何构建我们的数据库,使其适合高效查找。给定学生的属性,我们如何检索他们有资格参加的所有课程?
在抽象层面上,我们正在寻找其需求是给定属性子集的所有项目。
我想在 MySQL 中实现它。架构可以是:
培训班
ID
姓名
要求
course_id
主题
年级
但是,当学生在科目 1 中获得 A、在科目 2 中获得 B 等时,如何查询表以获取所有符合条件的课程。
一个课程要成为一个比赛,它的每一个要求都必须得到满足。
在此先感谢,我希望我的解释不会太混乱。