Sql server SQL Server数据库表关系

Sql server SQL Server数据库表关系,sql-server,database,Sql Server,Database,我对SQL Server数据库中的表的关系有疑问。假设我正在开发一个关于学校的Windows窗体应用程序。我有四个表,分别是教师、学生、应用程序和班级,这四个表都有自己独特的主键。在我的班级表中,我有外键学生ID,这意味着我建立了这两个表之间的关系。现在老师、申请者和老师都离开了 以下是数据库关系图: 我想知道我是否应该做下面这样的事情。我将创建另一个名为allUser_detail的新表格,我喜欢这三个FK组合在一起,这样他们就有了关系 您对关系和外键的概念不清楚 一个教室由几个学生组成,一

我对SQL Server数据库中的表的关系有疑问。假设我正在开发一个关于学校的Windows窗体应用程序。我有四个表,分别是教师、学生、应用程序和班级,这四个表都有自己独特的主键。在我的班级表中,我有外键学生ID,这意味着我建立了这两个表之间的关系。现在老师、申请者和老师都离开了

以下是数据库关系图:

我想知道我是否应该做下面这样的事情。我将创建另一个名为allUser_detail的新表格,我喜欢这三个FK组合在一起,这样他们就有了关系


您对关系和外键的概念不清楚

一个教室由几个学生组成,一个学生只能在一个教室里


因此,您必须在Student表中指定列classId(反之亦然),并从该列向Class表分配一个外键,以将学生绑定到某个类。

问题是什么?你应该这样做吗?如果你需要,答案是肯定的!为什么不将教师详细信息链接到班级详细信息?@Daniel,这是因为在我的windows窗体应用程序中,我正试图按应用程序名(用作组合框)过滤教师和学生,正如我所说:),我的意思是,没关系,你有4个实体(班级、学生、应用程序和教师),现在你必须建立de关系:1个班级有N个学生?一个学生有N个班?一位老师上了N节课?等我认为这些是关系N个班级有N个学生1个老师,1个申请有1个班级,用简短的英语句子(或任何你喜欢的语言)写下所有关系。如果完成了,请检查是否可以在图表中找到它们。一位老师教几节课。一个学生上几节课。一个类使用一个或多个应用程序。那么您的意思是,在我的类详细信息中,我将使用studentId作为外键,在我的student详细信息表中,我将使用classId作为外键?这会是一个N对N的关系吗?不,你不需要一个学生ID,在一对多关系中,正确的方向是从包含多行的表到包含单行的表。因此,您必须在student_detail表中只指定classId,而不是在class_detail表中指定studentId.umm。我明白了,谢谢:)嗨,塞吉奥,我还有一个问题,现在如果我有老师和班级的关系,我说“一个老师可以教很多课”会怎么样。我的教师ID会作为外键放在我的课堂详细信息中吗?
http://code.tutsplus.com/articles/sql-for-beginners-part-3-database-relationships--net-8561
这是我从本网站了解到的