数据库表之间的关系

时间:2016-07-11 13:56:44

标签: sql-server

我有一个像这样的现有数据库模式。有一种方法可以在这两个表之间创建任何类型的引用完整性。究竟是什么样的关系?只有两个班级是不是很多人

Student表:

ID    Name     CourseID
------------------------
 1    Student1     100023
 2    Student2     100023
 3    Student3     100024  
 4    Student4     NULL  

Course表:

ID   CourseID   CourseName
--------------------------
 1   100023      Course1  
 2   100022      Course2  
 3   100024      Course3  
 4   100023      Course6  

ID是两个表中的主键。 CourseID是关系的列。

2 个答案:

答案 0 :(得分:0)

当然。您可以在Student.CourseID和Course.CourseID之间创建外键约束。您可以直接通过SQL Server Management Studio或使用ALTER TABLE / ADD CONSTRAINT语句来执行此操作。就个人而言,我发现管理工作室最容易使用。

搜索" SQL外键约束"你应该找到一个W3Schools(或类似的东西)来解释你开始使用它们时需要知道的一切。

答案 1 :(得分:0)

查看您所描述的表并假设CourseID在课程表中是唯一的,它与学生和课程之间的多对一/零关系

或者可以说课程和学生表之间的零/一对多关系。

但我觉得这不是一个好的设计它应该有三个tbales

课程表

学生表

课程和学生的桥牌表