SQLite数据库

时间:2017-05-10 05:13:37

标签: android sqlite many-to-many junction-table

好吧,我正在尝试构建一个允许教师和学生之间交换消息的应用程序。我需要构建一个ContentProvider类,但我遇到了如何表示InstructorStudent类之间的多对多关系的问题,以及它的问题。比问题更困惑。

我知道我需要创建一个联结表,例如:

CREATE TABLE InstructorStudent (
Student INTEGER REFERENCES Student (student_id),
Instructor INTEGER REFERENCES Instructor (instructor_id),
PRIMARY KEY (student_id, instructor_id))

但是,我有一个问题:如果我将联结表的主键作为一个自动递增的简单整数,它被认为是一种不好的做法吗?

额外问题

如何检索特定教师的学生列表,反之亦然?

1 个答案:

答案 0 :(得分:2)

我认为你不需要连接表的自动增量器。只要教师ID和学生ID都是唯一的,你就可以了。

  

如何检索特定教师的学生列表,反之亦然?

假设您的学生表格为tbl_student

以下是我将如何编写查询。

select * from junctionStudentConstructor where InstructorStudent.Instructor = insid;

将insid替换为教师ID。