mysql - N :N relationship without permission to create auxiliary table的解决方案

标签 mysql sql sql-server-2008 sql-server-2005

<分区>

我接受了一个问题的面试,我不确定面试官是想迷惑我还是他是认真的。

问题是,我们有一个Student 表:

Student
ID, Name

和一个类(class)表:

Course
ID, Name

现在我想要的是在 N-N 关系中映射类(class)与学生。

我创建了一个新表StudentCourseRelationship

 StudentCourseRelationShip
 ID    StudentID    CourseID

他回答说我们没有创建新表的权限,我问我们可以添加一个新列吗,他说可以。

所以我回答他,这不是推荐的方法,但您可以在 CourseStudent 表中添加一列,并在其中放置逗号分隔值。

喜欢

Student 
ID  Name
1   abc
2   def
3   ghi
4   hij
5   jkl

Course 
ID  Name      StudentIDs
 1  English   1,3,4
 2  Maths     3,5
 3  Geography 1,2,4

他说好吧,告诉我第三个解决方案。 我卡在那里,他没有告诉我第三种解决方案,但我很好奇,是否存在任何第三种解决方案,因为最后当他说你想问点什么时,我说是的,我想知道第三种解决方案,他说,还有第三种解决方案,去寻找吧。

最佳答案

从技术上讲,一个解决方案可能是在两个表中都存储一个列表(以便在两个方向上更快地检索)。

跳出框框思考,我会说请 DBA 为您创建表也是一个解决方案 :o)

关于mysql - N :N relationship without permission to create auxiliary table的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16706440/

相关文章:

sql-server - 如何增加在 Microsoft SQL Server 2005/2008 中使用 msdb.dbo.sp_send_dbmail 发送的电子邮件允许的最大附件大小

python - 如何实现 Django 'UserCreationForm' 从现有 mysql 数据库检查用户?

php - 使用 PHP/PDO 将 future 10 分钟添加到 MySQL 数据库中

sql - 在azure虚拟机上运行的sql server web版上的Reporting服务可以使用azure数据库作为数据源吗?

sql - 更新和替换字符串的一部分

mysql - 如何将 MS SQL Server 表导入 mysql?

MySQL - 计算值与存储在字段中

MySQL 字段分隔符 - ASCII、Unicode

c# - 将连接字符串与后端代码分离

sql - 从 sql ce 数据库中删除所有表