我为不好的主题标题表示歉意,因为我有点不知该怎么办。
首先,这是我的数据库表设计,在继续之前,我也希望获得某种反馈:
我正在尝试制作一个注册Web应用程序。
科目
subject
[id] [subj] [professor] [cstart] [cend] [days] [count] [units]
1 comalgo carl 10:00am 12:30pm M-W 40 3.0
2 compasm carl 01:00pm 02:30pm T-TH 40 3.0
3 compro miguel 04:30pm 06:30pm M-W 35 3.0
4 pro5 fua 03:30pm 05:30pm T-TH 30 3.0
5 pro5 fua 06:30pm 08:30pm F 10 3.0
学生们
students
[id] [fname] [lname] [bday] [unitsleft] [unitstaken] [major]
1 carlos doe 11/20/1990 100 0 BS-COMPUTER SCIENCE
2 miguel doe 08/15/1992 100 0 BS-ECONOMY
3 carl doe 12/12/1991 100 0 BS-PSYCHOLOGY
4 test doe 02/12/1992 100 0 BS-LITERATURE
我打算做的是,这些科目将通过一系列列表显示,而学生将选择多个科目并报名。总注册单元数不应大于20且小于11。我已经实现了该部分,并且我现在正在存储选定的主题。
这是我建议的解决方案,我想收到一些有关它以及应该使用哪种操作的反馈。
我将为所有已注册科目提供一个集中表
报名科目
selected subject
[id] [subjid] [studentid] [status]
1 1 1 P //comalgo enrolled by carlos, P is for pending grade
2 1 2 P //comalgo enrolled by miguel P is for pending grade
3 2 1 P //compasm enrolled by carlos P is for pending grade
我计划发生的事情是:我有一个针对学生的个人资料页面,他们将能够查看/编辑当前为自己专门注册的主题(基于ID)
我希望为他们提供以下表格标题,这些标题基于已注册的主题:
[subj] [professor] [cstart] [cend] [days]
以下是我的问题的简短摘要:
1.)我的桌子好吗?还是设计不好?
2.)我应该使用哪种方法?我正在尝试研究(加入),但是我有点困惑,需要澄清。我想向用户展示他们选择的主题。
编辑:我认为我可以做类似的事情..从
enrolled subjects
中选择id = x,然后得到subject id
,但是我不确定这是否有效。 最佳答案
您的表格看起来不错(即第三种标准形式)。进行内部联接
SELECT
B.subj, B.professor, B.cstart, B.cend, B.days
FROM
selectedsubjects A
INNER JOIN subjects B ON A.subjid = B.id
WHERE
A.studentid = 1
ps。这看起来像是学校的作业还是书本之外的东西?
关于mysql - 我应该使用哪种联接? [EF4.0代码优先],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32406101/