【发布时间】:2019-03-22 21:01:06
【问题描述】:
我正在尝试为主题先决条件创建一个数据库,这是我当前的表。
“学生”
-----------------------
|studentID | FullName |
-----------------------
|1234 | John |
|1235 | Michael |
|1236 | Bryce |
“subject_bsit”
-----------------------------------------
|subject_id| subject_name | pre_id |
-----------------------------------------
| 1 | Programming 1 | NULL |
| 2 | Networking | NULL |
| 3 | Algorithm | NULL |
| 4 | Physical Educ | NULL |
| 5 | Programming 2 | 1 |
这是连接表的连接表 现在两个。
“学生主题”
------------------------------------------------
| student_id | subject_id | Grade | Enrolled |
------------------------------------------------
| 1235 | 1 | 0 | 0 |
| 1235 | 2 | 0 | 0 |
| 1235 | 3 | 0 | 0 |
| 1234 | 1 | 0 | 0 |
例如,如果 studentID 1235 仍然不采用正在编程的 subject_id 1 1 用户无法添加正在编程的 subject_id 5 2因为它是编程1的前提。
我不知道我的表格是否正确。如果它是正确的,我该如何设计该数据库,我不知道如何将先决条件与主题和学生 ID 联系起来,非常感谢。
【问题讨论】:
-
你的数据结构没问题。您只需要根据手头的确切任务进行正确的 JOIN。
-
您的数据结构看起来不错。您唯一需要做的就是在将记录添加到 student_subject 表之前,您需要检查是否存在先决科目的条目(如果适用)
-
@rohitshetty 如果用户 b 插入该行 而 用户 a 正在检查会发生什么
标签: mysql sql database vb.net phpmyadmin