这是情况:-
我有一个名为“用户”的表。由于所需的大多数数据都是相同的,因此它包含学生和导师的用户数据。
完成该系统后,现在我被告知客户希望能够将学生分配给导师。
是否可以通过链接表在单个表内创建一对多关系的合法/干净方法?
我已经尝试过了,但是我想出的任何解决方案似乎都很混乱。
我将不胜感激。
谢谢
菲尔
最佳答案
您是否尝试过以下方法?
新建一个表,例如TutorStudent
(如果需要,请选择一个更合适的名称)。它应该有两列:
Tutor_ID
Student_ID
两列均应为(复合)主键,每列均应为
Users
表User_ID
的外键(我想这就是您的全部)。因此,如果您有一位名叫牛顿的老师,有两个学生,特斯拉和爱迪生,那么您的
Users
表将具有以下内容:并且您的
TutorStudent
表将具有以下值:比较简单,不需要对现有表进行任何修改。
删除用户时要当心-使用数据库系统的删除级联功能或事后进行一些维护工作,以便在更新/删除用户时
TutorStudent
表不会过时。关于sql - 在同一张 table 上一对多的关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25501698/